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 工具清单,发现常见生产故障。
- 应用版本化与向后兼容性检查。
- 将传输/运行时决策与工具契约设计分离。
使用方式
- 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
- 校验 MCP 工具定义
在集成测试之前运行校验器:
python3 scripts/mcp_validator.py --input out/tool_manifest.json --strict --format text
检查项包括重复名称、无效 schema 形状、缺失描述、必填字段为空以及命名规范。
- 运行时选择
Python 适合快速迭代和数据密集型后端;TypeScript 适合统一的 JS 技术栈以及更紧密的前后端契约复用。即使传输/运行时发生变化,也应保持工具契约稳定。
- 生产加固
发布前的关键事项:将密钥保存在环境变量中,而不是工具 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 服务器时。
限制
资料未提供该技能的收费、价格、平台支持范围、性能效果或具体使用步骤之外的细节;未提供官方文档中关于依赖版本、运行环境要求或兼容性矩阵的信息。