mcpField
O
OpenAPI Lint

OpenAPI Lint

ローカル
basitalisandhu.github.io開発ツール12 日前に更新

OpenAPI Lint について

OpenAPI Lintは、OpenAPI 3.0および3.1の文書を検査し、操作を確認するMCPサーバーです。API開発者がセキュリティや完全性の問題を見つけられるよう、ローカル参照のみを解決します。

主な機能

  1. 01OpenAPI 3.0と3.1の文書を検査
  2. 02セキュリティと完全性の問題を報告
  3. 03有効なセキュリティ設定と操作を一覧表示
  4. 04操作の確認と検査ルールの説明

活用シーン

  1. 01セキュリティ設定やレスポンス定義の不足を発見
  2. 02操作のパラメーターとレスポンスを確認
  3. 03検査結果と修正方法を把握

MCP 対応

MCPクライアントにOpenAPIの検査、操作確認、ルール説明ツールを提供します。ローカルファイルまたはインライン文書を受け取り、参照先を取得しません。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"basitalisandhu-mcp-openapi-lint": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/basitalisandhu/mcp-openapi-lint:0.3.0"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/basitalisandhu/mcp-openapi-lint:0.3.0

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

パッケージ
ocighcr.io/basitalisandhu/mcp-openapi-lint:0.3.0

ツール

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

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

詳細

openapi-lint MCP サーバー

OpenAPI 3.0 または 3.1 のドキュメント(JSON または YAML。ローカルパスまたはインライン)を読み込み、セキュリティや完全性に関する問題を検出します。また、有効なセキュリティ設定とともにオペレーションを一覧表示し、取得します。解決されるのはローカルの #/ 参照のみで、外部からの取得は行いません。

dev-mcp-servers の一部です。Stdio トランスポートのみを使用し、サーバーがポートを開くことはありません。

ツール

ツール入力戻り値
lint_openapipath または document、ignore?重要度順に並べた検出結果。ルール ID、JSON Pointer パス、メッセージが含まれます。内容は、OpenAPI バージョン、HTTP サーバー、未定義・未使用・未設定のセキュリティスキーム、セキュリティ設定のないオペレーション(明示的に公開されているものを含む)、レスポンスまたは成功レスポンスのないオペレーション、説明のないレスポンスとパラメーター、宣言されていない、または必須でないパスパラメーター、未設定または重複した operationId、バージョン指定のないパス、空のリクエストボディ、非推奨のオペレーション、未宣言のタグです。
list_operationspath または document、tag?、method?、path_prefix?すべてのオペレーション。operationId、summary、タグ、非推奨フラグ、有効なセキュリティ設定(security: [] の場合は public、適用される設定がない場合は inherited-none)、パラメーター、リクエストのメディアタイプ、レスポンスコードが含まれます。
get_operationpath または document、operation_id または method + operation_pathパスレベルのパラメーターを統合し、ローカル参照を解決した、1 つのオペレーションの全情報。
explain_rulerule重要度、ルールが検出する内容、修正方法。

インストール

Claude Code:

claude mcp add openapi-lint -- docker run --rm -i -v "$PWD:/work:ro" ghcr.io/basitalisandhu/mcp-openapi-lint:0.2.2

すべてのプロジェクトで利用できるようにするには、-s user を追加します。.mcp.json を読み込むクライアント(Claude Code、Claude Desktop、Cursor)では、次のようにします。

{
  "mcpServers": {
    "openapi-lint": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-v", "/path/to/your/project:/work:ro", "ghcr.io/basitalisandhu/mcp-openapi-lint:0.2.2"]
    }
  }
}

表示されているとおりにバージョンを固定すると、気付かないうちに更新によってエディターで実行される内容が変わるのを防げます。コンテナから見えるのはマウントされたディレクトリのみなので、/work 以下のパスを指定してください。パッケージはまだ npmjs.com に公開されていないため、npx は機能しません。GitHub Packages npm については、リポジトリの README を参照してください。チェックアウトしたリポジトリから使う場合は、リポジトリのルートで npm install && npm run build を実行した後、"command": "node", "args": ["<path>/packages/openapi-lint/dist/index.js"] を指定します。

影響する範囲

  • ネットワーク:なし。
  • ローカルファイル:指定したファイルを 1 つ読み込みます。サイズ上限は 5 MB です。YAML の解析にはエイリアス数の上限が適用されます。
  • テレメトリー:なし。

注意事項

  • Swagger 2.0 のドキュメントは lint されず、openapi-version ルールによって報告されます。
  • 検出結果が示すのはドキュメントの内容であり、稼働中の API ではありません。

ビルドとテスト

npm install        # at the repository root
npm run build -w @basitalisandhu/mcp-openapi-lint
npm test -w @basitalisandhu/mcp-openapi-lint

テストには node:test と SDK のインメモリトランスポートを使用し、ネットワークには接続しません。

ライセンス

MIT です。LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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