MCP代理服务器
MCP 代理服务器通过单一接口聚合并服务于多个 MCP 资源服务器。该服务器充当中央枢纽,可以:
连接和管理多个 MCP 资源服务器
通过统一的界面展示其综合能力
将请求路由到适当的后端服务器
汇总来自多个来源的回复
特征
资源管理
发现并连接多个 MCP 资源服务器
聚合所有连接服务器的资源
维护跨服务器的一致 URI 方案
处理资源路由和解析
工具聚合
公开所有连接服务器的工具
将工具调用路由到适当的后端服务器
维护工具状态并处理响应
及时处理
汇总所有已连接服务器的提示
将提示请求路由到适当的后端
处理多服务器提示响应
Related MCP server: Atrax
配置
该服务器需要一个 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检查器将提供一个 URL 来访问浏览器中的调试工具。