Switchboard MCP 服务器

使用说明(Markdown 格式)

项目简介

  • Switchboard 作为一个成熟的 MCP 服务器实现,提供一个统一入口 /mcp,聚合多种集成的工具能力,能够在同一个 MCP 端点上注册、发现、执行工具,并提供会话与健康状态管理。它还包含基于 Go 的实现、工具路由、配置管理以及面向开发者的 Web UI,用以直观管理集成凭据与工具。

主要功能点

  • 统一 MCP 端点:提供 /mcp HTTP/JSON-RPC 服务,用于工具搜索、执行、以及脚本化调用。
  • 集成注册与执行:通过 Registry 注册多种集成(GitHub、Datadog、Linear、Sentry、Slack、Metabase、Postgres、ClickHouse 等),每个集成暴露一组 ToolDefinition,可被搜索与执行。
  • 工具搜索与执行脚本:实现 search 与 execute 两大 MCP 工具,支持逐条执行、脚本串联调用多工具、以及跨集成调用。
  • 脚本引擎:内置 JavaScript 引擎,支持通过 api.call 调用整合的工具,返回解析后的 JSON 结果,并收集控制台日志。
  • 场景化路由:支持按项目上下文动态构建 MCP 服务器(ProjectRouter),实现工具的作用域和默认参数注入。
  • 配置与 UI:提供 Web UI,便捷地管理集成、凭据、Token、OAuth 流程等,并具健康检查缓存机制。
  • 配置管理与默认值:配置服务(基于本地 JSON 文件)提供加载、保存、更新、默认凭据键等能力,确保未配置集成也能保持可用性。
  • 安全与健壮性:实现只读事务、结果大小限制、错误传递、以及对无效输入的严格校验。

安装与运行

  • 构建与运行
    • 直接从源码构建并运行服务端程序,默认监听 HTTP MCP 端点 http://localhost:3847/mcp。
    • 可以通过命令行参数切换传输模式、端口与版本等,例如开启 STDIO 模式以 Cursor/Claude Desktop 场景对接,或使用默认 HTTP 服务。
  • Web UI 与集成配置
    • 通过浏览器打开 http://localhost:3847 访问配置界面,管理各集成的凭据与可用工具。
  • 运行前置条件
    • 需要 Go 语言环境及网络访问权限以连接各集成的上游 API。
    • 各集成的凭据需在 Web UI 或配置文件中正确配置,确保工具定义可被正确执行。

服务器配置与客户端接入

  • MCP 客户端需要的最小配置(示例说明)
    • 服务器名称:switchboard
    • 启动命令:switchboard
    • 参数(可选):--port 3847、--stdio(若使用 STDIO 模式)
    • MCP 客户端无需包含具体服务器实现代码,仅需在客户端配置中指向上述 MCP 端点(/mcp)。
    • 配置示例(供理解,非代码块呈现,JSON 形式): { "mcpServers": { "switchboard": { "command": "switchboard", "args": [] } // 说明:若使用 STDI/O 传输,切换运行模式即可 } // 备注:实际客户端配置可在 MCP 客户端 UI 或说明文档中以 JSON 配置形式呈现 }

基本使用

  • 如何发现工具
    • 使用服务器提供的 search 工具在 MCP 客户端查询可用工具的名称、描述、参数和所属集成信息。
  • 如何执行工具
    • 直接指定 tool_name 与参数执行单个工具,或使用脚本执行多工具串联调用以减少来回往返。
  • 如何获取结果
    • 工具执行返回的结果为 JSON 字符串,客户端可直接将其作为上下文或后续处理的输入。
  • 监控与健康
    • 服务器提供健康状态缓存,前端 UI 可以查看各集成的健康状况与最近的检查时间。

关键词 资源管理, 工具集成, 脚本化调用, 上下文优化, Web UI 配置

分类ID 1

服务器信息