MCP到OpenAPI代理
一个Docker化的代理,将任何MCP(主控制程序)服务器作为标准OpenAPI接口公开,实现与LLM和其他开发工具的集成。
该项目由 mcpo 并通过承载令牌认证进行保护。
该代理允许大型语言模型(LLM)和其他开发工具与OpenAPI兼容的端点进行交互,从而实现了广泛的自动化和集成可能性。
为什么使用此代理?
- 兼容性:使非标准MCP API与庞大的OpenAPI工具生态系统兼容,如代码生成器、测试框架和API探索者。
- LLM集成:使LLM能够理解您的API并与之交互,以执行自动化测试、数据检索和复杂的工作流执行等任务。一个例子是 OpenWeb用户界面,它可以使用此代理为其LLM工具提供与现实世界交互的功能。
- 简化身份验证:将复杂的身份验证机制抽象为简单、统一的Bearer令牌,简化客户端代码。
- 标准化:提供一个一致的、可预测的API接口,而不考虑潜在的MCP实现。
特性
- OpenAPI转换:将MCP转换为标准OpenAPI规范。
- 安全认证:启动时自动生成安全的Bearer令牌。
- Docker化:使用Docker Compose易于部署和管理。
- 可定制的:支持自定义Bearer令牌和灵活配置。
先决条件
- Docker和Docker Compose
- 使用API凭据访问MCP服务器
快速开始
- 配置API访问:
复制 template.config.json 到 config.json:
cp template.config.json config.json编辑 config.json 指向您的MCP服务器并包含必要的身份验证标头。看 example.config.json 以Armis集成为例。
- 启动代理服务:
docker compose up -d- 取回承载令牌:
身份验证令牌保存在 ./.mcpo 目录。要查看它,请运行:
./show-token.sh用法
- API端点:
http://localhost:8100/ - OpenAPI文档:
http://localhost:8100/docs
使用API端点和生成的Bearer令牌与MCP服务器进行交互。
安全
- API密钥:The
config.json文件包含您的API密钥,被Git忽略。请确保此文件的安全。 - 持有者令牌:每次容器启动时都会生成一个新的安全令牌,并将其存储在
./.mcpo目录。对于生产,考虑通过设置使用长期令牌MCPO_BEARER_TOKEN在docker-compose.yml. - 网络:该服务公开于
0.0.0.0:8100。对于生产,限制对受信任IP的访问,或将其置于具有TLS的反向代理之后。
发展
- 查看日志:
docker logs mcpo-proxy - 重新启动服务:
docker compose restart(生成新令牌) - 停止服务:
docker compose down
