Switchboard

使用说明

  • 项目简介 Switchboard 是一个用 Go 实现的 MCP 服务器,提供一个统一的 MCP 端点来托管和管理各类集成工具(Resources/Tools/Prompts),并附带一个网页 UI 方便对接配置。它支持通过 HTTP(默认 3847 端口)与 LLM 客户端交互,亦可通过标准输入输出(stdio)等传输方式运行,具备会话管理、能力声明、以及对多协议传输的支持能力。

  • 主要功能点

    • 资源与数据访问:作为 MCP 服务器核心,托管并暴露集成的资源与数据访问能力。
    • 工具注册与执行:各集成工具定义可被 LLM 调用,支持逐步发现与执行工具,含单个工具执行和脚本式多工具链执行。
    • Prompt 模板定义与渲染:通过模板机制渲染与返回提示模板内容,便于控制模型对话上下文。
    • 集成适配与路由:聚合 GitHub、Datadog、Slack、Sentry、Metabase、PostgreSQL、ClickHouse、Gmail、GCP 等多种外部系统的工具并进行路由执行。
    • 场景化管理与网页 UI:提供网页 UI,允许在浏览器中配置集成凭据、启用状态、以及查看工具清单、健康状态等。
    • 安全与对齐:支持对返回的工具结果进行字段压缩/精简、字节大小控制、以及对跨集成脚本执行的管控。
  • 安装步骤

    • 直接使用 Go 构建并运行:
      • 克隆仓库:git clone https://github.com/daltoniam/switchboard.git
      • 进入目录并构建:go build -o switchboard ./cmd/server
      • 运行:./switchboard
    • 运行选项(可选):
      • 启用 stdio传输模式(与 Cursor/Claude Desktop 等客户端直接对接): 启动时传入 --stdio
      • 修改端口:switchboard --port 8080
      • 查看版本:switchboard --version
    • 运行后入口
      • MCP 服务端点:http://localhost:3847/mcp
      • Web UI:http://localhost:3847
      • 如使用多种部署/服务管理场景,仓库提供了 daemon/服务化部署支持。
  • 服务器配置(给 MCP 客户端的配置信息) 该 MCP 服务器对客户端暴露一个可配置的 MCP 端点,客户端需要在其配置中添加以下信息以连接 Switchboard: { "mcpServers": { "switchboard": { "command": "switchboard", "args": [] } // 如需多实例,可按需追加 } } 说明:

    • serverName: switchboard
    • command: 启动服务的可执行文件名,此处为 switchboard(或系统服务名)
    • args: 启动参数,默认空。若需要禁用 HTTP,改用 stdio 等传输模式,请在启动参数中配置对应选项(详见文档/代码注释)。 注:上述配置仅用于 MCP 客户端的连接描述,Switchboard 作为服务器端会对接入的集成进行身份验证、健康检测与工具执行等操作,真实业务凭证需在网页 UI 中的集成配置里填写并保存。
  • 基本使用方法

    1. 启动服务器并打开网页 UI,按界面提示为各集成配置凭据(如 GitHub 令牌、Datadog API Key、Slack OAuth 等)。
    2. 使用 MCP 客户端连接到 Switchboard 的 /mcp 接口,通过搜索工具发现可用工具,然后按需求执行单个工具或组合脚本(script 模式)。
    3. 如遇到权限/健康问题,可通过界面查看集成健康状态,必要时调整集成启用状态。
    4. 通过 /mcp/{project} 路径可使用项目级 MCP 端点,实现对特定项目的工具作用域与上下文控制。
    5. 如需要本地调试、stdio 模式可通过 switchboard --stdio 启动,适合 Cursor/Claude Desktop 等桌面客户端。

服务器信息