mcpField
M
MCP Proxy Server

MCP Proxy Server

本地服务
github.com/adamwattis开发工具20291 周前更新

关于 MCP Proxy Server

MCP Proxy Server 将多个 MCP 资源服务器汇聚到统一接口,供需要集中访问多服务器能力的客户端使用。它统一转发资源、工具和提示词请求,并汇总响应。

主要功能

  1. 01连接并管理多个 MCP 服务
  2. 02汇总各服务器资源
  3. 03统一资源 URI 方案
  4. 04路由工具调用与提示词请求
  5. 05汇总多源响应

适用场景

  1. 01通过单一接口访问多个 MCP 服务
  2. 02将请求转发到对应后端
  3. 03集中获取不同服务器的资源与提示词

MCP 相关

该 MCP 服务连接多个 MCP 资源服务器,并向 MCP 客户端统一暴露其资源、工具和提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Proxy 服务

一个 MCP 代理服务,可通过单一接口聚合并提供多个 MCP 资源服务。此服务充当中央枢纽,可以:

  • 连接并管理多个 MCP 资源服务
  • 通过统一接口提供它们合并后的功能
  • 将请求路由到相应的后端服务
  • 聚合来自多个来源的响应

功能

资源管理
  • 发现并连接多个 MCP 资源服务
  • 聚合所有已连接服务的资源
  • 在各服务之间保持一致的 URI 方案
  • 处理资源路由和解析
工具聚合
  • 提供所有已连接服务的工具
  • 将工具调用路由到相应的后端服务
  • 维护工具状态并处理响应
提示词处理
  • 聚合所有已连接服务的提示词
  • 将提示词请求路由到相应的后端服务
  • 处理来自多个服务的提示词响应

配置

此服务需要一个 JSON 配置文件,用于指定要连接的 MCP 服务。复制示例配置并根据需要进行修改:

cp config.example.json config.json

配置文件结构示例:

{
  "servers": [
    {
      "name": "Server 1",
      "transport": {
        "command": "/path/to/server1/build/index.js"
      }
    },
    {
      "name": "Server 2",
      "transport": {
        "command": "server2-command",
        "args": ["--option1", "value1"],
        "env": ["SECRET_API_KEY"]
      }
    },
    {
      "name": "Example Server 3",
      "transport": {
        "type": "sse",
        "url": "http://localhost:8080/sse"
      }
    }
  ]
}

运行服务时必须提供配置文件:

MCP_CONFIG_PATH=./config.json mcp-proxy-server

开发

安装依赖:

npm install

构建服务:

npm run build

开发时自动重新构建:

npm run watch

开发时持续运行:

# Stdio
npm run dev
# SSE
npm run dev:sse

安装

要与 Claude Desktop 配合使用,请添加服务配置:

MacOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-proxy": {
      "command": "/path/to/mcp-proxy-server/build/index.js",
      "env": {
        "MCP_CONFIG_PATH": "/absolute/path/to/your/config.json",
        "KEEP_SERVER_OPEN": "1"
      }
    }
  }
}
  • KEEP_SERVER_OPEN 会在客户端断开连接后继续运行 SSE。多个客户端连接到 MCP 代理时,这会很有用。
调试

由于 MCP 服务通过 stdio 通信,调试可能颇具挑战。我们建议使用 MCP Inspector,它可通过包脚本运行:

npm run inspector

Inspector 会提供一个 URL,供你在浏览器中访问调试工具。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。