OpenAPI转MCP服务器工具

Auto MCP是一个将OpenAPI/Swagger定义转换为全功能Model Context Protocol (MCP)服务器的工具,支持本地、Claude Desktop或云端运行。

  • by brizzai
  • Go
  • 本地部署
  • 194 星标
  • 更新于
在 GitHub 查看 brizzai/auto-mcp

使用说明

自动MCP

访问Auto MCP主页

将任何OpenAPI/Swagger定义转换为功能齐全的 模型上下文协议(MCP) 服务器–准备在本地、Claude Desktop内部或云中运行。

该服务读取Swagger(OpenAPI v2)或OpenAPI v3文档,动态生成路由,将请求代理到您配置的上游端点,并通过MCP使用 标准输入输出 或 超文本传输协议 或 SSE 运输定义 MCP规范.


✨ 为什么选择自动MCP?

  • 零锅炉板 -带上你的 swagger.json 并开始服务。
  • 灵活部署 –作为CLI、长期守护进程或在Docker/Kubernetes中运行。
  • 所有运输方式 –
    • stdio (默认)。
    • http -StreamableHttp,最新的MCP原型。
    • sse –自托管长时间运行的事件源。
  • 可插拔身份验证 –承载令牌、基本身份验证、API密钥、OAuth2或无身份验证。
  • 运行时配置 –YAML文件、CLI标志或环境变量(前缀 AUTO_MCP_).

🛠️ 使用自动MCP

轻松定制Swagger/OpenAPI文件,以实现最佳的MCP集成。MCP配置生成器允许您:

  • 编辑端点描述 以获得更清晰、更有用的文档。
  • 过滤掉不必要的路线 以简化您的API风险敞口。
  • 预览和自定义 端点对LLM和客户端的显示方式。
  • 生成调整文件 (--adjustment-file)与Auto MCP一起使用时,自动应用您的自定义设置。

运作原理

  1. 安装MCP配置生成器:
    go install ./cmd/mcp-config-builder
    
    这将构建和安装 mcp-config-builder 二进制到你的 $GOPATH/bin (通常 ~/go/bin).确保此目录位于您的 PATH.
  2. 启动该工具:
    mcp-config-builder --swagger-file=/path/to/swagger.json
    
  3. 交互式审阅和编辑 用户友好的TUI(终端用户界面)中的端点。
  4. 保存您的调整 保存到文件中以供将来使用或共享。
  5. 运行自动MCP 使用您的调整文件应用您的自定义设置:
    auto-mcp --swagger-file=/path/to/swagger.json --adjustment-file=/path/to/adjustments.json
    

📚 用例

  1. 快速原型制作: 在秒内将任何REST API包装为MCP服务器,非常适合快速测试想法或构建人工智能工具。

  2. 桥梁遗留服务: 将遗留或内部系统作为MCP端点公开,而无需重写它们。

  3. 从聊天应用程序访问任何第三方API: 将任何第三方API转化为MCP工具,让Claude等人工智能助手可以访问它。

  4. 最小代理工具: 使用auto-mcp代理已经处理验证和逻辑的API——不需要包装器。


🖥️ 在Claude Desktop内运行

将以下代码段添加到您的 克劳德桌面 配置(⟂ 设置→ MCP服务器):

{
  "mcpServers": {
    "YourMCP": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/Users/you/path/to/swagger.json:/server/swagger.json",
        "ghcr.io/brizzai/auto-mcp:latest"
        "--swagger-file=/server/swagger.json"
      ]
    }
  },
  "globalShortcut": ""
}

Claude将按需启动容器并通过STDIO连接。将主机路径替换为 swagger.json 以及图像标签,以适应您的设置。

CLI标志

  • --mode –覆盖 server.mode (stdio 或 sse).
  • --swagger-file –OpenAPI文档的路径(默认: swagger.json).
  • --adjustment-file -mcp配置生成器输出过滤器/更改路由描述

有关详细的配置指南,请参阅 配置.md.


🔐 OAuth支持

Auto MCP支持OAuth 2.1身份验证,包括PKCE、动态客户端注册和多个提供者(内部、GitHub、Google)。这允许您使用行业标准的身份验证流程来保护MCP服务器。

请参阅 OAuth使用指南 有关详细的设置说明、端点描述和测试提示。


🐳 使用Docker运行

  1. 在本地跑步 stdio 模式:

    docker run --rm -i \
      -v $(pwd)/swagger.json:/server/swagger.json \
        ghcr.io/brizzai/auto-mcp:latest \
        --swagger-file=/server/swagger.json \
        --mode=stdio
    
  2. 远程运行 sse/http 模式 :

    docker run \
      -v $(pwd)/swagger.json:/server/swagger.json \
        ghcr.io/brizzai/auto-mcp:latest \
        --swagger-file=/server/swagger.json \
        --mode=http
    

捆绑 docker-compose.yml 映射端口8080并将日志持久化到 ./logs.

运行宠物店示例

您可以使用Docker尝试附带的Petshop演示。本演示使用示例配置和API规范来展示auto-mcp的工作原理。

步骤:

  1. 确保您位于此存储库的根目录中。
  2. 运行以下命令:
docker run --rm -i \
  -v $(pwd)/examples/petshop/config:/config \
  ghcr.io/brizzai/auto-mcp:latest
  • 此命令挂载 examples/petshop/config 将目录从本地计算机导入Docker容器 /config.
  • 这 /config 容器内的目录应包含:
    • config.yaml:演示的主配置文件
    • swagger.json:API宠物店服务规范
    • adjustment.yaml:API的可选调整或替代

注: 您放置的任何文件 examples/petshop/config 将覆盖默认值 config.yaml, swagger.json,以及 adjustment.yaml 在容器内。

此设置允许您轻松测试和修改Petshop演示配置。

请参阅[docs/CONFIGURATION.md](docs/ CONFIGURATION.md)用于所有配置选项 以及环境变量覆盖。

🤝 贡献

有关详细的投稿指南,请参阅 贡献.md.


📄 许可证

根据Apache许可证2.0许可证分发。看 LICENSE 了解详情。