
McpMesh
A.NET 9服务,用于聚合多个模型上下文协议(MCP)服务器。
特性
- 多MCP聚合:同时连接到多个MCP服务器
- MCP协议支持:使用ModelContextProtocol公开MCP协议端点。AspNetCore
- 灵活的配置:通过应用程序设置或Kubernetes ConfigMaps配置MCP服务器
- 健康监测:用于容器编排的内置健康端点
- 容器化:Kubernetes部署清单支持Docker
Docker快速入门
运行McpMesh最简单的方法是使用Docker,其中包括所有必要的依赖项:
- 克隆存储库:
git clone https://github.com/dmatvienco/McpMesh.git
cd McpMesh- 使用Docker构建和运行:
docker build -t mcpmesh .
docker run -p 5293:80 mcpmesh- 该服务将在
http://localhost:5293
地方发展
对于没有Docker的开发,您需要:
- .NET 9 SDK
- Node.js和Python(用于MCP服务器)
dotnet run配置
在您的计算机中配置MCP服务器 appsettings.jsonDocker镜像包含运行示例MCP服务器所需的所有依赖项。
{
"McpMeshOptions": {
"Packages": [
{
"Enabled": true,
"Id": "example-package",
"Servers": ["everything-server", "time-server"]
}
],
"Servers": [
{
"Id": "everything-server",
"Name": "MCP Everything Server",
"Type": "stdio",
"Command": "npx",
"Args": ["@modelcontextprotocol/server-everything"],
"Environment": {},
"Enabled": true,
"TimeoutMs": 30000
},
{
"Id": "time-server",
"Name": "Time MCP Server",
"Type": "stdio",
"Command": "uvx",
"Args": ["mcp-server-time"],
"Environment": {},
"Enabled": true,
"TimeoutMs": 30000
}
]
}
}默认配置包括两个示例MCP服务器:
- 一切服务器:11个演示工具(echo、add、longRunningOperation等)
- 等待时间过去的人:2个时间相关工具(get_current_time、convert_time)
端点
健康终点
GET /health/live-活体探针GET /health/ready-准备就绪探针GET /health/startup-启动探针
MCP协议端点
- MCP协议端点可在
/{packageId} - 支持
tools/list和tools/callMCP操作
测试
使用curl测试MCP协议:
# Test health
curl http://localhost:5293/health/live
# Test MCP tools/list (should return 13 tools from both servers)
curl -X POST http://localhost:5293/example-package \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":"1","method":"tools/list"}'
# Test calling a tool (echo example)
curl -X POST http://localhost:5293/example-package \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":"2","method":"tools/call","params":{"name":"echo","arguments":{"message":"Hello McpMesh!"}}}'为了获得更具互动性的体验,您可以使用 MCP检查员 该工具提供了一个web界面来探索和测试MCP服务器。Inspector可以连接到McpMesh,允许您浏览可用的工具,检查它们的模式,并使用用户友好的界面执行它们。
Docker部署
docker build -t mcpmesh .
docker run -p 5293:80 mcpmeshKubernetes部署
kubectl apply -f deployment/namespace.yaml
kubectl apply -f deployment/configmap.yaml
kubectl apply -f deployment/deployment.yaml
kubectl apply -f deployment/service.yaml未来计划
- OAuth集成:添加对OAuth提供者(GitHub、Google等)的支持,以实现安全身份验证
- Claude桌面集成:作为MCP连接器与Claude Desktop进行本地集成
- Web用户界面:用于配置MCP服务器和监控状态的管理界面
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
