RESEARCH / DOCUMENTMarkdown原文 ↗

MCPでCVE-infoを使う

CVE-infoの脆弱性情報を、Claude DesktopなどのAIクライアントから検索・取得できます。MCP(Model Context Protocol)は、AIクライアントが外部の情報やツールを利用するための接続方式です。

このMCPは手元の端末で動き、CVE-infoで公開済みの公式情報・AI解説・Web調査メモを読み取ります。MCP用のAPIキーは不要です。AIクライアント側の契約や利用料金は別途そのサービスに従います。

まずは1行で登録

先に uv と利用するAIクライアントをインストールしてください。Python 3.11以上が必要で、uvは必要なPythonを取得できます。以下のコマンドはPowerShellやターミナルで実行します。

Claude Desktop(Windows / macOS)に登録する場合:

uvx cve-info-mcp install --client claude-desktop

実行後にClaude Desktopを再起動し、MCPサーバー cve-info が利用できることを確認してください。登録コマンドは既存の設定を保持し、変更前のバックアップを作成します。同じ名前の異なる設定がある場合は上書きせずに停止します。

他の対応クライアントでは、次のどちらかを使います。対象のCLIがインストールされ、ターミナルから起動できることが前提です。

クライアント 登録コマンド
Claude Code uvx cve-info-mcp install --client claude-code
Codex CLI uvx cve-info-mcp install --client codex

登録前に変更内容だけ確認するには、末尾に --dry-run を付けます。Claude Desktopの設定ファイルを指定する場合は --config PATH を使えます。

配布パッケージは CVE-info-MCP(PyPI) です。CVE-info(PyPI) は同じ実装をインストールするエイリアスです。

AIへの依頼例

接続後、チャットでCVE-infoを使うように依頼します。

CVE-infoを使ってCVE-2026-99083を調べてください。公式情報、AI解説、Web調査メモを区別し、出典URLを付けて説明してください。

CVE-infoからLinuxの認証に関する脆弱性を検索し、公開日が新しいものを挙げてください。実悪用が確認されているかも区別してください。

CVE-infoのsearch_cvesでkev_onlyをtrueにして検索してください。各CVEの影響と対策を、出典を確認しながら整理してください。

検索はキーワードの部分一致・空白区切りのAND検索です。自然文の意味検索ではないため、見つからない場合は製品名やCVE番号などの短い語に絞ってください。

結果には、たとえば CVE-2026-99083の詳細ページ のような dev.mhirano.jp のURLと、元の情報源のURLが含まれます。チャットでの引用の表示方法はクライアントによって異なります。

使えるツール

ツール 用途
search(query) CVE番号・製品名・日本語キーワード・CWEで検索。ID、タイトル、URL、概要を返します。
fetch(id) 1件のCVEについて、公式情報・AI解説・Web調査メモと出典を取得します。
search_cves(query, limit, offset, kev_only, ai_only, research_only) KEV掲載・AI解説あり・調査メモありで絞り込みます。1回最大50件で、続きはoffsetで指定します。
get_cve(id, section, max_characters) official、ai、research、allから取得範囲を選べます。文字数の上限は50,000文字です。
get_status() ローカル索引の更新状態・収録件数・配信元などを確認します。

このMCPは読み取り専用です。新しいWeb検索、外部記事本文の取得、LLMによる追加調査、リポジトリの変更は行いません。調査メモがないCVEについて、メモを新規生成する機能もありません。

初回の準備とデータ更新

初回検索では検索用データをダウンロードして、端末内に索引を作ります。最初の応答を待たせたくない場合は、接続前に実行できます。

uvx cve-info-mcp update

データはGitHub Pagesから取得します。配信側の更新は毎時のGitHub Actionsで行い、MCPは利用時に約1時間ごとに更新の有無を確認します。個別CVEの詳細も必要になった時点で取得・キャッシュします。Actionsの実行遅延や情報源の更新時刻により、最新情報の反映には差があります。

更新に失敗した場合、利用できる古いキャッシュがあれば stale とエラー情報を付けて返します。初回取得に失敗した場合や、明示的な update の失敗はエラーになります。内容を判断する際は、収集状況と各出典の日付も確認してください。

接続できないとき

uvxが見つからない

uvのインストール後にターミナルを開き直し、uvx --version が動くか確認してください。

クライアントにサーバーが表示されない

登録コマンドの成功を確認し、クライアントを再起動してください。Claude Desktopでは、--dry-run で対象の設定ファイルを確認できます。既存の cve-info 設定が競合している場合は、その内容を確認してから登録し直します。

クライアントを介さずに、データ取得と検索を確認することもできます。

uvx cve-info-mcp update
uvx cve-info-mcp search "Linux 認証"
uvx cve-info-mcp fetch CVE-2026-99083
uvx cve-info-mcp status

公開直後のバージョンがインストールできない

uvの exclude-newer で新しいパッケージを一定期間除外している場合は、その制限の対象になっている可能性があります。制限期間を待つか、CVE-info-MCPだけを例外として許可する場合には次のコマンドを使います。依存パッケージの制限は維持します。

uvx --exclude-newer-package cve-info-mcp=0d cve-info-mcp install --client claude-desktop --allow-new-release

--allow-new-release は、登録される起動コマンドにも同じ例外を保存します。通常の導入では不要です。

ChatGPT・ClaudeのWeb版で使いたい場合

上記の1行登録は、端末上でMCPを起動できるクライアント向けです。このサイトやデータ配信用のGitHub Pages URLは、リモートMCPの接続先URLではありません。 Web版のリモート接続先に貼り付けるだけでは利用できません。

HTTP方式で起動する機能はありますが、待ち受け先は端末内だけです。

uvx cve-info-mcp serve --transport streamable-http --port 8766

接続先は http://127.0.0.1:8766/mcp です。Web版から利用するには、対応クライアントの条件を満たすHTTPS・認証・トンネルなどの構成と、端末・MCPプロセスの継続稼働が別途必要です。これらの公開設定はこのパッケージでは自動化しません。

情報の扱いと関連リンク

AI解説やWeb調査メモは、公式アドバイザリと区別して利用してください。KEVへの未掲載や検索結果がないことは、安全であることを示しません。修正バージョンや対策の判断は元の情報源で確認してください。

パッケージのコードはMIT Licenseですが、取得する情報すべてがMITになるわけではありません。データには各情報源の利用条件が適用されます。