mcpField
O
OSV Advisories

OSV Advisories

ローカル
basitalisandhu.github.ioセキュリティ11 日前に更新

OSV Advisories について

OSV Advisories は、パッケージの脆弱性確認やロックファイルのスキャンに使う開発者向け MCP サーバーです。OSV.dev からアドバイザリを取得し、接続先を api.osv.dev に限定します。

主な機能

  1. 01パッケージとバージョンでアドバイザリを検索
  2. 02最大 1,000 件のパッケージを一括検索
  3. 03対応ロックファイル内の固定バージョンをスキャン
  4. 04脆弱性レコードの詳細を取得

活用シーン

  1. 01依存関係の更新前に既知の脆弱性を確認
  2. 02プロジェクトのロックファイルをスキャン

MCP 対応

パッケージ検索、一括検索、ロックファイルのスキャン、脆弱性情報の取得を MCP ツールとして公開します。

設定

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

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

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

パッケージ
ocighcr.io/basitalisandhu/mcp-osv-advisories:0.3.0

ツール

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

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

詳細

osv-advisories MCP サーバー

OSV.dev データベースで、パッケージ名、バージョン、エコシステムを指定して既知の脆弱性を検索し、ロックファイルをスキャンします。接続先は api.osv.dev のみで、HTTPS を使用します。リクエストごとのタイムアウトは 15 s、レスポンスの上限は 8 MB です。

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

ツール

ツール入力返される内容
query_packageecosystem、name、version?1 つのパッケージに関するアドバイザリの詳細:ID、エイリアス(CVE)、概要、深刻度、影響範囲、修正バージョン、参照情報。POST /v1/query を使用し、最大 5 ページまで取得します。
query_batchpackages[](最大 1000 件)パッケージごとのアドバイザリ ID。POST /v1/querybatch を 100 件ずつの単位で使用します。
scan_lockfilepath または content、filename?、format?、include_details?package-lock.json(v1〜v3)、requirements.txt(== による固定バージョンのみ)、poetry.lock または go.sum(基本対応)を解析し、固定バージョンのすべてのパッケージを一括検索します。スキップした項目も一覧表示します。ローカルファイルを 1 件読み込みます(最大 10 MB)。
get_vulnerabilityid1 件のアドバイザリの詳細。GET /v1/vulns/{id} を使用します。

インストール

Claude Code:

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

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

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

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

アクセス対象

  • ネットワーク:https://api.osv.dev のみ。他のオリジンへのリクエストは、送信前に拒否されます。リダイレクトも拒否されます。テレメトリーはありません。
  • ローカルファイル:scan_lockfile は指定されたファイルを 1 件読み込みます(最大 10 MB)。
  • テレメトリー:ありません。

注意事項

  • エコシステム名は OSV の一覧と大文字・小文字を区別せずに照合され、正規化されます(pypi は PyPI になります)。不明な名前は空の結果ではなく、エラーになります。
  • Go モジュールでは、OSV の仕様に合わせてバージョンの先頭にある v を取り除きます。
  • 結果が空の場合、そのパッケージとバージョンに該当するアドバイザリが OSV にないことを意味します。パッケージが安全であることを証明するものではありません。

ビルドとテスト

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

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

ライセンス

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

コメント

MCP は初めてですか?

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

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