mcpField
M
MCP Swagger Server

MCP Swagger Server

ローカル
github.com/andersmandersen開発ツール081 週間前に更新

MCP Swagger Server について

MCP Swagger ServerはSwagger/OpenAPIドキュメントと仕様に基づくAPIリクエストを、MCP経由で扱うためのサーバーです。URLから仕様を読み込み、仕様に照らしてリクエストを検証します。

主な機能

  1. 01URLからSwaggerドキュメントを読み込み
  2. 02全文書をリソースとして公開
  3. 03仕様に基づくAPIリクエスト
  4. 04APIキー認証への対応
  5. 05仕様のキャッシュとリクエスト検証

活用シーン

  1. 01MCPセッションでAPIドキュメントを確認
  2. 02OpenAPI仕様に基づくAPI呼び出し
  3. 03リクエスト送信前のパラメーター検証

MCP 対応

全文書を`swagger://documentation`リソースとして公開し、仕様に基づいてAPIリクエストを行う`makeRequest`ツールを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"swagger": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

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

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Swagger Server

Swagger/OpenAPI ドキュメントにアクセスし、仕様に基づいて API リクエストを実行できる MCP サーバーです。

機能

  • URL から Swagger ドキュメントを読み込みます
  • Swagger の仕様に基づいて API リクエストを実行します
  • API キーによる認証に対応しています
  • パフォーマンス向上のため、Swagger の仕様をキャッシュします
  • Swagger の仕様に照らしてリクエストを検証します

セットアップ

  1. 依存関係をインストールします:
npm install
  1. TypeScript コードをビルドします:
npm run build

ローカルでの実行

開発モード:

npm run dev

本番モード:

npm run start

設定

サーバーには、以下の環境変数が必要です:

  • SWAGGER_URL:Swagger 仕様の URL(必須)
  • AUTH_KEY:API リクエスト用の認証キー(任意)

利用可能なリソースとツール

リソース:swagger-doc
  • URI:swagger://documentation
  • 説明:Swagger ドキュメント全体を取得します
ツール:makeRequest

Swagger の仕様に基づいて API リクエストを実行します。

パラメーター:

  • path:API エンドポイントのパス
  • method:HTTP メソッド(GET、POST など)
  • parameters:省略可能なパス/クエリパラメーター
  • body:省略可能なリクエストボディ

例:

const result = await mcp.tools.makeRequest({
  path: "/api/users",
  method: "GET",
  parameters: { userId: "123" }
});

Smithery.ai へのデプロイ

このサーバーは Smithery.ai へのデプロイ用に設定されています。デプロイには、以下が必要です:

  1. サーバーをビルドして実行する Dockerfile
  2. smithery.yaml 設定ファイル
  3. 適切な TypeScript ビルド設定
設定スキーマ

Smithery.ai にデプロイする際は、サーバーを以下のように設定します:

{
  "swaggerUrl": "https://api.example.com/swagger.json",
  "authKey": "your-api-key"  // Optional
}
Smithery を使ったローカルテスト
  1. Docker イメージをビルドします:
docker build -t mcp-swagger .
  1. コンテナを実行します:
docker run -e SWAGGER_URL=your-swagger-url -e AUTH_KEY=your-auth-key mcp-swagger

開発

スクリプト
  • npm run build:TypeScript コードをビルドします
  • npm run start:サーバーを本番モードで実行します
  • npm run dev:ホットリロードを有効にして、サーバーを開発モードで実行します

コメント

MCP は初めてですか?

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

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