mcpField
M
MCP OpenAPI

MCP OpenAPI

本地服务
github.com/electrocucaracha开发工具458 周前更新

关于 MCP OpenAPI

MCP OpenAPI 解析 OpenAPI 规范,并动态生成兼容 MCP 的服务代码和工具,适合希望为现有服务添加 MCP 支持的团队,也可作为 sidecar 部署。

主要功能

  1. 01解析 OpenAPI 规范
  2. 02生成 MCP 服务代码
  3. 03创建兼容 MCP 的工具

适用场景

  1. 01从 API 规范生成 MCP 支持
  2. 02作为 sidecar 部署在现有服务旁

MCP 相关

它根据 OpenAPI 规范生成 MCP 服务组件和工具,供 MCP 客户端使用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP OpenAPI

License GitHub Super-Linter Ruby Style Guide Code style: black

visitors Scc Code Badge Scc COCOMO Badge

本项目旨在通过自动化工具简化服务生成,加速 MCP 协议的普及。 它会解析 OpenAPI 规范,并动态生成相应的 MCP 服务组件。

主要功能

  • 解析 OpenAPI 规范
  • 动态生成兼容 MCP 的服务代码和工具
  • 旨在简化集成和部署

使用场景

一种常见用法是将此应用作为 sidecar 部署在现有服务旁。 这样无需手动实现服务即可无缝支持 MCP。

通过自动完成从 OpenAPI 到 MCP 的转换,此工具减少了手动开发服务的开销, 并促进 MCP 协议在现代服务架构中的快速普及。

工作流

sequenceDiagram
    actor user as User
    actor agent as Agent
    participant ingress as Ingress
    participant mcp_proxy as MCP Proxy
    participant openapi_server as OpenAPI Server
    participant db as Database

    user->>ingress: Request for OpenAPI resource
    ingress->>openapi_server: Forward request
    openapi_server->>db: Query database
    db-->>openapi_server: Database response
    openapi_server-->> user: OpenAPI Server response

    Note over user,db: LLM interaction

    user->>agent: Send a prompt
    agent->>ingress: Request for MCP tool
    ingress->>mcp_proxy: Forward request
    mcp_proxy->>openapi_server: Forward request
    openapi_server->>db: Query database
    db-->>openapi_server: Database response
    openapi_server-->>mcp_proxy: OpenAPI Server response
    mcp_proxy-->>agent: MCP server response
    agent-->>user: Prompt response

环境变量

名称默认值描述
OPENAPI_SPEC_URLOpen API 规范的 URL。
TRANSPORTstreamable-http与 MCP 服务通信时使用的传输类型。
HOST127.0.0.1服务绑定的主机名或 IP 地址。
PORT8000监听的端口号。

如何设置开发环境

本项目支持 Dev Container,让你轻松开始使用完整配置的开发环境。这可以确保不同开发环境之间的一致性,并让贡献者无需手动配置环境即可开始工作。

选项 1:GitHub Codespaces

你可以立即启动基于云的开发环境:

在 GitHub Codespaces 中打开

选项 2:本地 Dev Container(Visual Studio Code)
  1. 安装 Visual Studio Code。
  2. 安装 Dev Containers 扩展。
  3. 确保已安装并运行容器运行时:
  4. 在 Visual Studio Code 中打开此仓库。
  5. 出现提示时,在 Dev Container 中重新打开项目。

验证

项目提供了一个辅助脚本,用于验证 MCP 服务。 它使用 MCP Python SDK 连接服务、列出工具并执行这些工具。

列出可用工具
./tests/client.py -m http://localhost:8000/mcp

输出示例:

{
  "properties": {
    "url": {
      "title": "Url",
      "type": "string"
    }
  },
  "required": ["url"],
  "title": "fetch_websiteArguments",
  "type": "object"
}
调用工具
./tests/client.py -m http://localhost:8000/mcp -a call-tool -t fetch -i url=https://electrocucaracha.com/acerca/

输出示例(已截断):

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="UTF-8" />
    ...
  </head>
</html>

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。