使用说明
项目简介
MCP Proxy Server 是一个 MCP 代理服务器,它可以连接并聚合多个 MCP 资源服务器,对外提供一个统一的接口。客户端通过这个代理服务器可以访问和管理来自多个后端 MCP 服务器的资源、工具和 Prompt。
主要功能点
- 资源管理: 发现并连接到多个 MCP 资源服务器,汇总来自所有服务器的资源,并维护统一的资源 URI 方案。
- 工具聚合: 汇总来自所有连接服务器的工具,并将工具调用路由到相应的后端服务器。
- Prompt 处理: 汇总来自所有连接服务器的 Prompt,并将 Prompt 请求路由到相应的后端服务器。
安装步骤
- 确保已安装 Node.js 和 npm。
- 克隆仓库到本地:
git clone https://github.com/adamwattis/mcp-proxy-server.git - 进入仓库目录:
cd mcp-proxy-server - 安装依赖:
npm install - 构建项目:
npm run build
服务器配置
MCP 代理服务器需要一个 'config.json' 配置文件来指定要连接的后端 MCP 服务器。 复制 'config.example.json' 为 'config.json' 并根据需要修改。
{ "servers": [ { "name": "Server 1", // 服务器名称,自定义,用于标识不同的后端服务器 "transport": { "command": "/path/to/server1/build/index.js" // 后端 MCP 服务器的启动命令 (stdio 传输方式) } }, { "name": "Server 2", // 服务器名称,自定义,用于标识不同的后端服务器 "transport": { "command": "server2-command", // 后端 MCP 服务器的启动命令 (stdio 传输方式) "args": ["--option1", "value1"], // 启动参数 (stdio 传输方式), 传递给后端服务器的参数 "env": ["SECRET_API_KEY"] // 环境变量 (stdio 传输方式), 需要传递给后端服务器的环境变量名称 } }, { "name": "Example Server 3", // 服务器名称,自定义,用于标识不同的后端服务器 "transport": { "type": "sse", // 使用 SSE 传输 "url": "http://localhost:8080/sse" // 后端 MCP 服务器的 SSE 地址 (sse 传输方式) } } ] }
基本使用方法
- 配置 'config.json' 文件,指定要代理的后端 MCP 服务器。
- 启动 MCP 代理服务器 (stdio 传输方式):
MCP_CONFIG_PATH=./config.json npm run dev - 启动 MCP 代理服务器 (SSE 传输方式):
MCP_CONFIG_PATH=./config.json npm run dev:sse - 在 MCP 客户端中,将 MCP 服务器地址配置为 MCP 代理服务器的地址。对于 stdio 传输,客户端需要配置代理服务器的启动命令(例如:'node /path/to/mcp-proxy-server/build/index.js' 并设置环境变量 'MCP_CONFIG_PATH');对于 SSE 传输,客户端需要配置代理服务器的 SSE URL(默认为 'http://localhost:3006/sse')。
信息
分类
开发者工具