MCP通用运行时
通用Docker运行时,用于将任何基于stdio的MCP服务器部署为HTTP服务。
特性
- ✅ 通用兼容性:无需修改即可部署任何stdio MCP服务器
- ✅ HTTP/JSON-RPC:在以下位置提供RESTful MCP端点
/mcp - ✅ 服务器发送的事件:实时流媒体
/sse - ✅ 健康检查:内置监控
/health - ✅ 能力:MCP服务器信息位于
/capabilities - ✅ 生产就绪:正确的错误处理、超时、CORS
端点
GET /health-健康检查和状态POST /mcp-MCP JSON-RPC请求GET /sse-服务器发送的事件流GET /capabilities-MCP服务器功能
环境变量
PORT-HTTP服务器端口(默认值:8080)MCP_ENTRY_POINT-入口点文件(默认:server.js)USER_CODE_PATH-用户MCP代码的路径(默认:/app/user code)
用法
地方发展
# Build the image
docker build -t mcp-universal-runtime .
# Run with user code mounted
docker run -v /path/to/mcp/server:/app/user-code \
-p 8080:8080 \
-e MCP_ENTRY_POINT=server.js \
mcp-universal-runtime生产部署
# Copy user code into container
FROM mcp-universal-runtime:latest
COPY ./my-mcp-server /app/user-code
ENV MCP_ENTRY_POINT=index.js运作原理
- 代码注入:用户MCP服务器代码已装载/复制到
/app/user-code - 繁殖过程:网桥将用户的MCP服务器作为子进程生成
- 协议网桥转换 stdio JSON-RPC↔ HTTP JSON-RPC 数据库
- 标准化:所有部署的MCP都公开相同的HTTP接口
建筑
User Request (HTTP) → Bridge → MCP Process (stdio) → Response兼容的MCP服务器
任何符合以下条件的MCP服务器:
- 使用stdio传输
- 实施MCP 2024-11-05协议
- 是一个Node.js应用程序
- 有一个主入口点文件
例子
请参阅 /examples 使用此运行时的示例MCP服务器的目录。
