OpenApiMCPServer 是一个 MCP 服务器,其核心用途是自动将任意 OpenAPI/Swagger 规范转换为一组可用的 MCP 工具。它通过分析 API 定义中的所有端点,生成结构化的工具定义,并将工具调用路由到背后的 REST API,从而让 AI 智能体能够即时与任何基于 OpenAPI 的服务交互,无需手动编写工具代码。
主要能力:
- 自动转换:读取 OpenAPI/Swagger 规范(支持本地文件或 HTTP 端点),动态加载 Swagger 内容,并通过 MCP 协议暴露 API 功能。
- 无需重新编码:在生成式 AI 架构中可直接使用转换后的工具,无需为每个 API 手动编写工具代码。
- 动态加载:服务器在启动时和运行时均可动态加载 Swagger 内容。
项目包含以下模块:
- openapi-mcp-server:核心应用,作为 MCP 服务器提供 OpenAPI 定义中定义的工具。OpenAPI 定义可作为本地文件或 HTTP 端点提供。该服务器动态加载 Swagger 内容,并通过 MCP 协议提供 API 功能,使其可在生成式 AI 架构中使用而无需重新编码。
- openapi-mcp-example:一个简单示例,分为两部分。api 包中是一个用于管理虚拟机的模拟基础设施 API,该 API 将由 OpenAPI MCP Server 调用;assistant 包中是一个带有简单聊天的助手,它将通过 MCP 服务器访问该 API 来使用基础设施 API。
使用方式(基于示例):
- 启动 MCP 服务器:在 IDE 中运行 OpenApiMcpServer 类,并提供 OpenAPI 位置以及(如需要)Spring profile dev。
- 启动示例部分:在 IDE 中运行 InfrastructureApiServer 类,以及 InfraAssistantApp 类(需提供 LLM URL 和 MCP 服务器)。
适用场景:
- 需要让 AI 智能体快速接入现有 OpenAPI 服务的场景。
- 希望避免为每个 API 手动编写工具定义的开发工作流。
- 在生成式 AI 架构中集成 REST API 功能。
限制:
- 资料中未提供关于收费、价格、平台支持、性能效果或具体使用步骤的更多细节。
- 资料中未提供安装命令或依赖要求。