SuperAPI AI 工具集

mcp-server-builder

智能体与模型

查看项目

更新于 10-15 14:08

技能介绍

MCP Server Builder 是一个工程类技能,领域为 AI / API 集成,用于从 API 契约设计并交付生产级 MCP(Model Context Protocol)服务器,而不是手写一次性的工具包装器。它强调快速脚手架、schema 质量、验证和安全演进,工作流同时支持 Python 和 TypeScript 的 MCP 实现,并把 OpenAPI 视为唯一事实来源。

用途

该技能面向需要将 REST API 以类型化工具形式暴露给 LLM 智能体的场景。典型用途包括:把内部或外部 REST API 暴露给 LLM 智能体;用类型化工具替代脆弱的浏览器自动化;构建一个可跨团队和助手共享的 MCP 服务器;在发布 MCP 工具前执行可重复的质量检查;从现有 OpenAPI 规范引导生成 MCP 服务器。

主要能力

  • 将 OpenAPI 路径/操作转换为 MCP 工具定义。
  • 生成起始服务器脚手架(Python 或 TypeScript)。
  • 强制命名、描述和 schema 的一致性。
  • 校验 MCP 工具清单,发现常见生产故障。
  • 应用版本化与向后兼容性检查。
  • 将传输/运行时决策与工具契约设计分离。

使用方式

  1. OpenAPI 到 MCP 脚手架

从有效的 OpenAPI 规范开始,生成工具清单和起始服务器代码,审查命名与认证策略,再添加端点特定的运行时逻辑。示例命令:

python3 scripts/openapi_to_mcp.py
--input openapi.json
--server-name billing-mcp
--language python
--output-dir ./out
--format text

也支持从标准输入读取:

cat openapi.json | python3 scripts/openapi_to_mcp.py --server-name billing-mcp --language typescript

  1. 校验 MCP 工具定义

在集成测试之前运行校验器:

python3 scripts/mcp_validator.py --input out/tool_manifest.json --strict --format text

检查项包括重复名称、无效 schema 形状、缺失描述、必填字段为空以及命名规范。

  1. 运行时选择

Python 适合快速迭代和数据密集型后端;TypeScript 适合统一的 JS 技术栈以及更紧密的前后端契约复用。即使传输/运行时发生变化,也应保持工具契约稳定。

  1. 生产加固

发布前的关键事项:将密钥保存在环境变量中,而不是工具 schema 中;优先使用出站主机允许列表,而不是开放代理;仅做增量变更,绝不原地重命名工具名称。完整加固指南见 references/production-hardening-guide.md。

脚本接口

python3 scripts/openapi_to_mcp.py --help

  • 从标准输入或 --input 读取 OpenAPI。
  • 生成清单和服务器脚手架。
  • 输出 JSON 摘要或文本报告。

python3 scripts/mcp_validator.py --help

  • 校验清单和可选的运行时配置。
  • 在严格模式下存在错误时返回非零退出码。

参考材料

  • references/production-hardening-guide.md — 认证与安全设计、版本化策略、常见陷阱、最佳实践、架构决策、契约质量门禁、测试策略、部署实践、安全控制。
  • references/openapi-extraction-guide.md
  • references/python-server-template.md
  • references/typescript-server-template.md
  • references/validation-checklist.md
  • README.md

适用场景

需要把内部或外部 REST API 暴露给 LLM 智能体时;希望用类型化工具替代脆弱的浏览器自动化时;希望一个 MCP 服务器被多个团队和助手共享时;需要在发布 MCP 工具前进行可重复质量检查时;希望从现有 OpenAPI 规范引导 MCP 服务器时。

限制

资料未提供该技能的收费、价格、平台支持范围、性能效果或具体使用步骤之外的细节;未提供官方文档中关于依赖版本、运行环境要求或兼容性矩阵的信息。