harsha-iiiv/openapi-mcp-generator

A tool that converts OpenAPI specifications to MCP server

OpenAPI → MCP Generator

概要 – OpenAPI 3.x 仕様を読み取り、Model Context Protocol (MCP) に準拠した実行可能な Node.js サーバーを構築するコマンドラインツール(およびライブラリ)です。生成されたサーバーは、元の REST API への呼び出しをプロキシし、エンドポイントを MCP “tools” として公開するため、AI エージェントや他の MCP クライアントは OpenAPI を理解することなく API を呼び出すことができます。

主な機能

  • OpenAPI 3+ サポート – 有効な仕様(JSON または YAML)であれば、MCP サーバーに変換可能です。
  • プロキシ動作 – サーバーはリクエストを実際の API に転送し、認証とリクエスト検証を処理します。
  • 認証 – API-key、Bearer、Basic、OAuth2 を環境変数経由で設定可能です。
  • 実行時検証 – OpenAPI 定義から Zod schemas が自動生成されます。
  • 型付き出力 – 生成されたプロジェクトは完全に TypeScript で型付けされています。
  • 複数のトランスポート –
    • stdio (デフォルト) – 標準入出力経由の JSON-RPC。ローカル LLM ツール統合に最適です。
    • web – Server-Sent Events と組み込み HTML テストクライアントを備えた HTTP サーバー。
    • streamable-http – HTTP POST 経由のステートフルな JSON-RPC。完全な HTTP ステータス処理をサポートします。
    • cloudflare-worker – MCP Streamable-HTTP トランスポートを使用したデプロイ可能な Cloudflare Workers プロジェクト。
  • プロジェクトスキャフォールド – package.json、tsconfig.json、ソースファイル、サンプルテストクライアントを生成します。
  • フィルタリング – x-mcp OpenAPI 拡張(または --default-include フラグ)を使用して、どの操作を MCP ツールにするかを選択できます。

インストール方法

npm install -g openapi-mcp-generator   # または yarn/pnpm でグローバルインストール

典型的な CLI ワークフロー

# 基本的な stdio サーバー
openapi-mcp-generator -i ./petstore.json -o ./my-mcp-server

# ポート 3000 で SSE を使用する Web サーバー
openapi-mcp-generator -i ./petstore.json -o ./my-mcp-web -t web -p 3000

# Cloudflare Worker へのデプロイ
openapi-mcp-generator -i ./petstore.json -o ./my-worker -t cloudflare-worker

生成後、出力フォルダに cd し、npm install を実行してから npm start(またはトランスポート固有の npm スクリプト)を実行してサーバーを起動します。

プログラム用 API – このパッケージは getToolsFromOpenApi などのヘルパーもエクスポートしており、ファイルに書き込まずに MCP ツール定義を返すことができるため、カスタムツール開発に役立ちます。

重要性 – MCP は、AI エージェントが外部サービスを安全に呼び出すために設計された軽量プロトコルです。既存の OpenAPI 仕様を MCP 互換のプロキシに変換することで、このジェネレーターはアダプターを手動で作成する手間を省き、開発者が既存の REST API を再利用できるようにし、それらの API を LLM 駆動のエージェント、Claude Desktop、またはあらゆる MCP クライアントから即座に呼び出せるようにします。

ライセンス – MIT。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト