使用说明
🧠 mcpo代理
mcpo代理 是用于多个MCP(模型上下文协议)服务器的轻量级OpenAPI反向代理。 它充当OpenWebUI的单个OpenAPI入口点,同时将请求动态路由到配置的MCP后端。
🚀 特性
- 🔁 动态生成
/openapi.json每个MCP的端点 - 🌐 全局端点
/openapi.json列出所有MCP服务器 - 🔗 通过简单的路径重写为每个MCP提供智能HTTP代理
- ⚙️ 可通过安装进行配置
config.json - 🐳 Docker就绪,兼容Synology/Portainer
- 📦 轻量级映像(<150MB)
📁 项目结构
mcpo-proxy/
├── Dockerfile
├── docker-compose.yml
├── package.json
├── server.js
└── config/
└── config.json # Mounted from host
🛠 配置
这 config/config.json 文件定义了要代理的MCP后端列表:
{
"servers": {
"puppeteer_mcp": {
"type": "mcp",
"mcp_url": "http://puppeteer_mcp:9555",
"name": "Puppeteer MCP",
"auth": { "type": "none" }
}
},
"openapi": {
"host": "0.0.0.0",
"port": 9556
}
}
🐳 用法(Docker)
1.使用Docker Compose构建和运行
docker-compose up --build -d
2.或手动运行
docker build -t mcpo-proxy .
docker run -d --name mcpo-proxy \
-v /volume1/docker/mcpo:/app/config \
-p 9556:9556 \
--network=localai_default \
--restart unless-stopped \
mcpo-proxy
🔎 端点
/openapi.json→ 列出所有MCP服务器及其OpenAPI模式/<mcp_name>/openapi.json→ 代理MCP的OpenAPI模式/<mcp_name>/*→ 将任何请求转发给相应的MCP
🧪 健康检查
GET /health → { "status": "ok", "timestamp": "..." }
📄 许可证
麻省理工学院——免费使用,信用感谢!