openapi-mcp-generator:快速构建Model Context Protocol服务
在现代软件开发中,API的构建和交互是至关重要的环节。openapi-mcp-generator 是一个强大的开源工具,它能够从OpenAPI规范自动生成Model Context Protocol (MCP) 服务器。这不仅简化了开发流程,还使得API与AI代理和其他MCP客户端的交互变得更加顺畅。
项目介绍
openapi-mcp-generator 是一个命令行界面(CLI)工具,它可以将OpenAPI规范转换成与MCP兼容的服务器。通过代理请求到现有的REST API,它使得开发者能够使用多种传输方法无缝地与API进行交互。
项目技术分析
该项目基于Node.js,并使用TypeScript进行编写,保证了代码的可维护性和类型安全性。它支持OpenAPI 3.0及以上版本,并通过环境变量支持API密钥、Bearer令牌、基本认证和OAuth2等认证方式。此外,项目还集成了Zod进行运行时的输入验证,确保了数据的准确性。
项目技术应用场景
openapi-mcp-generator 的应用场景广泛,适用于以下情况:
- 快速原型开发:通过自动生成MCP服务器,开发者可以快速验证API设计。
- 集成AI代理:项目支持MCP协议,使得与AI代理的集成变得简单。
- API网关:作为API网关,它可以将标准HTTP请求转换为MCP协议,实现与不同客户端的通信。
项目特点
以下是openapi-mcp-generator 的一些显著特点:
- OpenAPI 3.0支持:转换任何OpenAPI 3.0+规范为MCP兼容服务器。
- 代理行为:代理到原始REST API的同时,验证请求结构和安全。
- 认证支持:支持API密钥、Bearer令牌、基本认证和OAuth2。
- Zod验证:自动生成Zod模式,进行运行时输入验证。
- 类型化服务器:生成完全类型化的TypeScript代码,易于维护。
- 多种传输方式:支持stdio、基于Hono的SSE或StreamableHTTP。
- 项目脚手架:生成完整的Node.js项目结构,包括
tsconfig.json
、package.json
和入口点。 - 内置HTML测试客户端:通过浏览器测试API交互。
使用方法
安装
npm install -g openapi-mcp-generator
使用
# 生成MCP服务器(stdio模式)
openapi-mcp-generator --input path/to/openapi.json --output path/to/output/dir
# 生成带有SSE的MCP网页服务器
openapi-mcp-generator --input path/to/openapi.json --output path/to/output/dir --transport=web --port=3000
# 生成MCP StreamableHTTP服务器
openapi-mcp-generator --input path/to/openapi.json --output path/to/output/dir --transport=streamable-http --port=3000
总结
openapi-mcp-generator 是一个极具价值的工具,它简化了从OpenAPI到MCP服务器的转换过程。通过其强大的功能和灵活的配置选项,开发者可以快速搭建起符合现代API交互需求的服务器。无论是对于原型开发、集成AI代理还是构建API网关,openapi-mcp-generator 都能提供高效的支持。如果你正在寻找一种快速且可靠的方式来生成MCP服务器,那么openapi-mcp-generator 绝对值得一试。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考