MCP服务器生成工具

一键将Swagger/OpenAPI URL转换为部署就绪的MCP服务器,支持代码生成、验证和自动化部署。

  • by exploring-curiosity
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 exploring-curiosity/MCP_Adapter

使用说明

MYME——让你的MCP变得简单

Youtube教程: Youtube教程

一个命令 将任何Swagger/OpenAPI URL转换为已部署的MCP服务器。

python -m mcp_adapter generate --url https://your-api.com/openapi.json -o output/my-mcp --name my-api

没有模板,没有脚手架——纯粹是生成性的。代码已通过验证 ast.parse() 必要时进行自动维修。


黑客马拉松赞助商和渠道整合

MYME建立在一系列令人难以置信的赞助商技术之上。管道的每个阶段都由不同的赞助商提供支持:

  ┌──────────────┐   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐   ┌────────────┐
  │  1. DESIGN   │──▶│  2. INGEST   │──▶│  3. DISCOVER  │──▶│  4. GENERATE │──▶│  5. TEST     │──▶│  6. DEPLOY  │
  │              │   │              │   │              │   │              │   │              │   │            │
  │  Figma MCP   │   │ Gemini 2.5   │   │ Featherless  │   │ Featherless  │   │ Featherless  │   │ Dedalus    │
  │  (UI Design) │   │ Flash        │   │ DeepSeek R1  │   │ DeepSeek V3  │   │ DeepSeek V3  │   │ MCP + Auth │
  └──────────────┘   └──────────────┘   └──────────────┘   └──────────────┘   └──────────────┘   └────────────┘
        │                  │                  │                   │                  │                  │
    Figma MCP          Google AI         Featherless AI      Featherless AI     Featherless AI     Dedalus Labs

赞助商→ 管道测绘

管道阶段 赞助商 技术 它做什么
UI设计 Figma MCP Figma MCP服务器 整个MYME前端UI都是使用Figma MCP进行规划和设计的
摄取 谷歌人工智能 Gemini 2.5 Flash 解析并理解非结构化API文档和原始文档
发现和挖掘 无羽毛AI DeepSeek R1(推理) 深度推理,将端点分组到高级MCP工具中,对功能进行分类,并解决边缘情况
模式生成 Dedalus实验室 Dedalus API 为工具输入和输出合成干净类型架构
代码生成 无羽毛AI DeepSeek V3 生成完整的MCP服务器代码(server.py)在一次LLM调用中——纯粹是生成性的
测试生成 无羽毛AI DeepSeek V3 生成合约测试套件以验证MCP服务器中的每个工具
部署 Dedalus实验室 Dedalus MCP+Auth 将生成的MCP服务器部署到生产环境。对于经过身份验证的API,Dedalus MCP Auth处理凭据管理
账单和信用 Flowhappy Flowgland Payments 集成支付系统——测试模式支付,为MYME的发电管道提供电力

运作原理

  Swagger URL              Pipeline                    DeepSeek-V3               Output
  ┌──────────────┐   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐   ┌────────────┐
  │  1. INGEST   │──▶│  2. MINE     │──▶│  3. SAFETY   │──▶│  4. CODEGEN  │──▶│  5. OUTPUT  │
  │              │   │              │   │              │   │  (LLM)       │   │            │
  │ Fetch & parse│   │ Group into   │   │ Classify     │   │ DeepSeek-V3  │   │ server.py  │
  │ OpenAPI spec │   │ tools        │   │ read/write/  │   │ generates    │   │ + tests    │
  │              │   │              │   │ destructive  │   │ full server  │   │ + deploy   │
  └──────────────┘   └──────────────┘   └──────────────┘   └──────────────┘   └────────────┘
  1. 摄取 --从URL或本地文件获取规范。使用以下命令解析OpenAPI 3.x/Swagger 2.x/Postman v2.1 双子座2.5闪光灯.
  2. 我的 --使用将端点分组到高级工具中 DeepSeek R1 通过无羽毛人工智能进行推理。
  3. 安全 --将工具分类为读/写/破坏性。添加安全徽章。应用满列表/denylist。
  4. 代码生成 — DeepSeek V3 (通过Featherless AI)生成完整的 server.py 在单个LLM呼叫中。已通过验证 ast.parse().
  5. 输出 --写作 server.py, test_server.py, main.py, pyproject.toml, .env.example, requirements.txt.
  6. 部署 --推送到GitHub并通过部署 Dedalus MCP.使用经过身份验证的API Dedalus MCP认证.

快速开始

先决条件

pip install -r requirements.txt

将您的无功能API密钥添加到 .env:

FEATHERLESS_API_KEY=your-featherless-api-key

获取免费钥匙 无羽毛.ai.

单一命令--生成+部署

python -m mcp_adapter generate \
  --url https://your-api.com/openapi.json \
  -o output/my-api-mcp \
  --name my-api \
  --deploy

