OpenAPI MCP サーバー
OpenAPIエンドポイントをMCPリソースとして公開するモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、大規模言語モデルはMCPプロトコルを介してOpenAPI仕様で定義されたREST APIを検出し、操作できるようになります。
概要
この MCP サーバーは、次の 2 つのトランスポート方法をサポートしています。
- Stdio トランスポート(デフォルト): 標準入出力を介して MCP 接続を管理する Claude Desktop などの AI システムと直接統合します。
- ストリーミング可能な HTTP トランスポート: HTTP 経由でサーバーに接続し、Web クライアントやその他の HTTP 対応システムが MCP プロトコルを使用できるようにします。
ユーザー向けクイックスタート
オプション 1: Claude Desktop (Stdio トランスポート) を使用する
このリポジトリをクローンする必要はありません。Claude Desktop をこの MCP サーバーを使用するように設定するだけで済みます。
- Claude Desktop 構成ファイルを見つけるか作成します。
- macOSの場合:
~/Library/Application Support/Claude/claude_desktop_config.json
- macOSの場合:
- 次の構成を追加します。
- 環境変数を実際の API 構成に置き換えます。
API_BASE_URL
: APIのベースURLOPENAPI_SPEC_PATH
: OpenAPI 仕様への URL またはパスAPI_HEADERS
: API認証ヘッダーのコンマ区切りのキーと値のペア
オプション 2: HTTP クライアント (HTTP トランスポート) で使用する
HTTP クライアントでサーバーを使用するには:
- インストールは不要です!npx を使用してパッケージを直接実行します。
- HTTP リクエストを使用してサーバーと対話します。
輸送タイプ
標準入出力トランスポート(デフォルト)
stdioトランスポートは、標準入出力を介してMCP接続を管理するClaude DesktopなどのAIシステムと直接統合するために設計されています。これは最もシンプルなセットアップであり、ネットワーク設定は必要ありません。
使用する場合: Claude Desktop または stdio ベースの MCP 通信をサポートする他のシステムと統合する場合。
ストリーミング可能なHTTPトランスポート
HTTPトランスポートにより、MCPサーバーにHTTP経由でアクセスすることが可能になり、Webアプリケーションやその他のHTTP対応クライアントがMCPプロトコルとやり取りできるようになります。セッション管理、ストリーミングレスポンス、標準HTTPメソッドをサポートしています。
主な機能:
- Mcp-Session-Idヘッダーによるセッション管理
initialize
およびtools/list
要求に対する HTTP 応答は、POST で同期的に送信されます。- その他のサーバーからクライアントへのメッセージ (例:
tools/execute
結果、通知) は、Server-Sent Events (SSE) を使用して GET 接続を介してストリーミングされます。 - POST/GET/DELETEメソッドのサポート
使用する場合: MCP サーバーを、stdio ではなく HTTP 経由で通信する Web クライアントまたはシステムに公開する必要がある場合。
設定オプション
サーバーは、環境変数またはコマンドライン引数を使用して構成できます。
環境変数
API_BASE_URL
- APIエンドポイントのベースURLOPENAPI_SPEC_PATH
- OpenAPI 仕様へのパスまたは URLAPI_HEADERS
- APIヘッダーのコンマ区切りのキーと値のペアSERVER_NAME
- MCP サーバーの名前 (デフォルト: "mcp-openapi-server")SERVER_VERSION
- サーバーのバージョン(デフォルト: "1.0.0")TRANSPORT_TYPE
- 使用するトランスポートタイプ: "stdio" または "http" (デフォルト: "stdio")HTTP_PORT
- HTTPトランスポートのポート(デフォルト: 3000)HTTP_HOST
- HTTPトランスポートのホスト(デフォルト: "127.0.0.1")ENDPOINT_PATH
- HTTPトランスポートのエンドポイントパス(デフォルト: "/mcp")
コマンドライン引数
セキュリティに関する考慮事項
- HTTPトランスポートは、DNSリバインディング攻撃を防ぐためにOriginヘッダーを検証します。
- デフォルトでは、HTTPトランスポートはローカルホスト(127.0.0.1)にのみバインドされます。
- 他のホストに公開する場合は、追加の認証を実装することを検討してください
デバッグ
デバッグ ログを表示するには:
- Claude Desktop で stdio トランスポートを使用する場合:
- ログはClaude Desktopのログに表示されます
- HTTP トランスポートを使用する場合:
開発者向け
開発ツール
npm run build
- TypeScriptソースをビルドするnpm run clean
- ビルド成果物を削除しますnpm run typecheck
- TypeScript の型チェックを実行しますnpm run lint
- ESLint を実行するnpm run dev
- ソースファイルを監視し、変更があったら再構築するnpm run inspect-watch
- 変更時に自動リロードするインスペクターを実行します
開発ワークフロー
- リポジトリをクローンする
- 依存関係をインストール:
npm install
- 開発環境を起動します:
npm run inspect-watch
src/
内の TypeScript ファイルに変更を加える- サーバーは自動的に再構築され、再起動します
貢献
- リポジトリをフォークする
- 機能ブランチを作成する
- 変更を加える
- テストとリンティングを実行します:
npm run typecheck && npm run lint
- プルリクエストを送信する
ライセンス
マサチューセッツ工科大学
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
大規模言語モデルがモデル コンテキスト プロトコルを通じて OpenAPI 仕様で定義された REST API を検出し、対話できるようにするサーバー。
Related Resources
Related MCP Servers
- -securityAlicense-qualityAn MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.Last updated -2PythonMIT License
- -securityFlicense-qualityA server based on Model Context Protocol that parses Swagger/OpenAPI documents and generates TypeScript types and API client code for different frameworks (Axios, Fetch, React Query).Last updated -1431TypeScript
- AsecurityFlicenseAqualityA Model Context Protocol server that enables large language models to interact with Apache Superset databases through REST API, supporting database queries, table lookups, field information retrieval, and SQL execution.Last updated -43TypeScript
- -securityAlicense-qualityA Model Context Protocol server that provides standardized interfaces for interacting with Ollama API, offering JSON responses, error handling, and intelligent guidance for LLM-based API calls.Last updated -PythonMIT License