使用说明
OpenAPI到MCP服务器生成器
一个Python工具,可以自动将OpenAPI规范转换为功能齐全的模型上下文协议(MCP)服务器。生成支持SSE/IO通信协议、身份验证和全面错误处理的Docker就绪实现。
主要特点:
- 🔄 OpenAPI到MCP工具/资源转换
- 🐳 Docker支持多阶段构建
- 🔐 多种身份验证方法
- ⚡ 异步操作和速率限制
- 📡 SSE/IO通信协议
概述
该生成器创建了一个功能完整的MCP服务器实现,该实现将OpenAPI规范中定义的API操作公开为MCP工具和资源。生成的服务器与Docker打包在一起,便于部署,并支持SSE和IO通信协议。
特性
- 将OpenAPI规范转换为MCP服务器
- 具有多阶段构建的Docker就绪实现
- 支持多种身份验证方法
- 选择SSE或IO通信协议
- 全面的错误处理和记录
- 内置速率限制和安全功能
- 异步操作实现最佳性能
- 具有覆盖率报告的广泛测试套件
先决条件
- Python 3.10+
- Docker(用于运行生成的服务器)
- uv(Python包管理器)
安装
# Clone the repository
git clone https://github.com/abutbul/openapi-mcp-generator.git
cd openapi-mcp-generator
# Install dependencies using uv
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
用法
python generator.py openapi.yaml --output-dir ./output --api-url https://api.example.com
命令行选项
openapi_file:OpenAPI YAML文件的路径(必需)--output-dir:生成项目的输出目录(默认:“.”)--api-url:API的基本URL--auth-type:身份验证类型(承载、令牌、基本)--api-token:用于身份验证的API令牌--api-username:基本身份验证的用户名--api-password:基本身份验证密码
运行生成的服务器
生成服务器后,您可以使用Docker构建并运行它:
cd output/openapi-mcp-*
./docker.sh build
./docker.sh start --transport=sse --port=8000
Docker脚本选项
生成的 docker.sh 脚本支持以下命令:
build:构建Docker镜像start:启动容器--port=PORT:设置端口(默认值:8000)--transport=TYPE:设置传输类型:“sse”或“io”(默认值:sse)--log-level=LEVEL:设置日志记录级别(默认值:info)
stop:停止容器clean:删除容器和映像test:运行测试套件(待定)logs:查看容器日志
文档
有关更多详细信息,请参阅:
待定
示例实现
查看我们的示例实现,了解生成器的实际应用:
- Trilium Notes ETAPI服务器 -Trilium Notes知识管理系统ETAPI的MCP服务器
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 运行测试套件
- 提交拉取请求
许可证
此项目在MIT许可证下获得许可-有关详细信息,请参阅(./License)文件。