这将:

  1. 获取并解析OpenAPI规范
  2. 通过DeepSeek-V3生成完整的MCP服务器
  3. 验证方式 ast.parse()
  4. 创建GitHub仓库并推送代码
  5. 打开Dedalus仪表板进行一键部署

仅生成(不部署)

python -m mcp_adapter generate \
  --url https://your-api.com/openapi.json \
  -o output/my-api-mcp \
  --name my-api

在本地运行:

cd output/my-api-mcp
pip install -r requirements.txt
cp .env.example .env   # fill in your upstream API key
python server.py       # MCP server on http://127.0.0.1:8000/mcp

来自本地文件

python -m mcp_adapter generate \
  --spec examples/petstore.yaml \
  -o output/petstore-mcp

CLI参考

generate

选项 描述
--url URL Swagger/OpenAPI URL,用于从中获取规范
--spec PATH 本地规范文件的路径(OpenAPI YAML/JSON或Postman)
-o, --output PATH 输出目录 (必填)
--name TEXT 服务器名称(默认为API标题)
--use-k2 AI增强工具名称和描述
--block-destructive 删除所有DELETE工具
--max-tools INT 要生成的最大工具数(0=无限制)
--allowlist TEXT 仅包括这些工具(逗号分隔)
--denylist TEXT 排除这些工具(逗号分隔)
--deploy 推送到GitHub+打开Dedalus仪表板
--github-org TEXT 仓库的GitHub组织(默认:个人账户)
-v, --verbose 调试日志记录

inspect

预览在不写入文件的情况下会生成哪些工具:

python -m mcp_adapter inspect --url https://your-api.com/openapi.json
python -m mcp_adapter inspect --url https://your-api.com/openapi.json --json-output

环境设置

创建一个 .env 在项目根目录中:

# Required — powers the code generation
FEATHERLESS_API_KEY=your-featherless-api-key

# Required for --deploy flag
GITHUB_TOKEN=ghp_your-personal-access-token

# Optional — for K2 reasoning (--use-k2 flag)
K2_API_KEY=IFM-your-key-here

# Optional — for Dedalus deployment
DEDALUS_API_KEY=dsk-your-key-here

GitHub代币:创建时间 github/设置/令牌 随着 repo 范围。


端到端指南:Swagger URL→ 已部署MCP服务器

步骤1:设置您的 .env

FEATHERLESS_API_KEY=your-featherless-key    # for code generation
GITHUB_TOKEN=ghp_your-github-token          # for --deploy
DEDALUS_API_KEY=dsk-your-dedalus-key        # for Dedalus platform

步骤2:一个命令——生成+推送到GitHub

python -m mcp_adapter generate \
  --url https://your-api.com/openapi.json \
  -o output/my-api-mcp \
  --name my-api \
  --deploy

这将:

  1. 获取并解析OpenAPI规范
  2. 通过DeepSeek-V3生成完整的MCP服务器
  3. 验证方式 ast.parse() (必要时进行汽车维修)
  4. 创建GitHub仓库 my-api 并推送所有文件
  5. 在浏览器中打开Dedalus仪表板

要推送到GitHub组织而不是您的个人帐户:

python -m mcp_adapter generate \
  --url https://your-api.com/openapi.json \
  -o output/my-api-mcp \
  --name my-api \
  --deploy --github-org your-org

步骤3:在Dedalus上部署(每台服务器一次)

这 --deploy 标志会自动打开Dedalus仪表板。然后:

  1. 点击 添加服务器 → 连接刚刚创建的仓库
  2. 设置环境变量:
    • MY_API_BASE_URL =您的上游API URL
    • MY_API_API_KEY =您的上游API密钥
  3. 点击 部署

您的MCP服务器将在以下地址上线:

https://mcp.dedaluslabs.ai/your-org/my-api/mcp

缩放提示:首次部署后,后续 --deploy 运行到同一仓库将推送更新,Dedalus将自动重新部署。

步骤4:查询已部署的MCP服务器

使用 query_mcp.py 以自然语言与任何已部署的MCP服务器通信:

# Query by server slug
python query_mcp.py --server your-user/my-api "What is 10 divided by 3?"

# Interactive mode — keep chatting
python query_mcp.py --server your-user/my-api --interactive

如果API需要auth,并且没有配置凭据,则该工具将检测到错误,并告诉您在Dedalus仪表板上设置什么。

或者在部署之前进行本地测试:

cd output/my-api-mcp
pip install -r requirements.txt
cp .env.example .env
python server.py              # http://127.0.0.1:8000/mcp
python test_server.py          # auto-generated tests

建筑

┌──────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────┐
│ AI Agent │────▶│ MCP Server   │────▶│ Your REST    │────▶│ Database │
│ (Claude, │     │ (generated)  │     │ API          │     │ / Service│
│  GPT, …) │◀────│ dedalus_mcp  │◀────│              │◀────│          │
└──────────┘     └──────────────┘     └──────────────┘     └──────────┘
    MCP               HTTP                 HTTP
    protocol          proxy                your logic

