🛡️ EUVDB MCP Server について
ENISAの公開EUVDB脆弱性APIを照会するPython製MCPサーバーです。脆弱性やアドバイザリを調査するセキュリティチームやアシスタント向けに、検索と絞り込みのツールを提供します。
主な機能
- 01最新の脆弱性一覧
- 02最近悪用された脆弱性
- 03最新の重大な脆弱性
- 04CVEまたはENISA IDで検索
- 05アドバイザリ検索
- 06条件指定で脆弱性を検索
活用シーン
- 01新たに公開された脆弱性の確認
- 02CVEの登録状況の確認
- 03重大または悪用中の問題の特定
- 04スコア、日付、製品での絞り込み
MCP 対応
Claude DesktopやVisual Studio CodeなどのMCPクライアントに、ENISA EUVDBの検索ツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🛡️ EUVDB MCP Server
Model Context Protocol (MCP) を使用して、ENISA EUVDB Public Vulnerability API と連携する Python 製の MCP サーバーです。
このサーバーは、Claude Desktop や Visual Studio Code(VSCode)などの MCP 対応 AI アシスタントから呼び出せるクエリツールを公開します。
📁 プロジェクト構成
euvdb-mcp-server/
├── Dockerfile # Dockerfile to build the Docker image of the project
├── LICENSE # Project license
├── README.md # Project documentation
├── server.py # MCP server with tools to query the ENISA API
└── pyproject.toml # (optional, if using uv as package manager)
🚀 はじめに
1. リポジトリをクローンする
git clone https://github.com/etxahun/euvdb-mcp-server.git
cd euvdb-mcp-server
2. 仮想環境を作成して依存関係をインストールする
要件:Python 3.10 以上、および環境マネージャーとして uv(任意ですが、推奨)を使用します。
# Install uv if not already available
curl -LsSf https://astral.sh/uv/install.sh | sh
# Initialize virtual environment
uv venv
source .venv/bin/activate
# Install dependencies
uv add "mcp[cli]" httpx
3. MCP サーバーを実行する
-
オプション A:ローカルで実行する
uv run server.py -
オプション B:WSL(Windows Subsystem for Linux)から実行する
wsl bash -c 'cd /path/to/euvdb-mcp-server && /home/<user>/.local/bin/uv run server.py'
🧪 Docker でローカルテストする
ターミナルで次のコマンドを実行します。
docker build -t mcp-euvdb .
docker run --rm mcp-euvdb
⚙️ VSCode の Claude との連携
- VSCode を開き、Claude AI Assistant 拡張機能がインストールされていることを確認します。
- 注:「Claude Desktop」を使用する場合、拡張機能をインストールする必要はありません。
-
settings.json を開きます(Ctrl+Shift+P → "Preferences: Open Settings (JSON)")。
-
次の内容を追加します。
"mcp": {
"servers": {
"euvdb": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"cd /home/<user>/path/to/project/euvdb-mcp-server && /home/<user>/.local/bin/uv run server.py"
]
}
}
}
Docker イメージ mcp-euvdb がすでにビルドされている場合は、次のように settings.json ファイルを変更して、VSCode から直接使用するように設定できます。
"mcp": {
"servers": {
"euvdb": {
"command": "wsl.exe",
"args": [
"docker",
"run",
"--rm",
"-i",
"mcp-euvdb"
]
}
}
}
🧪 利用可能なツール
MCP サーバーは次のツールを公開します。
| ツール | 説明 |
|---|---|
get_last_vulnerabilities() | 最新の公開済み脆弱性(最大 8 件) |
get_exploited_vulnerabilities() | 最近悪用された脆弱性(最大 8 件) |
get_critical_vulnerabilities() | 最新の重大な脆弱性(最大 8 件) |
get_vulnerability_by_id(id) | CVE ID で脆弱性を検索(例:CVE-2024-0864) |
get_enisaid(id) | ENISA ID で検索(例:EUVD-2024-45012) |
get_advisory(id) | ID でアドバイザリを取得(例:cisco-sa-ata19x-...) |
query_vulnerabilities(...) | フィルター(スコア、EPSS、日付、製品など)を使った高度なクエリ |
💬 プロンプトの例
- 「euvdb を使って最新の重大な脆弱性を検索してください。」
- 「脆弱性 CVE-2024-0864 を調べてください。」
- 「2024 年 1 月以降で、スコアが 9 を超える脆弱性に絞り込んでください。」
- 「CISCO 関連の最近のアドバイザリを表示してください。」
📄 ライセンス
このプロジェクトは Apache-2.0 ライセンスの下で公開されています。
🤝 クレジット
このサーバーは、オープンで認証を必要としない ENISA EUVDB Public Vulnerability API と連携します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。