返回市场
自动-MCP

自动-MCP

作者:brizzai178 星标更新:2025-11-21

项目介绍

Auto MCP

访问 Auto MCP 首页

Go 报告卡 GitHub 发布 许可证 Go 版本 容器仓库 构建状态

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

该服务读取 Swagger (OpenAPI v2) 或 OpenAPI v3 文档,即时生成路由,代理请求到您配置的上游端点,并通过 MCP 使用定义在 MCP 规范 中的 STDIOHTTPSSE 传输方式公开它们。


✨ 为什么选择 Auto MCP?

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

🛠️ 使用 Auto MCP

轻松定制你的 Swagger/OpenAPI 文件以实现最佳的 MCP 集成。MCP 配置生成器让你能够:

  • 编辑端点描述 以便更清晰、更有帮助的文档。
  • 过滤掉不必要的路由 以简化你的 API 暴露。
  • 预览和自定义 端点如何呈现给 LLM 和客户端。
  • 生成调整文件 (--adjustment-file) 用于与 Auto MCP 一起使用,自动应用你的自定义设置。

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. 运行 Auto MCP 并使用你的调整文件来应用你的自定义设置:
    auto-mcp --swagger-file=/path/to/swagger.json --adjustment-file=/path/to/adjustments.json
    

📚 使用场景

  1. 快速原型设计:几秒钟内将任何 REST API 包装成 MCP 服务器——非常适合测试想法或快速构建 AI 工具。
  2. 桥接旧系统:无需重写,将旧系统或内部系统暴露为 MCP 端点。
  3. 从聊天应用访问任何第三方 API:将任何第三方 API 转换为 MCP 工具,使其对像 Claude 这样的 AI 助手可用。
  4. 最小代理工具:使用 auto-mcp 代理已经处理验证和逻辑的 API——不需要包装器。

🖥️ 在 Claude Desktop 中运行

在你的 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 (stdiosse)。
  • --swagger-file – OpenAPI 文档的路径(默认:swagger.json)。
  • --adjustment-file - mcp-config-builder 输出的过滤/更改路由描述

详细的配置指南,请参阅 CONFIGURATION.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 尝试包含的宠物商店演示。此演示使用示例配置和 API 规范来展示 auto-mcp 的工作原理。

步骤:

  1. 确保你在该仓库的根目录中。
  2. 运行以下命令:
docker run --rm -i \
  -v $(pwd)/examples/petshop/config:/config \
  ghcr.io/brizzai/auto-mcp:latest
  • 此命令将本地机器上的 examples/petshop/config 目录挂载到容器内的 /config
  • 容器内的 /config 目录应包含:
    • config.yaml:演示的主要配置文件
    • swagger.json:宠物商店服务的 API 规范
    • adjustment.yaml:API 的可选调整或覆盖

注意: 任何放置在 examples/petshop/config 中的文件都会覆盖容器内的默认 config.yamlswagger.jsonadjustment.yaml

这种设置允许你轻松地测试和修改宠物商店演示配置。

请参阅 docs/CONFIGURATION.md 获取所有配置选项和环境变量覆盖。

🤝 贡献

详细的贡献指南,请参阅 CONTRIBUTING.md


📄 许可证

根据 Apache License 2.0 许可证分发。详情见 LICENSE