MCP 服务器代理是一个强大的代理服务器,它能够连接到多个 MCP 服务器,并为各类工具提供统一的访问接口,极大地提升了工具与多个服务器交互的便利性。
MCP 服务器代理可让你轻松连接多个 MCP 服务器。以下是使用前的准备步骤和基本操作示例。
使用以下命令进行安装:
npm install
服务器可以通过以下命令行选项启动:
# 使用默认设置启动
node dist/server.js
# 使用特定配置文件启动
node dist/server.js --profile developer
# 或者
node dist/server.js -p developer
# 在 SSE 模式下启动
node dist/server.js --mode sse
# 或者
node dist/server.js -m sse
# 在 SSE 模式下使用自定义端口和主机
node dist/server.js --mode sse --port 8080 --host 0.0.0.0
# 组合选项
node dist/server.js --profile developer --mode sse --port 8080
可用选项:
-p, --profile : 指定要使用的配置文件名称(默认为 "default")-m, --mode : 在“stdio”或“sse”模式之间选择(默认为 "stdio")--port : 设置 SSE 模式的端口(默认为 3000)--host : 设置 SSE 模式的主机(默认为 "localhost")获取帮助:
node dist/server.js --help
工具名称会带有其服务器名称的前缀。例如:
在 SSE 模式下,服务器暴露以下端点:
GET /sse: 建立 SSE 连接POST /messages: 处理工具请求(需要提供sessionId查询参数)示例 SSE 客户端用法:
const eventSource = new EventSource("http://localhost:3000/sse");
eventSource.onmessage = (event) => {
console.log("接收:", event.data);
};
在开发和使用过程中,可根据实际需求灵活组合命令行选项,以实现更复杂的功能。例如,在开发模式下使用特定配置文件和 SSE 模式:
# 在开发模式下运行(SSE 模式并使用 developer 配置文件)
npm run dev:sse:developer
为每个配置文件创建名为 config.
的文件,例如:
// config.developer.json
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"]
}
}
}
// config.personal.json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/mirilale/Desktop"
]
}
}
}
服务器提供详细的错误信息,包括:
所有错误消息都会包含当前配置文件名称以提供更好的上下文。
# 安装依赖项
npm install
# 构建项目
npm run build
# 在开发模式下运行(stdio 模式)
npm run dev:stdio:developer
# 或者
npm run dev:sse:developer
# 使用 mpc 检查工具
npm run inspect
本项目采用 MIT 许可证。