MCP服务器集群管理工具

一个独立的Go服务器,用于动态管理MCP服务器进程池,提供自动扩展、请求队列、健康监控和警报功能。

  • by SpideXD
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 SpideXD/mcp-swarm

使用说明

MCP Swarm v1

具有自动扩展、请求队列、健康监控和警报功能的动态MCP服务器编排。

一个独立的Go服务器,管理MCP(模型上下文协议)服务器进程池——按需生成它们,通过轮询负载平衡路由工具调用,并根据队列深度自动扩展。代理通过HTTP SSE会话连接,通过标准MCP JSON-RPC协议访问工具。

建筑学

main.go        Entry point — config, DB init, HTTP server, graceful shutdown
manager.go     Core orchestrator — pool management, health checks, scaling, GC
server.go      HTTP server — SSE connect, JSON-RPC routing, management tools
queue.go       Per-server FIFO queue with round-robin instance routing
spawn.go       Transport-specific process spawning (STDIO, SSE, HTTP)
config.go      Environment-driven configuration with validation
db.go          SQLite persistence for dynamic server configs
search.go      Parallel MCP registry search (official, npm, Smithery)
alerts.go      Webhook alerting for connect/disconnect/health events
pids.go        PID file tracking for orphan process recovery
logger/        Structured JSON logging with rotation (lumberjack)
metrics/       Atomic counters, EWMA rates, histograms, timers
worker/        Generic goroutine pool with panic recovery + auto-restart

主要特点

  • 动态服务器注册 --通过管理工具在运行时添加/删除MCP服务器
  • 自动缩放 --队列深度驱动的扩展,空闲终止扩展和冷却
  • 健康监测 --具有自动重新连接功能的每实例健康检查
  • 请求排队 --具有轮询负载平衡的每服务器FIFO队列
  • 状态隔离 --有状态服务器的每个代理隔离实例
  • 参考计数GC --基于冷启动时间的自适应TTL,休眠再生
  • 代理访问控制 --无限制(所有工具+管理)与限制模式
  • 注册表搜索 --跨3个MCP注册表的并行搜索

管理工具

工具 说明
search_registry 在MCP注册表中搜索可用服务器
add_server 在运行时注册新的MCP服务器
remove_server 删除具有软引用计数删除的服务器
list_servers 列出所有正在运行的服务器及其状态和实例计数
tool_detail 获取特定工具的完整模式(支持批处理数组)

快速开始

cp .env.example .env
# edit .env with your configuration (see docs/deployment.md)
go build -o bin/mcp-swarm .
./bin/mcp-swarm

配置

看 .env.example 对于所有变量。关键问题:

变量 默认值 用途
SWARM_PORT 3100 HTTP侦听端口
SWARM_HOST 127.0.0.1 绑定地址
SWARM_AUTH_TOKEN (无) 管理工具的承载令牌
MAX_SERVER_INSTANCES 4 每个池的最大实例数
MIN_POOL_SIZE 2 最小温暖实例

文档

  • 建筑学 --流程模型、请求流、生命周期状态机
  • 部署 --systemd、Docker、健康检查、警报
  • 发展 --bug历史、测试套件、添加工具
  • 动态生命周期 --参考计数GC、自适应TTL、休眠状态

许可证

麻省理工学院——见 许可证