VirusTotal について
VirusTotal は、FastMCP と Python で構築されたセキュリティ分析用 MCP サーバーです。AI アシスタントから URL、ファイル、IP アドレス、ドメインを調査でき、関連情報を自動取得してページネーション付きで詳しく確認できます。
主な機能
- 01URL、ファイル、IP、ドメインの分析
- 02関連する脅威情報の自動取得
- 03DNS、WHOIS、SSL 情報の照会
- 04特定の関連情報をページネーションで検索
- 05SSE と STDIO のトランスポートに対応
- 06VirusTotal API のレート制限を考慮
活用シーン
- 01不審な URL と関連エンティティのレポート確認
- 02ハッシュからファイルの挙動や通信先を調査
- 03IP やドメインの評判と過去の関連情報を確認
- 04ページネーションで特定の関連データを調査
MCP 対応
MCP サーバーは URL、ファイル、IP、ドメインのレポートおよび関連情報を照会するツールをクライアントに提供します。SSE と STDIO に対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
VirusTotal MCP サーバー
VirusTotal API を使用して包括的なセキュリティ分析を行う Model Context Protocol(MCP)サーバーです。FastMCP と Python で構築されており、Claude などの AI アシスタントに強力なマルウェア検出および脅威インテリジェンス機能を提供します。
概要
この MCP サーバーは、VirusTotal の広範なセキュリティデータベースと連携し、AI アシスタントが URL、ファイル、IP アドレス、ドメインの包括的なセキュリティ分析を実行できるようにします。サーバーは関連データを自動的に取得し、1 回のリクエストで完全なセキュリティコンテキストを提供します。
機能
- 包括的なセキュリティ分析:関連データを自動取得し、完全な脅威分析を実行します
- URL 分析:接続先のドメイン、ダウンロードされたファイル、脅威アクターを含むセキュリティレポート
- ファイル分析:挙動、ドロップされたファイル、ネットワーク接続を含む詳細なファイルハッシュ分析
- IP 分析:位置情報、レピュテーションデータ、履歴情報
- ドメイン分析:DNS レコード、WHOIS データ、SSL 証明書、サブドメイン
- 詳細な関連クエリ:詳細な調査のため、特定の関連タイプにページネーションでアクセスできます
- レート制限に対応:VirusTotal API の制限を遵守します
- 複数のトランスポートに対応:用途に応じた SSE および STDIO トランスポート
クイックスタート
前提条件
インストール
オプション 1:Docker(推奨)
-
クローンしてセットアップ:
git clone https://github.com/barvhaim/virustotal-mcp-server.git cd virustotal-mcp-server -
API キーを設定:
echo "VIRUSTOTAL_API_KEY=your_api_key_here" > .env -
Docker Compose で実行:
docker-compose up -d -
または Docker を直接使って実行:
docker build -t virustotal-mcp . docker run -d --name virustotal-mcp -p 8000:8000 --env-file .env virustotal-mcp
オプション 2:ローカル開発
-
クローンしてセットアップ:
git clone https://github.com/barvhaim/virustotal-mcp-server.git cd virustotal-mcp-server uv sync -
API キーを設定:
echo "VIRUSTOTAL_API_KEY=your_api_key_here" > .env -
サーバーを実行:
# SSE transport (web-friendly) uv run main.py # STDIO transport (for Claude Desktop) MCP_TRANSPORT=stdio uv run main.py
利用可能なツール
レポートツール(関連データを自動取得)
1. URL レポートツール
- 名前:
get_url_report - 説明:セキュリティスキャン結果と主要な関連情報を含む、包括的な URL 分析を取得します
- パラメーター:
url(必須):分析する URL
- 自動取得される関連情報:通信元ファイル、接続先のドメイン/IP、ダウンロードされたファイル、リダイレクト、脅威アクター
2. ファイルレポートツール
- 名前:
get_file_report - 説明:ハッシュ(MD5/SHA-1/SHA-256)を使用して、包括的なファイル分析を取得します
- パラメーター:
hash(必須):分析するファイルのハッシュ
- 自動取得される関連情報:挙動、ドロップされたファイル、接続先のドメイン/IP、埋め込み URL、脅威アクター
3. IP レポートツール
- 名前:
get_ip_report - 説明:位置情報とレピュテーションを含む、包括的な IP アドレス分析を取得します
- パラメーター:
ip(必須):分析する IP アドレス
- 自動取得される関連情報:通信元ファイル、過去の SSL 証明書、解決結果、脅威アクター
4. ドメインレポートツール
- 名前:
get_domain_report - 説明:DNS および WHOIS データを含む、包括的なドメイン分析を取得します
- パラメーター:
domain(必須):分析するドメイン名relationships(任意):含める特定の関連情報
- 自動取得される関連情報:サブドメイン、過去の SSL 証明書、解決結果、脅威アクター
関連ツール(詳細分析用)
1. URL 関連ツール
- 名前:
get_url_relationship - 説明:ページネーションを使って、URL の特定の関連タイプをクエリします
- パラメーター:
url(必須):分析する URLrelationship(必須):関連タイプ(analyses、communicating_files、contacted_domains など)limit(任意、1-40、デフォルト:10):結果の件数cursor(任意):ページネーションカーソル
2. ファイル関係ツール
- 名前:
get_file_relationship - 説明: ページネーションを使用して、ファイルの特定の関係タイプを照会します
- パラメーター:
hash(必須): ファイルハッシュrelationship(必須): 関係タイプ(behaviours、dropped_files、contacted_domains など)limit(任意、1-40、デフォルト: 10): 結果の数cursor(任意): ページネーションカーソル
3. IP 関係ツール
- 名前:
get_ip_relationship - 説明: ページネーションを使用して、IP の特定の関係タイプを照会します
- パラメーター:
ip(必須): IP アドレスrelationship(必須): 関係タイプ(communicating_files、resolutions など)limit(任意、1-40、デフォルト: 10): 結果の数cursor(任意): ページネーションカーソル
4. ドメイン関係ツール
- 名前:
get_domain_relationship - 説明: ページネーションを使用して、ドメインの特定の関係タイプを照会します
- パラメーター:
domain(必須): ドメイン名relationship(必須): 関係タイプ(subdomains、historical_ssl_certificates など)limit(任意、1-40、デフォルト: 10): 結果の数cursor(任意): ページネーションカーソル
Claude Desktop との連携
このサーバーを Claude Desktop に接続するには、次の内容を claude_desktop_config.json に追加してください。
設定ファイルの場所:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/claude/claude_desktop_config.json - Windows:
%APPDATA%\\Claude\\claude_desktop_config.json
{
"mcpServers": {
"virustotal": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/virustotal-mcp-server",
"run",
"main.py"
],
"env": {
"VIRUSTOTAL_API_KEY": "your_api_key_here",
"MCP_TRANSPORT": "stdio"
}
}
}
}
リソース
- FastMCP のドキュメント: github.com/jlowin/fastmcp
- MCP 仕様: modelcontextprotocol.io
- VirusTotal API: developers.virustotal.com
- uv パッケージマネージャー: astral.sh/uv
- Claude Desktop: claude.ai
バージョン履歴
- v1.0.0: VirusTotal との包括的な連携を備えた初回リリース
- 8 種類のセキュリティ分析ツール
- 関係情報の自動取得
- SSE および STDIO トランスポートのサポート
- レート制限への対応
- 完全なエラー処理
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。