使用说明
MCP客户端服务
这 MCP客户端服务 充当连接多个 模型上下文协议(MCP) 服务器。它聚合来自这些服务器的工具和资源,并通过统一的HTTP API公开这些工具和资源供主应用程序使用。
🚀 特性
- 协议支持:通过以下方式连接到MCP服务器 上海证券交易所 (服务器发送的事件), 超文本传输协议,以及 工作室.
- 统一工具注册表:将所有连接服务器中的工具聚合到一个列表中。
- 动态管理:在运行时注册、注销和管理服务器连接。
- 持久性:将服务器配置和工具元数据保存到MongoDB。
- 管理界面:用于管理服务器/工具状态(活动/非活动)的专用端点。
- CLI实用程序:内置命令行界面,用于直接测试连接和工具。
🛠️ 技术栈
- 运行时:Node.js、Express
- 软件开发工具包:@modelcontextprotocol/sdk
- 数据库:MongoDB(通过Mongoose)
- 命令行界面:Readline,事件源(polyfill)
📦 安装和设置
-
安装依赖项:
npm install -
环境变量: 创建一个
.env服务根目录中的文件:PORT=3011 MONGO_URI=mongodb://localhost:27017/ai-agents -
运行服务:
-
API服务器模式 (一般用途):
npm run server运行在
http://localhost:3011. -
命令行接口命令模式 (用于交互式测试):
npm start
-
🔌 API参考和卷曲示例
1.服务器管理
注册服务器
连接到新的MCP服务器(例如,本地SSE服务器或stdio命令)。
# Register an SSE Server
curl -X POST http://localhost:3011/servers \
-H "Content-Type: application/json" \
-d '{
"type": "sse",
"url": "http://localhost:3001/sse"
}'
# Register a Stdio Server
curl -X POST http://localhost:3011/servers \
-H "Content-Type: application/json" \
-d '{
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/files"]
}'
列出已连接的服务器
curl http://localhost:3011/servers
注销服务器
curl -X DELETE http://localhost:3011/servers \
-H "Content-Type: application/json" \
-d '{ "url": "http://localhost:3001/sse" }'
2.工具交互
列出所有工具
从所有连接的服务器获取工具的组合列表。
curl http://localhost:3011/tools
调用工具
按名称执行工具。该服务将请求路由到相应的MCP服务器。
curl -X POST http://localhost:3011/tools/read_file \
-H "Content-Type: application/json" \
-d '{
"arguments": {
"path": "/Users/me/files/test.txt"
}
}'
3.管理端点
列出所有服务器(数据库视图)
curl http://localhost:3011/admin/servers
切换服务器状态
启用或禁用服务器(及其工具)。
# Note: Key handles special chars, usually URL encoded
curl -X PATCH http://localhost:3011/admin/servers/sse%3Ahttp%3A%2F%2Flocalhost%3A3001%2Fsse/status \
-H "Content-Type: application/json" \
-d '{ "isActive": false }'
💓 健康检查
- 服务器状态:
GET /health