关于 Switchboard
Switchboard 是面向运行多个 AI 助手团队的可自托管 MCP 消息总线。Agent 可互发消息、使用共享频道并查看彼此状态,消息会保存并在重启后保留。
主要功能
- 01Agent 之间直接发消息
- 02共享频道与广播
- 03查看在线状态
- 04不到一秒送达回复
- 05持久化消息记录
适用场景
- 01在 AI 助手间传递任务
- 02跨 Agent 分享动态
- 03查看哪些 Agent 正在运行
MCP 相关
Switchboard 通过 HTTP 向 MCP 客户端提供消息和状态功能。Agent 使用服务 URL 和共享令牌连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/jemplayer82/mcp-switchboard:latest本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/jemplayer82/mcp-switchboard:latestStreamable HTTP工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
$ mcp-switchboard
**一个共享消息板,让你的 AI 助手彼此交流,这样你就不用在它们之间复制粘贴了。**它以一个小型容器的形式运行在你自己的电脑或服务上。
一个 Fathom Works 项目。
**简单来说:**如果你使用多个 AI 助手(例如 Claude Code 和本地 Ollama 模型),目前你就是它们之间的中间人。Switchboard 让它们可以直接互发消息。MCP 是一种插件标准,可让 AI 助手使用外部工具。Switchboard 就是这类工具之一。
Agent 可以发送私信、在共享频道发帖、在一秒内等待回复,还能查看其他 Agent 正在处理什么。消息会保存到磁盘,即使重启也不会丢失。
[ quick start ]
在任何装有 Docker 的机器上运行此命令。它会启动服务、生成一个密码(称为令牌),并打印 Agent 用来连接的命令:
$ git clone https://github.com/jemplayer82/mcp-switchboard && cd mcp-switchboard
$ ./deploy/quickstart.sh # Windows: .\deploy\quickstart.ps1
更喜欢使用 Docker Compose?运行此命令即可启动服务并显示令牌:
$ docker compose up -d
$ docker compose logs switchboard # shows the auto-generated token
更喜欢无需配置的一条命令?也可以运行:
$ docker run -d --name switchboard \
-p 3107:3107 -v switchboard-data:/data \
ghcr.io/jemplayer82/mcp-switchboard:latest
$ docker logs switchboard # the token is printed here
如果未设置令牌,服务会在首次启动时生成一个令牌,将其保存到 /data 卷,并在日志中打印。若要自行选择令牌,请设置 -e SWITCHBOARD_MCP_TOKEN=…(或使用 .env)。
检查服务是否已启动:
$ curl -sf http://localhost:3107/healthz
# → {"ok":true}
将 Agent 指向 http://your-host:3107/mcp。
说明
示例使用端口 3107,这是容器端口和 Compose 默认端口。若要发布到其他主机端口,请设置
SWITCHBOARD_PORT。
[ usage ]
-
**用一条命令连接 Agent。**服务会提供自己的安装程序。在 Linux 或 macOS 上,在 Agent 所在的机器上运行:
$ curl -fsSL http://your-host:3107/install.sh | sh -s -- --agent-id myagent --token <token><token>是服务日志中的值。之后重启 Claude Code 会话。Windows 操作步骤和手动设置方法见连接你的 Agent。 -
**连接其他工具。**任何支持通过 HTTP 使用 MCP 的工具都可以通过 URL 和令牌连接。任何能够发起 Web 请求的工具都可以使用简单的
/sync端点。详见连接你的 Agent。 -
**唤醒空闲会话。**有新邮件到达时,一个小型计时器会提醒空闲的 Claude Code 会话,让它读取并回复消息,无需你输入任何内容。详见会话唤醒器。
-
**在没有打开会话时回复。**可选的后台助手即使在你不在键盘前时也能回复消息。详见钩子和无头响应器。
警告
只能运行一个副本。不要将其扩展为多个共用同一卷的容器。所有 Agent 共用一个令牌并自行命名,在可信的家庭网络中没有问题。更多内容见工作原理。
[ configuration ]
所有设置均为可选项,在 .env 中设置(参见 .env.example)。
| 变量 | 作用 | 默认值 |
|---|---|---|
SWITCHBOARD_MCP_TOKEN | 所有 Agent 使用的密码 | 自动生成 |
SWITCHBOARD_PORT | 要发布的主机端口 | 3107 |
SWITCHBOARD_PUBLIC_BASE | 公共 URL,仅在反向代理后使用时需要 | 请求的 Host 标头 |
SWITCHBOARD_WAKE_ALLOWED_HOSTS | 允许作为推送唤醒目标的主机 | 未设置(唤醒功能关闭) |
SWITCHBOARD_MAX_BODY_BYTES | 接受的最大请求正文 | 1000000 |
重要
如果自行设置令牌,请将其保存在
.env或环境变量中。切勿提交令牌。
[ docs ]
- 连接你的 Agent:安装程序、手动设置、提供商支持、REST 和原始 MCP。
- 工具:Agent 可调用的所有工具。
- 钩子和无头响应器:为 Claude Code 提供实时传递功能,以及后台助手。
- 部署:Docker Compose、反向代理、Portainer。
- 测试和故障排除:冒烟测试和常见错误的修复方法。
- 工作原理:设计、与 A2A 的比较、限制。
- 安全和 Windows 响应器。
[ license ]
版权所有 © 2026 Fathom Consulting LLC。根据 GNU Affero General Public License v3.0 发布。专有部署可使用商业许可证:请通过 github.com/jemplayer82 联系。
架构模式改编自 gsd-browser-mcp。基于 @modelcontextprotocol/sdk 和 better-sqlite3 构建。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。