mcpField
O
openapi2mcp

openapi2mcp

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

关于 openapi2mcp

openapi2mcp 是面向开发者的命令行工具,可将 OpenAPI 3.x 规范转换为 FastMCP 服务代码。它还可检查生成文件,并输出 llms.txt 描述。

主要功能

  1. 01从 JSON 或 YAML 规范生成 FastMCP 服务代码
  2. 02选择 stdio 或 google_pubsub 传输方式
  3. 03设置资源挂载路径
  4. 04生成 llms.txt 文件
  5. 05检查生成代码的语法和 MCP 模式

适用场景

  1. 01根据现有 API 规范创建 MCP 服务
  2. 02使用前检查生成的服务代码

MCP 相关

该工具根据 OpenAPI 规范生成 MCP 服务代码,生成的服务通过 MCP 暴露规范中的 API。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

openapi2mcp

用于将 OpenAPI 3.x 规范转换为 FastMCP 服务的工具。

安装

poetry install

用法 / 命令

openapi2mcp 提供命令行界面,可根据 OpenAPI 规范生成和管理 MCP 服务代码。

generate

根据 OpenAPI 规范文件生成 MCP 服务 Python 代码。

语法:

openapi2mcp generate [OPTIONS]

选项:

  • -i, --input-file PATH:OpenAPI 规范文件(JSON 或 YAML)的路径。(必填)
  • -o, --output-file PATH:生成的 MCP 服务 Python 文件的路径。(必填)
  • -t, --transport [stdio|google_pubsub]:MCP 服务的传输机制。(默认值:stdio)
  • --llms-txt-file PATH:可选的 llms.txt 文件生成路径,该文件用于向大模型描述生成的工具和资源。如果未指定,将在输出服务文件所在目录中创建 llms.txt。
  • --mount TEXT:资源的可选挂载路径(例如,/myapi/v1)。(默认值:"")

示例:

openapi2mcp generate --input-file examples/example_openapi.yaml --output-file generated_server.py --transport stdio --mount "/api"

此命令将解析 examples/example_openapi.yaml,使用 stdio 传输方式生成名为 generated_server.py 的 MCP 服务文件,并将资源挂载路径设为 /api。此外,还将在 generated_server.py 所在目录中生成 llms.txt 文件。

check

检查生成的 MCP 服务 Python 文件的基本代码有效性,包括语法以及是否包含关键 MCP 模式。

语法:

openapi2mcp check --server-file PATH

选项:

  • --server-file PATH:要检查的已生成 MCP 服务 Python 文件的路径。(必填)

示例:

openapi2mcp check --server-file generated_server.py
version

显示 openapi2mcp 工具的版本。

语法:

openapi2mcp version

示例:

openapi2mcp version

示例

请参阅示例实现:

项目结构

  • openapi2mcp/parser.py:OpenAPI 规范解析器
  • openapi2mcp/generator.py:FastMCP 服务代码生成器
  • openapi2mcp/cli.py:命令行界面

许可证

MIT - 请参阅 LICENSE

评论

支持 Markdown

第一次接触 MCP?

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

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