mcpField
U
Unbundle Openapi Specs

Unbundle Openapi Specs

ローカル
github.com/auto-browse開発ツール275 週間前に更新

Unbundle Openapi Specs について

Unbundle Openapi Specsは、OpenAPI定義ファイルを扱う開発者向けのMCPサーバーです。仕様を複数ファイルに分割したり、指定したエンドポイントと参照コンポーネントだけを含む小さなファイルを作成したりできます。

主な機能

  1. 01OpenAPI定義を複数ファイルに分割
  2. 02指定エンドポイントを新しい仕様に抽出
  3. 03抽出結果に参照コンポーネントを保持
  4. 04Redocly CLIによる分割とバンドル

活用シーン

  1. 01大きなOpenAPI定義を小さなファイルに分割
  2. 02必要なエンドポイントパスだけを含む仕様を作成

MCP 対応

stdio経由でMCPクライアントに`split_openapi`と`extract_openapi_endpoints`ツールを提供します。仕様の分割とバンドルには`@redocly/cli`を使用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"unbundle_openapi_mcp": {
"command": "npx",
"args": [
"-y",
"@auto-browse/unbundle-openapi-mcp"
]
}
}
}
起動コマンドnpx -y @auto-browse/unbundle-openapi-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@auto-browse/unbundle-openapi-mcp

ツール

2

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
apiPathstringはい入力 OpenAPI 定義ファイルの絶対パス。
outputDirstringはい分割後の出力ファイル用ディレクトリの絶対パス。

詳細

OpenAPI MCP サーバーの分割解除

smithery badge

このプロジェクトでは、OpenAPI 仕様ファイルを複数のファイルに分割したり、特定のエンドポイントを新しいファイルに抽出したりするツールを備えた Model Context Protocol(MCP)サーバーを提供します。MCP クライアント(AI アシスタントなど)を使用して、OpenAPI 仕様をプログラムから操作できます。

前提条件

  • Node.js(LTS バージョンを推奨。例:v18 または v20)
  • npm(Node.js に付属)

使い方

Smithery 経由でインストールする

Smithery 経由で、Claude Desktop 用の Unbundle OpenAPI MCP Server を自動的にインストールするには:

npx -y @smithery/cli install @auto-browse/unbundle_openapi_mcp --client claude

このサーバーを使う最も簡単な方法は npx 経由です。グローバルインストールを行わずに、常に最新バージョンを使用できます。

npx @auto-browse/unbundle-openapi-mcp@latest

代わりに、グローバルインストールすることもできます(通常は推奨されません)。

npm install -g @auto-browse/unbundle-openapi-mcp
# Then run using: unbundle-openapi-mcp

サーバーが起動し、標準入力/出力(stdio)で MCP リクエストを待ち受けます。

クライアントの設定

VS Code、Cline、Cursor、Claude Desktop などの MCP クライアントでこのサーバーを使用するには、それぞれの設定ファイルに設定を追加してください。npx を使う方法を推奨します。

VS Code / Cline / Cursor

次の内容をユーザーの settings.json(Ctrl+Shift+P > Preferences: Open User Settings (JSON) から開けます)またはワークスペースのルートにある .vscode/mcp.json ファイルに追加してください。

// In settings.json:
"mcp.servers": {
  "unbundle_openapi": { // You can choose any key name
    "command": "npx",
    "args": [
      "@auto-browse/unbundle-openapi-mcp@latest"
    ]
  }
  // ... other servers can be added here
},

// Or in .vscode/mcp.json (omit the top-level "mcp.servers"):
{
  "unbundle_openapi": { // You can choose any key name
    "command": "npx",
    "args": [
      "@auto-browse/unbundle-openapi-mcp@latest"
    ]
  }
  // ... other servers can be added here
}
Claude Desktop

次の内容を claude_desktop_config.json ファイルに追加してください。

{
	"mcpServers": {
		"unbundle_openapi": {
			// You can choose any key name
			"command": "npx",
			"args": ["@auto-browse/unbundle-openapi-mcp@latest"]
		}
		// ... other servers can be added here
	}
}

設定を追加した後、変更を反映するためにクライアントアプリケーションを再起動してください。

提供される MCP ツール

split_openapi

説明: redocly split コマンドを実行し、OpenAPI 定義ファイルの構造に基づいて、複数の小さなファイルに分割します。

引数:

  • apiPath(string、必須):入力する OpenAPI 定義ファイルへの絶対パス(例:openapi.yaml)。
  • outputDir(string、必須):分割後のファイルを保存するディレクトリへの絶対パス。このディレクトリが存在しない場合は作成されます。

戻り値:

  • 成功時:redocly split コマンドの標準出力を含むテキストメッセージ(通常は確認メッセージ)。
  • 失敗時:コマンド実行時の標準エラーまたは例外の詳細を含むエラーメッセージ。isError: true が設定されます。

使用例(概念的な MCP リクエスト):

{
	"tool_name": "split_openapi",
	"arguments": {
		"apiPath": "/path/to/your/openapi.yaml",
		"outputDir": "/path/to/output/directory"
	}
}
extract_openapi_endpoints

説明: 大きな OpenAPI 定義ファイルから特定のエンドポイントを抽出し、それらのエンドポイントと参照先のコンポーネントのみを含む、新しく小さな OpenAPI ファイルを作成します。元のファイルを分割し、指定されたパスのみを残すように構造を変更してから、結果をバンドルします。

引数:

  • inputApiPath(string、必須):入力する大きな OpenAPI 定義ファイルの絶対パスです。
  • endpointsToKeep(文字列の配列、必須):最終出力に含める正確なエンドポイントパス(文字列)のリストです(例:["/api", "/api/projects/{id}{.format}"])。元の仕様に存在しないパスは無視されます。
  • outputApiPath(string、必須):バンドル後の小さな OpenAPI ファイルを保存する絶対パスです。ディレクトリが存在しない場合は作成されます。

戻り値:

  • 成功時:作成したファイルのパスと、redocly bundle コマンドの標準出力を示すテキストメッセージです。
  • 失敗時:失敗した処理(分割、変更、バンドル)の詳細を含むエラーメッセージです。isError: true が設定されます。

使用例(概念上の MCP リクエスト):

{
	"tool_name": "extract_openapi_endpoints",
	"arguments": {
		"inputApiPath": "/path/to/large-openapi.yaml",
		"endpointsToKeep": ["/users", "/users/{userId}/profile"],
		"outputApiPath": "/path/to/extracted-openapi.yaml"
	}
}

注: このサーバーは、内部で npx @redocly/cli@latest を使用して、基盤となる split コマンドと bundle コマンドを実行します。@redocly/cli がキャッシュされていない場合、npx による取得にインターネット接続が必要になることがあります。extract_openapi_endpoints の処理中に一時ファイルが作成され、自動的に削除されます。

開発

貢献する場合、またはソースからサーバーを実行する場合:

  1. クローン: このリポジトリをクローンします。
  2. 移動: cd unbundle_openapi_mcp
  3. 依存関係のインストール: npm install
  4. ビルド: npm run build(TypeScript を dist/ にコンパイルします)
  5. 実行: npm start(dist/ 内のコンパイル済みコードを使用してサーバーを起動します)

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。