一个Python工具,可以自动将OpenAPI规范转换为完全功能的模型上下文协议(MCP)服务器。生成支持SSE/IO通信协议、认证和全面错误处理的Docker就绪实现。
此生成器创建了一个完全功能的MCP服务器实现,该实现公开了在OpenAPI规范中定义的API操作作为MCP工具和资源。生成的服务器使用Docker打包,便于部署,并支持SSE和IO通信协议。
# 克隆仓库
git clone https://github.com/abutbul/openapi-mcp-generator.git
cd openapi-mcp-generator
# 使用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: 认证类型(bearer, token, basic)--api-token: API认证令牌--api-username: 基本认证用户名-api-password: 基本认证密码生成服务器后,您可以使用Docker构建并运行它:
cd output/openapi-mcp-*
./docker.sh build
./docker.sh start --transport=sse --port=8000
生成的docker.sh脚本支持以下命令:
build: 构建Docker镜像start: 启动容器
--port=PORT: 设置端口(默认:8000)--transport=TYPE: 设置传输类型:'sse' 或 'io'(默认:sse)--log-level=LEVEL: 设置日志级别(默认:info)stop: 停止容器clean: 移除容器和镜像test: 运行测试套件(待定)logs: 查看容器日志更多详细信息,请参阅:
待定
查看我们的示例实现以了解生成器的实际应用:
本项目采用MIT许可证 - 详情见(./LICENSE)文件。 </中文翻译>