OSV Advisories について
OSV Advisories は、パッケージの脆弱性確認やロックファイルのスキャンに使う開発者向け MCP サーバーです。OSV.dev からアドバイザリを取得し、接続先を api.osv.dev に限定します。
主な機能
- 01パッケージとバージョンでアドバイザリを検索
- 02最大 1,000 件のパッケージを一括検索
- 03対応ロックファイル内の固定バージョンをスキャン
- 04脆弱性レコードの詳細を取得
活用シーン
- 01依存関係の更新前に既知の脆弱性を確認
- 02プロジェクトのロックファイルをスキャン
MCP 対応
パッケージ検索、一括検索、ロックファイルのスキャン、脆弱性情報の取得を MCP ツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/basitalisandhu/mcp-osv-advisories:0.3.0ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/basitalisandhu/mcp-osv-advisories:0.3.0stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
osv-advisories MCP サーバー
OSV.dev データベースで、パッケージ名、バージョン、エコシステムを指定して既知の脆弱性を検索し、ロックファイルをスキャンします。接続先は api.osv.dev のみで、HTTPS を使用します。リクエストごとのタイムアウトは 15 s、レスポンスの上限は 8 MB です。
dev-mcp-servers の一部です。Stdio トランスポートのみを使用し、サーバーがポートを開くことはありません。
ツール
| ツール | 入力 | 返される内容 |
|---|---|---|
query_package | ecosystem、name、version? | 1 つのパッケージに関するアドバイザリの詳細:ID、エイリアス(CVE)、概要、深刻度、影響範囲、修正バージョン、参照情報。POST /v1/query を使用し、最大 5 ページまで取得します。 |
query_batch | packages[](最大 1000 件) | パッケージごとのアドバイザリ ID。POST /v1/querybatch を 100 件ずつの単位で使用します。 |
scan_lockfile | path または content、filename?、format?、include_details? | package-lock.json(v1〜v3)、requirements.txt(== による固定バージョンのみ)、poetry.lock または go.sum(基本対応)を解析し、固定バージョンのすべてのパッケージを一括検索します。スキップした項目も一覧表示します。ローカルファイルを 1 件読み込みます(最大 10 MB)。 |
get_vulnerability | id | 1 件のアドバイザリの詳細。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を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。