本地MCP网关

本地MCP网关是一个将本地能力暴露为标准MCP SSE和Streamable HTTP端点的服务,使其他MCP客户端可以通过一个网关调用这些能力。

  • by aiguicai
  • Rust
  • 云端部署
  • 156 星标
  • 更新于
在 GitHub 查看 510myRday/MCP-Gateway

使用说明

本地MCP网关

英语 | 中文

本地MCP网关是MCP客户端的本地网关。

它将本地功能作为标准MCP公开 SSE 和 Streamable HTTP 端点,因此其他MCP客户端可以通过一个网关调用它们。在上游,网关可以连接到普通的stdio MCP服务器、自定义技能、捆绑工具和桌面/浏览器自动化工具。

在实践中,它将本地机器变成了一个可控的MCP工具中心:客户端可以调用工具来读取文件、编辑文件、运行命令、操作浏览器或使用自己的Skill工作流,同时将配置、身份验证、路径保护和批准保存在一个UI中。

它的作用

  • 通过以下方式公开MCP服务 SSE 和 Streamable HTTP
  • 将本地stdio MCP服务器转换为其他客户端可以使用的端点
  • 从一个UI管理多个MCP服务
  • 为外部技能和捆绑技能提供固定的MCP端点
  • 包括内置工具,如文件读取、命令执行、多文件编辑、浏览器控制和适配器调试
  • 提供一个AI适配器,从AI编码工具(OpenAI/Anthropic协议)中获取工具定义,并将其作为MCP工具发布
  • 支持路径分配列表、命令策略、执行限制和手动审批
  • 保持技能使用标记轻:技能由小 SKILL.md 文档,仅在客户选择使用时才展开

端点形状

对于名为的已配置MCP服务器 <serverName>:

SSE:  http://<listenAddress>/api/v2/sse/<serverName>
HTTP: http://<listenAddress>/api/v2/mcp/<serverName>

技能终点是固定的:

External Skills: /api/v2/sse/__skills__
External Skills: /api/v2/mcp/__skills__
Bundled Skills:  /api/v2/sse/__builtin_skills__
Bundled Skills:  /api/v2/mcp/__builtin_skills__

AI适配器UI为BYOK风格的AI编码工具复制了一个用户友好的OpenAI/Anthropic兼容的Base URL:

Base URL: http://<listenAddress>/api/v2/ai/v1

后端规范AI适配器基本路径保持不变 /api/v2/ai。客户端可以调用这些规范协议端点:

List models:  GET  /api/v2/ai/v1/models
Chat:         POST /api/v2/ai/v1/chat/completions
Responses:    POST /api/v2/ai/v1/responses
Messages:     POST /api/v2/ai/v1/messages
Token Count:  POST /api/v2/ai/v1/messages/count_tokens
Health:       GET  /api/v2/ai/health

对于自动追加另一个的客户端 /v1 对于复制的基本URL,后端也接受兼容的 /api/v2/ai/v1/v1/... 路径,包括模型、聊天完成、响应、人类消息和令牌计数。Claude Code用户不需要删除 /v1 从UI复制的基本URL。

如果 MCP Token 如果已配置,客户端应发送:

Authorization: Bearer <your_mcp_token>

典型用途

  1. 打开应用程序并设置监听地址,例如 127.0.0.1:8765.
  2. 添加本地MCP服务器,如文件系统或Playwright stdio服务器。
  3. 启用捆绑工具或添加外部技能目录。
  4. 配置允许的目录和命令确认规则。
  5. 启动网关。
  6. 复制生成的 SSE 或 HTTP 将端点插入MCP客户端。

示例端点:

http://127.0.0.1:8765/api/v2/sse/playwright

技能和内置工具

网关可以暴露两种Skill MCP服务器:

  • __skills__:从您添加的目录中发现的技能。每个技能都有一个支持 SKILL.md.
  • __builtin_skills__:网关附带的捆绑实用工具。

捆绑工具目前包括:

  • read_file
  • shell_command
  • multi_edit_file
  • task-planning
  • chrome-cdp
  • chat-plus-adapter-debugger (特定业务)
  • officecli
  • codegraph

chat-plus-adapter-debugger 针对Chat Plus适配器工作流程;对于通用代理,请勿使用。

这使得在普通MCP客户端之上构建类似代理的工作流成为可能:检查项目、阅读文档、编辑代码、运行命令、测试行为和控制浏览器,同时仍然通过MCP路由所有内容。

AI适配器(BYOK)

AI适配器接受来自支持自定义API端点(OpenAI或Anthropic协议)的AI编码工具的传入连接。当工具连接时,它会在请求中发送其工具定义。网关提取这些工具,将它们注册为MCP工具,并通过专用的MCP端点公开它们——这样MCP客户端就可以调用AI工具声明的工具。

它是如何工作的:

  1. 在UI中启用AI适配器切换。
  2. 添加一个或多个API密钥(或保留为空以接受所有连接)。
  3. 复制基本URL并在AI编码工具中将其配置为API端点。
  4. 该工具发送一个请求——网关提取系统提示和工具定义,然后为该会话创建一个MCP服务器端点。
  5. 将您的MCP客户端连接到会话的MCP端点以调用这些工具。

要点:

  • 网关不运行任何AI模型。它从AI工具中获取工具定义,并将其作为MCP工具发布。
  • 任何模型名称都被接受——网关从不验证它。
  • 每个连接都会创建一个会话,在UI中可见协议信息、工具列表和实时切换控件。
  • 支持三种协议:OpenAI聊天完成、OpenAI响应和人类消息。

安全

一些技能和内置工具可以执行命令、编辑文件或控制本地应用程序。使用 Admin Token 和 MCP Token 在您自己的机器之外暴露网关时,请在启用高风险工具之前配置允许的目录、确认规则和执行限制。

您对您批准的命令和工具的后果负责。