@powerduck/openapi-mcp-server — 概要
@powerduck/openapi-mcp-server は OpenAPI ドキュメントを実行可能な MCP(Model Context Protocol)サービスに変換します。操作からツール、API のメタデータと操作からプロンプト、API カタログからリソースを生成し、MCP プロトコルで公開します。Web 管理画面も組み込まれています。
- パッケージ名:
@powerduck/openapi-mcp-server - バージョン:
- ライセンス: MIT
- Node の要件:
>=22.12.0 - CLI コマンド:
openapi-mcp - モジュール形式: ESM と CommonJS の両方のビルドを提供し、型宣言を同梱しています。
検証と参照の解決には @powerduck/openapi-parser、プロトコルには @modelcontextprotocol/sdk を使用します。
生成されるもの
- Tools — OpenAPI の操作ごとに MCP ツールを生成します。パラメーターのシリアライズ(path/query/header/cookie のスタイルと explode ルール)、リクエストボディのエンコード(JSON、form-urlencoded、multipart、テキスト、バイナリ)、MCP ツールのアノテーション(
readOnlyHint、destructiveHint、idempotentHint)に対応します。 - Prompts — 全体用のプロンプト(
spec_overview、integration_guardrails)と操作別のプロンプト(explain_*、plan_*、sample_*)を生成します。 - Resources —
openapi://spec/summary、openapi://catalog/tools、openapi://spec/documentなどの固定カタログリソースを提供します。
トランスポート
- stdio —
startStdioServer()は、Claude Desktop やエディター統合など、ローカルの MCP クライアントに 1 つのドキュメントを提供します。 - HTTP —
attachMcpRoutes(app, options)は Express アプリの/mcpに Streamable HTTP をマウントし、必要に応じて/sseに従来の SSE を追加します。オプションでセッション数の上限、アイドルタイムアウト、CORS、DNS リバインディング対策を設定できます。startAdminServer()は管理画面を追加し、デフォルトのセッション上限を使用します。attachSseRoutes()は位置引数を取る非推奨のラッパーとして残っています。
管理サーバー
startAdminServer() は Express アプリを起動し、次の機能を提供します。
- 仕様のアップロードや貼り付け、ツール・プロンプト・リソースの確認、実行中のサービスとリクエストログの表示ができる Web 管理画面。
- MCP の HTTP トランスポート。
- API キー認証、機密ヘッ ダーをマスキングしたリクエストログ、任意の状態永続化。
インストール
npm install @powerduck/openapi-mcp-server
クイックスタート
openapi-mcp serve --transport web --port 3000 --api-key your-admin-key
次のステップ
- インストール — npm/yarn/pnpm、グローバルインストール、
./serverサブパス、依存関係。 - クイックスタート — CLI とプログラムからの使用方法。
- 設定 —
ServerConfigの全設定。 - API リファレンス — すべてのエクスポートと CLI コマンド。
- 使用例 — 実践的な使用例。
ライセンス
MIT.