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

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 密钥注入请求(
header
、query
、path
、cookie
)。 - 从标志(
--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 镜像(推荐)
- 拉取镜像:
bash docker pull ckanthony/openapi-mcp:latest
- 运行容器:
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
本地构建(可选)
- 构建 Docker 镜像:
bash cd openapi-mcp docker build -t openapi-mcp:latest .
- 运行容器:
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
调试方式
- 检查容器日志:
bash docker logs <container_id>
- 访问 MCP 服务器:
- 确保服务器运行在
http://localhost:8080
。 - 使用
--help
查看所有命令行选项:bash docker run --rm ckanthony/openapi-mcp:latest --help