README
🚀 OpenAPI 转 MCP 服务器生成工具
这是一款命令行工具,可将 OpenAPI 规范转换为 Model Context Protocol (MCP) 兼容的服务器,为开发者提供便捷的服务转换方案。
🚀 快速开始
本工具能快速将 OpenAPI 规范转换为 MCP 服务器,以下是使用步骤:
安装
npm install -g @your-package-name
基本使用
- 初始化项目:
mcp-server init your-project-name
- 根据提示完成 OpenAPI 配置文件的填写。
- 启动服务器:
cd your-project-name
npm start
✨ 主要特性
- OpenAPI 支持:支持 OpenAPI 3.0 标准,可解析并生成 MCP 服务器。
- 代理行为:实现请求转发功能,支持多种认证方式。
- 认证支持:涵盖 API Key、Bearer Token、Basic Auth 和 OAuth2 等多种身份验证方案。
- Zod 验证:使用 Zod 进行数据验证,确保输入输出的合法性。
- 多种传输模式:支持标准输入输出(stdio)、基于 SSE 的 Web 服务器和流式 HTTP 传输。
📦 安装指南
使用以下命令进行全局安装:
npm install -g @your-package-name
💻 使用示例
基础用法
按以下步骤初始化并启动项目:
- 初始化项目:
mcp-server init your-project-name
- 按提示填写 OpenAPI 配置文件。
- 启动服务器:
cd your-project-name
npm start
高级用法
传输模式选择
- stdio 模式:适用于本地开发和集成到 LLM 工具中。
- Web 服务器(SSE):提供基于 SSE 的双向消息通信,支持多连接和浏览器客户端。
- 流式 HTTP 模式:实现状态ful JSON - RPC,支持完整 HTTP 状态码和头信息。
认证配置
通过环境变量设置认证信息:
| 认证类型 | 变量格式 |
|------------|--------------------------------------------------|
| API Key | API_KEY_<SCHEME_NAME> |
| Bearer | BEARER_TOKEN_<SCHEME_NAME> |
| Basic Auth | BASIC_USERNAME_<SCHEME_NAME>, BASIC_PASSWORD_<SCHEME_NAME> |
| OAuth2 | OAUTH_CLIENT_ID_<SCHEME_NAME>, OAUTH_CLIENT_SECRET_<SCHEME_NAME>, OAUTH_SCOPES_<SCHEME_NAME> |
📚 详细文档
项目结构
your-project-name/
├── package.json # 项目依赖和脚本配置
├── openapi.yaml # OpenAPI 规范文件
├── config.js # 服务器配置
└── src/ # 业务逻辑代码目录
传输模式对比
| 功能 | stdio 模式 | Web(SSE)模式 | 流式 HTTP 模式 | |------|------------|---------------|----------------| | 协议 | JSON - RPC over stdio | JSON - RPC over SSE | JSON - RPC over HTTP | | 连接方式 | 长连接 | 长连接 | 请求/响应 | | 双向通信 | 支持 | 支持 | 状态ful 支持 | | 多客户端支持 | 不支持 | 支持 | 支持 | | 浏览器兼容 | 不支持 | 支持 | 支持 | | 防火墙友好 | 不支持 | 支持 | 支持 | | 负载均衡 | 不支持 | 有限支持 | 完全支持 | | 状态码 | 无 | 有限支持 | 完整 HTTP 状态码 | | 头信息 | 无 | 有限支持 | 完整 HTTP 头信息 |
启动服务器
cd your-project-name
npm install
# 标准输入输出模式
npm start
# Web 服务器模式
npm run start:web
# 流式 HTTP 模式
npm run start:http
Web 模式的测试客户端
- 启动服务器后,打开浏览器访问
http://localhost:<port>。 - 使用生成的测试客户端与 MCP 服务器进行交互。
系统要求
- Node.js 版本 v20 或更高版本。
⚠️ 重要提示
该项目目前处于开发阶段,可能存在不稳定性和潜在问题。使用前请仔细阅读文档并做好充分测试。
Scan to contact