OpenAPI-MCP: Dockerized MCP Server to allow your AI agent to access any API with existing api docs

OpenAPI-MCP: Dockerized MCP Server to allow your AI agent to access any API with existing api docs

site icon
2025.04.23 1
GoAPI 工具生成Docker 化服务开发效率
OpenAPI-MCP 是一个 Docker 化的 MCP 服务器,能够从 Swagger/OpenAPI 规范文件生成对应的 Model Context Protocol (MCP) 工具集。它允许 MCP 兼容的客户端(如 Cursor)与符合 OpenAPI 规范的 API 进行交互,无需额外编码即可让 AI 代理访问任何 API。
View on GitHub

Overview

基本能力

产品定位

OpenAPI-MCP 是一个用于自动化生成 MCP 工具集的 Docker 化服务,旨在简化 AI 代理与 API 的交互过程。

核心功能

  • OpenAPI v2 (Swagger) & v3 支持:解析标准规范格式。
  • 自动工具生成:从 OpenAPI 操作参数和请求/响应定义生成 MCP 工具模式。
  • 安全的 API 密钥管理
  • 通过命令行配置将 API 密钥注入请求(headerquerypathcookie)。
  • 从标志(--api-key)、环境变量(--api-key-env)或本地规范文件旁边的 .env 文件加载 API 密钥。
  • 对最终 MCP 客户端(如 AI 助手)隐藏 API 密钥。
  • 服务器 URL 检测:使用规范中的服务器 URL 作为工具交互的基础(可覆盖)。
  • 过滤:选项包括/排除特定操作或标签(--include-tag--exclude-tag--include-op--exclude-op)。
  • 请求头注入:通过 REQUEST_HEADERS 环境变量传递自定义头(例如用于额外认证、跟踪)。

适用场景

  • AI 代理集成:使 AI 代理能够通过 OpenAPI 规范直接访问 API。
  • API 测试与开发:快速生成 MCP 工具集以测试和开发 API。
  • 自动化工作流:集成到自动化工作流中,减少手动配置 API 交互的工作量。

使用教程

使用依赖

  • Docker:确保已安装 Docker。

安装教程

使用预构建的 Docker Hub 镜像(推荐)

  1. 拉取镜像bash docker pull ckanthony/openapi-mcp:latest
  2. 运行容器bash docker run -p 8080:8080 --rm \ -v $(pwd)/my-api:/app/spec \ --env-file $(pwd)/my-api/.env \ openapi-mcp:latest \ --spec /app/spec/openapi.json \ --api-key-env API_KEY \ --api-key-name X-API-Key \ --api-key-loc header

本地构建(可选)

  1. 构建 Docker 镜像bash cd openapi-mcp docker build -t openapi-mcp:latest .
  2. 运行容器bash docker run -p 8080:8080 --rm \ -v $(pwd)/my-api:/app/spec \ --env-file $(pwd)/my-api/.env \ openapi-mcp:latest \ --spec /app/spec/openapi.json \ --api-key-env API_KEY \ --api-key-name X-API-Key \ --api-key-loc header

调试方式

  1. 检查容器日志bash docker logs <container_id>
  2. 访问 MCP 服务器
  3. 确保服务器运行在 http://localhost:8080
  4. 使用 --help 查看所有命令行选项bash docker run --rm ckanthony/openapi-mcp:latest --help

许可证

该项目遵循 None 开源许可条款。