查询已部署的MCP服务器-- query_mcp.py

用于查询的独立CLI 任何 Dedalus以自然语言部署了MCP服务器。可以在任何地方工作,不需要本地文件。

用法

# Query a deployed server by slug
python query_mcp.py --server user/math-api "What is 10 divided by 3?"

# Interactive chat mode
python query_mcp.py --server user/math-api --interactive

# Use a different model
python query_mcp.py --server user/my-api --model openai/gpt-4o "Describe the API"

选项

选项 描述
--server, -s MCP服务器段塞(例如。 user/math-api) — 必需的
--model, -m AI模型(默认值: openai/gpt-4o-mini)
--interactive, -i 互动聊天模式

凭证如何工作

如果上游API需要身份验证,则该工具 自动检测身份验证错误 在运行时(401、403等),告诉您要配置的内容:

🔒 Authentication required for 'user/petstore-mcp'
   The MCP server returned auth errors:

   ❌ search_pet: {"error": "401 Unauthorized"}

   To fix, configure these env vars on the Dedalus dashboard:
     PETSTORE_MCP_BASE_URL = <your-api-base-url>
     PETSTORE_MCP_API_KEY  = <your-api-key>

   Dashboard: https://www.dedaluslabs.ai/dashboard/servers
   Select 'user/petstore-mcp' → Environment Variables → set the values → Redeploy

凭据已在上配置 Dedalus仪表板 作为环境变量——在查询时不传递。这 dedalus.json 生成的输出中的清单还列出了所有必需的环境变量以供参考


生成的输出

output/<name>/
├── server.py          # Complete MCP server — generated by DeepSeek-V3
├── main.py            # Entry point for Dedalus deployment
├── pyproject.toml     # Dependencies for deployment
├── test_server.py     # Auto-generated tests
├── requirements.txt   # Python dependencies
├── .env.example       # Environment variable template
└── dedalus.json       # Deployment manifest (env vars, auth, tools)

支持的输入格式

格式 注释
Swagger/OpenAPI URL --url http://host/openapi.json
OpenAPI 3.x(YAML/JSON) 最佳覆盖率
Swagger 2.x(YAML/JSON) 自动检测
邮差收藏v2.1 文件夹成为标签

安全与权限

每个工具都是自动分类的:

  • 🟢 读 --无副作用(GET)
  • 🟡 写 --创建或修改数据(POST、PUT、PATCH)→ [WRITES DATA]
  • 🔴 破坏性的 --删除数据(DELETE)→ [DESTRUCTIVE]

控制: --block-destructive, --allowlist, --denylist, --max-tools


信用体系

MYME使用基于信用的系统。生成到MCP服务器中的每个API工具的成本 1学分。积分可以在以下网址购买 100个学分,10美元.

检查您的余额

curl http://127.0.0.1:8080/api/credits/sudharshan

手动添加学分(测试模式)

要通过后端API直接添加信用(在测试模式下无需付款):

# Add 100 credits
curl -X POST http://127.0.0.1:8080/api/credits/purchase \
  -H "Content-Type: application/json" \
  -d '{"user": "sudharshan", "credits": 100}'

# Add a custom amount (e.g. 500 credits)
curl -X POST http://127.0.0.1:8080/api/credits/purchase \
  -H "Content-Type: application/json" \
  -d '{"user": "sudharshan", "credits": 500}'

您还可以单击 买 侧边栏或生成页面上的按钮——在测试模式下,积分会立即添加,无需支付。

定价信息

curl http://127.0.0.1:8080/api/credits/pricing

如何收取学分

  • 每个工具1学分 在生成步骤中生成
  • 积分已检查 之前 生成开始(如果不足,则使用HTTP 402)
  • 信用被扣除 之后 成功的一代
  • 信用数据存储在 .credits/sudharshan.json

项目结构

Dedalus/
├── .env                     # FEATHERLESS_API_KEY (+ optional K2, Dedalus keys)
├── requirements.txt
├── query_mcp.py             # Query any deployed MCP server
├── mcp_adapter/
│   ├── cli.py               # Click CLI
│   ├── ingest.py            # OpenAPI/Postman/URL parser
│   ├── mine.py              # Endpoint → tool grouping
│   ├── safety.py            # Safety classification
│   ├── agentic_codegen.py   # DeepSeek-V3 code generation
│   ├── reasoning.py         # K2 AI reasoning (optional)
│   ├── models.py            # Data models
│   └── logger.py            # Structured logging
├── examples/
│   └── petstore.yaml        # Complex API example
├── test_application/
│   └── app.py               # Simple math API for testing
└── output/                  # Generated MCP servers

团队

  • 哈迪克·阿马瓦尼(hardikamarwani@gmail.com)
  • 苏达尔尚·拉梅什
  • 尼尔·加吉诺丁(ng3373@nyu.edu)
  • Harshini Vijaya Kumar(hv2201@nyu.edu)