CVE-info-mcp
CVE-info の公開脆弱性情報を、ローカルで動く読み取り専用 MCP から検索・取得します。検索結果・詳細本文には dev.mhirano.jp の個別ページ URL を含め、公式情報、AI解説、Web調査メモと出典を分けて返します。LLM API キーは不要で、このパッケージ自体は生成・追加調査を行いません。
1 行でクライアントへ登録
uv と利用するクライアントを先にインストールしてください。Python 3.11 以上が必要です。uv は必要な Python を取得できます。
uvx cve-info-mcp install --client claude-desktop
Claude Desktop を再起動すると cve-info が利用できます。Windows/macOS の設定ファイルを更新し、既存設定を保存してバックアップを作ります。同名の異なる設定があるときは上書きせずエラーにします。確認だけなら --dry-run、設定ファイルを明示する場合は --config PATH を付けてください。
CLI クライアント用の登録コマンドもあります。
uvx cve-info-mcp install --client claude-code
uvx cve-info-mcp install --client codex
配布名 CVE-info は同一バージョンの CVE-info-MCP を導入するエイリアスです。uvx cve-info install --client claude-desktop でも同じ実装が動きます。PyPI の名前は大文字小文字を区別しないため、CVE-info-MCP と cve-info-mcp は同一パッケージです。
配信する内容と URL
| ツール | 内容 |
|---|---|
search(query) |
CVE番号・製品・日本語・CWEの検索。結果ごとに id, title, url, summary |
fetch(id) |
公式情報、AI解説、Web調査メモ。本文冒頭と url に個別ページ URL |
search_cves(...) |
KEV・AI解説・調査メモの有無で絞り込み、最大50件とページ送り |
get_cve(id, section, max_characters) |
all, official, ai, research の選択、最大50,000文字の枠で取得 |
get_status() |
ローカル索引のバージョン・更新状態・収録件数・公式サイト URL |
例: CVE-2026-99083 の引用先は https://dev.mhirano.jp/CVE-info/cve.html?id=CVE-2026-99083 です。外部のベンダー告知・調査記事 URL も出典として返します。クライアントにはこれらを引用して回答するよう指示しますが、最終的な引用表示はクライアント側の動作に依存します。
検索は Unicode 正規化後の部分一致・空白区切り AND 検索です。意味検索ではありません。公開日の新しい順で返します。調査メモがない場合は「未作成」、長い内容は省略したセクションをメタデータに記載します。KEV未掲載や検索結果なしを安全という意味には解釈しません。収録範囲と各情報源の状態は 元サイトの収集状況を確認してください。
GitHub Pages だけでの配信
CVE-info の公開 search-index.json
→ 毎時37分の GitHub Actions(LLM 呼び出しなし)
→ CVE-info-mcp の Pages: data/manifest.json + 圧縮した検索データ
→ 利用者の Python MCP: ローカル SQLite 検索
→ 詳細は元サイト assets/cves/...json から必要時に取得
データ配信先は https://dev.mhirano.jp/CVE-info-mcp/data/ です。動的サーバーやクラウドDBは不要です。Actions のスケジュールは実行が遅れる場合があります。索引は初回検索時にダウンロードして構築し、その後は1時間ごとに確認、変更のあった圧縮ファイルだけ再取得します。詳細データは必要な番号帯だけ取得し1時間キャッシュします。索引と詳細は別時点の情報になり得るため、双方の鮮度を表示します。
初回検索には待ち時間があるため、クライアント接続前に uvx cve-info-mcp update で準備できます。更新失敗時は古いキャッシュを stale とエラー情報付きで返し、初回取得失敗・明示した update の失敗はエラーになります。配信 Actions が取得に失敗した場合も CI は失敗します。
uvx cve-info-mcp update
uvx cve-info-mcp search "Linux 認証"
uvx cve-info-mcp fetch CVE-2026-99083
uvx cve-info-mcp status
保存先は OS 標準のユーザーキャッシュです。CVE_INFO_CACHE_DIR または --cache-dir PATH で変更できます。配信元変更は CVE_INFO_DATA_URL または --data-url HTTPS_URL、これらの CLI オプションはサブコマンドの前に置きます。元記事へのリンクは返しますが、外部記事へのアクセスや任意URL取得ツールは提供しません。
Web 版クライアントからの接続
上の1行はローカル MCP に対応するクライアント用です。GitHub Pages の URL を ChatGPT・Claude Web のリモート MCP URL に登録しても接続できません。Web 版から使う場合は、対応するトンネル等で利用者の端末へ到達させる構成が別途必要です。HTTP モードはローカルループバックだけに待ち受けます。
uvx cve-info-mcp serve --transport streamable-http --port 8766
エンドポイントは http://127.0.0.1:8766/mcp です。公開認証・HTTPS・トンネル設定はこのパッケージの対象外で、端末と MCP プロセスの稼働が必要です。
開発・公開
uv sync --locked
uv run pytest
uv build --out-dir dist/primary
uv build alias --out-dir dist/alias
uv run python scripts/check_release.py
uv run twine check dist/primary/* dist/alias/*
check.yml は Windows・macOS・Linux と Python 3.11/3.13 で検証します。data.yml は毎時のデータ公開、publish.yml は GitHub Release 作成時のパッケージ公開です。バージョンを本体・aliasの両 pyproject.toml、aliasの依存指定、src/cve_info_mcp/__init__.py で揃え、uv lock を実行してからタグ vX.Y.Z を main 上に作成し、GitHub Release を公開します。再実行では対象タグを指定してください。本体の公開成功後にエイリアスを公開します。
PyPI Trusted Publisher は次の2件を登録します。APIトークンや Actions Secret は不要です。
| PyPI Project name | Owner | Repository name | Workflow name | Environment name |
|---|---|---|---|---|
CVE-info-MCP |
masanorihirano |
CVE-info-mcp |
publish.yml |
pypi |
CVE-info |
masanorihirano |
CVE-info-mcp |
publish.yml |
pypi2 |
Pending Publisher の登録だけでは名前は予約されません。初回アップロード成功後にプロジェクトが作成されます。GitHub Pages の Source は GitHub Actions を指定します。
利用条件
このリポジトリの Python コードは MIT License です。取得する脆弱性情報・外部文書・AI解説に一括して MIT を付与するものではありません。各情報源の権利と利用条件を引き継ぎます。元サイトの情報源・利用条件と、返却する出典 URL を確認してください。
Metadata
Release files for CVE-info-MCP 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| cve_info_mcp-0.1.0.tar.gz | 95.0 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cve_info_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 112.8 kB
Release files / cve_info_mcp-0.1.0.tar.gz
| Download URL | cve_info_mcp-0.1.0.tar.gz |
|---|---|
| Size | 95.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e9d3b73bd8f45c524082b07bf87b73564fa6747460b7521b966db2de8ac95610
|
|
BLAKE2b-256 checksum How to use checksums |
16adb1c74ce5bab8752bf5c01940b996a330cc8cd02cd2f7ab242a580548a9dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logRelease files / cve_info_mcp-0.1.0-py3-none-any.whl
| Download URL | cve_info_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 17.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d668c3c29fa5bee304479fec456887aa26001bcbbefc37b3d81a843f6e3dd3ea
|
|
BLAKE2b-256 checksum How to use checksums |
0736b44d1afba4d57999b673e1b2f3c6c838111ed1f6caa219c00c29cff155ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logSecurity for CVE-info-MCP 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for cve_info_mcp-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.