OpenAPI MCP服务器生成器

基于Python的FastMCP服务器生成器,用于根据OpenAPI规范快速生成MCP服务器。

  • by chris-day
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 chris-day/mcp-generator

使用说明

mcp发生器

基于Python的FastMCP服务器生成器,用于OpenAPI规范。

先决条件

  • Python 3.10+
  • 虚拟环境(存储库包括 .venv)

安装依赖项:

pip install fastmcp httpx pyyaml

可选:将此项目作为包安装:

pip install .

生成OntoPortal MCP服务器

默认生成器目标为 openapi/ontoportal.json.

python tools/generate_mcp.py

这会再生:

  • ontoportal.mcp.custom.json
  • ontoportal_mcp_server.py

CLI选项:

python tools/generate_mcp.py --openapi openapi/ontoportal.json --prefix ontoportal

笔记:

  • 前缀在内部用尾随下划线进行规范化(ontoportal -> ontoportal_).
  • 现有的 ontoportal.mcp.custom.json 价值观得以保留。缺少的密钥仅用默认值填充。

配置环境变量

必修的:

export ONTOPORTAL_API_KEY=your_api_key_here

可选的基本URL覆盖(默认为 https://data.bioontology.org):

export ONTOPORTAL_BASE_URL=https://data.bioontology.org

生成的服务器检查 base_url_override_env_var 从定制(ONTOPORTAL_BASE_URL 默认情况下),并在设置时使用它。

运行MCP服务器

python ontoportal_mcp_server.py

生成的服务器:

  • 从以下位置加载OpenAPI openapi/ontoportal.json (或下载(如果已配置)。
  • 加载和应用 ontoportal.mcp.custom.json 覆盖。
  • 通过以下方式应用身份验证 httpx.AsyncClient 使用环境变量(没有硬编码的秘密)。
  • 补丁缺失 operationId 确定性的价值观。
  • 使用FastMCP应用路由包含/排除规则 RouteMap.
  • 通过以下方式运行FastMCP服务器 FastMCP.from_openapi(...).