MCP服务器生成器

将OpenAPI/Swagger规范转换为生产就绪的MCP服务器,优化LLM处理大型API规范的能力。

  • by Ismail-2001
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 Ismail-2001/mcp-server-generator

使用说明

人类的传统REST。优化MCP以实现智能。

“一个命令。任何API。即时MCP服务器。”

这 mcp服务器生成器 是一个高性能的企业级编译器,可以将任何OpenAPI/Swagger规范转换为生产就绪 模型上下文协议(MCP) 服务器。

由于上下文窗口限制和“幻觉噪声”,LLM经常难以处理大型OpenAPI规范。该工具通过应用 语义压缩 和 资源分组 提供“只需工作”的超高效工具定义


🏗️ 系统架构

我们的5级管道旨在实现最大的弹性、正确性和LLM效率。

graph TD
    A[OpenAPI/Swagger Spec] -->|Stage 1| B(Parser & Normalizer)
    B -->|Stage 2| C(Semantic Analyzer)
    C -->|Stage 3| D(Resource Mapper)
    D -->|Stage 4| E(Description Optimizer)
    E -->|Stage 5| F(Code Emitter)
    
    subgraph "The Compiler Pipeline"
    B
    C
    D
    E
    F
    end
    
    F --> G[Production MCP Server]
    G --> H[LLM / Claude Desktop]

🔥 关键创新

🧠 语义压缩(优化器)

不要在“此端点返回一个…列表”上浪费数千个令牌。我们的优化器剥离了实现细节和样板,为每个工具强制执行严格的令牌预算。

  • 锅炉板拆除: 基于Regex的常见API短语剥离。
  • 上下文截断: 保留核心意图的句子级修剪。
  • 代币预算: 确保每个工具都能舒适地适应200k-2M的环境。

📦 以资源为中心的分组(映射器)

我们没有用500个单独的端点压倒LLM,而是按资源对CRUD操作进行分组。

  • 分组工具: /users, POST /users,以及 /users/{id} 成为单身 manage_users 工具。
  • 动作参数: 使用A action enum(list, create, get, update, delete)发送请求。
  • 效率: 减少刀具数量 60-80% 而不会失去功能。

🔐 企业认证(生成器)

生成的服务器包括一个开箱即用的完整身份验证层。

  • OAuth2客户端凭据: 全自动执行 令牌缓存和刷新.
  • 可配置超时: 环境变量控制的API超时。
  • 指数回退: 内置429/5xx错误重试。

⚡ 快速开始

1.生成您的服务器

在几秒钟内将API规范转换为TypeScript项目。

# Generate from Remote URL
npx mcp-generate https://api.stripe.com/v1/openapi.json -o ./stripe-mcp

# Generate from Local File
npx mcp-generate ./petstore.yaml -o ./petstore-mcp

2.发射

输出是一个完整的、独立的Node.js项目。

cd ./stripe-mcp
npm install
cp .env.example .env  # Add your API keys
npm run build
npm start

🛠️ 技术栈和标准

  • 运行时间: Node.js 18+(原生 fetch 实施)
  • 语言: TypeScript 5.x(严格模式)
  • 协议: 模型上下文协议(MCP)SDK v1.x
  • 验证: 基于Zod的运行时模式验证
  • 可靠性: 指数回退、AbortController超时和令牌感知缓存。

📊 基准测试

API尺寸 原始规格 生成的工具 减少 结果
宠物店 10 KB 3 0% ✨ 太好了!
中等API 500 KB 12 75% ✨ 太棒了
企业 5 MB 45 92% ✨ 功能性
巨大的 20 MB 80 98% ✨ 上下文安全

🛣️ 路线图

  • [x] v0.1.0α: 核心5级管道和OAuth2 CC。
  • [ ] v0.2.0版本: 远程MCP客户端的HTTP/SSE传输。
  • [ ] v0.3.0: 对高延迟API的流式响应支持。
  • [ ] v1.0.0: 已验证“Zero Edit”生产版本。

🤝 贡献与支持

我们跟随 标准工程原理。欢迎通过pull请求进行贡献。对于大型架构更改,请先打开一个问题。

  1. 分叉 存储库
  2. 克隆 叉子
  3. 分支 为您的功能(git checkout -b feat/my-innovation)
  4. 确认 所有测试均通过(npm run test)

📜 许可证

分布在 MIT许可证。参见 LICENSE 了解更多信息。


专为代理时代打造。