返回市场
开放API-MCP生成器

开放API-MCP生成器

作者:abutbul24 星标更新:2025-05-24

项目介绍

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包管理器)

安装

# 克隆仓库
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脚本选项

生成的docker.sh脚本支持以下命令:

  • build: 构建Docker镜像
  • start: 启动容器
    • --port=PORT: 设置端口(默认:8000)
    • --transport=TYPE: 设置传输类型:'sse' 或 'io'(默认:sse)
    • --log-level=LEVEL: 设置日志级别(默认:info)
  • stop: 停止容器
  • clean: 移除容器和镜像
  • test: 运行测试套件(待定)
  • logs: 查看容器日志

文档

更多详细信息,请参阅:

待定

示例实现

查看我们的示例实现以了解生成器的实际应用:

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 修改代码
  4. 运行测试套件
  5. 提交拉取请求

许可证

本项目采用MIT许可证 - 详情见(./LICENSE)文件。 </中文翻译>