返回 MCP 目录
public公开dns本地运行

openapi-to-mcp-converter

一个将OpenAPI规范自动转换为MCP服务器实例的工具

article

README

🚀 OpenAPI 到 MCP 服务器转换器

本工具可自动将 OpenAPI 规范转换为 Model Context Protocol (MCP) 服务器实例,能有效提升从 OpenAPI 规范到 MCP 服务器实例的转换效率,节省开发时间。

🚀 快速开始

先决条件

  • Node.js 18+
  • TypeScript 5.x

基本使用方法

安装包:

npm install openapi-mcp-converter

运行本地标准输入输出 (stdio) MCP 服务器:

import fs from 'fs';
import { OpenApiMCPSeverConverter } from '../index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import path from 'path';
import { fileURLToPath } from 'url';

const openApiDoc = JSON.parse(fs.readFileSync(path.join(path.dirname(fileURLToPath(import.meta.url)), 'openapi.json'), 'utf8'));

const converter = new OpenApiMCPSeverConverter(openApiDoc, { timeout: 100000 });
const server = converter.getServer();
console.log(JSON.stringify(converter.getMcpTools(), null, 2));
console.log(JSON.stringify(converter.getTools(), null, 2));
async function runServer() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
  console.log("GitHub MCP 服务器在标准输入输出上运行");
}

runServer().catch((error) => {
  console.error("主程序中出现致命错误:", error);
  process.exit(1);
});

运行示例

npm run test  # 执行示例测试用例

✨ 主要特性

  • 🚀 自动化转换:自动解析 OpenAPI 3.0 规范。
  • 🛠 类型安全:基于 TypeScript 的强类型验证。
  • 🔄 请求代理:自动处理工具调用参数映射。

📚 详细文档

项目结构

/openapi-to-mcp
├── dist/            # 编译输出
├── src/             # 源代码
│   ├── example/     # 示例配置
│   └── index.ts     # 核心实现
├── package.json
└── tsconfig.json

构建命令

npm run build    # 生产构建
npm run watch    # 开发模式监视

📄 许可证

本项目采用 MIT 许可证

Node.js 版本 TypeScript 版本 许可证: MIT

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端