MCP Proxy Server
一个通过单一接口聚合和提供多个MCP资源服务器的MCP代理服务器。
概述
MCP 代理服务器作为中央枢纽,聚合多个 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"] } } ] }
-
启动服务器
MCP_CONFIG_PATH=./config.json mcp-proxy-server
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"
}
}
}
}
开发
# 安装依赖
npm install
# 构建服务器
npm run build
# 开发模式(自动重建)
npm run watch
# 连续运行开发模式
npm run dev # Stdio
npm run dev:sse # SSE
# 调试
npm run inspector
核心功能
- 资源管理: 发现并连接多个MCP服务器,聚合资源,处理路由
- 工具聚合: 暴露所有连接服务器的工具,路由调用至适当后端
- 提示处理: 从所有连接服务器聚合提示,处理多服务器响应
提示: 使用
KEEP_SERVER_OPEN=1
环境变量保持服务器运行,适用于多客户端连接场景