VirusTotal MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows querying the VirusTotal API for comprehensive security analysis reports including URL analysis, file analysis, IP analysis, domain analysis, and relationship tools.

VirusTotal MCP サーバー

VirusTotal API へのクエリを実行するためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、関係性データの自動取得機能を備えた包括的なセキュリティ分析ツールを提供します。Claude DesktopなどのMCP対応アプリケーションとシームレスに統合されます。

クイックスタート(推奨)

Smithery経由でインストール

Smithery経由で Claude Desktop 用の VirusTotal Server を自動的にインストールするには:

npx -y @smithery/cli install @burtthecoder/mcp-virustotal --client claude

手動でインストールする

  1. npm 経由でサーバーをグローバルにインストールします。
npm install -g @burtthecoder/mcp-virustotal
  1. Claude Desktop 構成ファイルに以下を追加します:
{ "mcpServers": { "virustotal": { "command": "mcp-virustotal", "env": { "VIRUSTOTAL_API_KEY": "your-virustotal-api-key" } } } }

構成ファイルの場所:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  1. Claudeデスクトップを再起動します

代替セットアップ(ソースから)

ソースから実行したい場合、またはコードを変更する必要がある場合:

  1. クローンとビルド:
git clone <repository_url> cd mcp-virustotal npm install npm run build
  1. Claude Desktop 構成に追加:
{ "mcpServers": { "virustotal": { "command": "node", "args": ["--experimental-modules", "/absolute/path/to/mcp-virustotal/build/index.js"], "env": { "VIRUSTOTAL_API_KEY": "your-virustotal-api-key" } } } }

特徴

  • 包括的な分析レポート: 各分析ツールは、基本レポートとともに関連する関係データを自動的に取得し、1回のリクエストで完全なセキュリティ概要を提供します。
  • URL分析: アクセスしたドメイン、ダウンロードしたファイル、脅威アクターを自動的に取得するセキュリティレポート
  • ファイル分析: 動作、ドロップされたファイル、ネットワーク接続を含むファイルハッシュの詳細な分析
  • IP分析: 履歴データ、解決策、関連する脅威を含むセキュリティレポート
  • ドメイン分析: DNS情報、WHOISデータ、SSL証明書、サブドメイン
  • 詳細な関係分析: ページネーションをサポートする特定の種類の関係を照会するための専用ツール
  • 豊富なフォーマット: 分析結果と関係データを明確に分類して提示します

ツール

レポートツール(自動関係取得機能付き)

1. URLレポートツール

  • 名前: get_url_report
  • 説明: セキュリティスキャンの結果と主要な関係(通信ファイル、接続されたドメイン/IP、ダウンロードされたファイル、リダイレクト、脅威アクター)を含む包括的な URL 分析レポートを取得します。
  • パラメータ:
    • url (必須): 分析するURL

2. ファイルレポートツール

  • 名前: get_file_report
  • 説明: ハッシュ(MD5/SHA-1/SHA-256)を用いた包括的なファイル分析レポートを取得します。検出結果、ファイルプロパティ、主要な関係(動作、ドロップされたファイル、ネットワーク接続、埋め込みコンテンツ、脅威アクター)が含まれます。
  • パラメータ:
    • hash (必須): ファイルのMD5、SHA-1、またはSHA-256ハッシュ

3. IPレポートツール

  • 名前: get_ip_report
  • 説明: 地理位置情報、評判データ、主要な関係(通信ファイル、履歴証明書/WHOIS、解決)を含む包括的な IP アドレス分析レポートを取得します。
  • パラメータ:
    • ip (必須): 分析するIPアドレス

4. ドメインレポートツール

  • 名前: get_domain_report
  • 説明: DNSレコード、WHOISデータ、主要な関係(SSL証明書、サブドメイン、履歴データ)を含む包括的なドメイン分析レポートを取得します。
  • パラメータ:
    • domain (必須): 分析するドメイン名
    • relationships (オプション):レポートに含める特定のリレーションシップの配列

関係ツール(詳細分析用)

1. URL関係ツール

  • 名前: get_url_relationship
  • 説明: ページネーションをサポートするURLの特定の関係タイプをクエリします。分析、通信ファイル、接続されたドメイン/IP、ダウンロードされたファイル、グラフ、リファラー、リダイレクト、脅威アクターなど、17種類の関係タイプから選択できます。
  • パラメータ:
    • url (必須): 関係を取得するURL
    • relationship (必須): 照会する関係の種類
      • 利用可能な関係: 分析、コメント、通信ファイル、接続ドメイン、接続 IP、ダウンロード ファイル、グラフ、最後のサービス IP アドレス、ネットワークの場所、参照元ファイル、参照元 URL、リダイレクト URL、リダイレクト先、関連コメント、関連参照、関連脅威アクター、提出
    • limit (オプション、デフォルト:10):取得する関連オブジェクトの最大数(1~40)
    • cursor (オプション):ページ区切りの継続カーソル

2. ファイル関係ツール

  • 名前: get_file_relationship
  • 説明: ページ区切りをサポートするファイルの特定の関係タイプを照会します。動作、ネットワーク接続、ドロップされたファイル、埋め込みコンテンツ、実行チェーン、脅威アクターなど、41種類の関係タイプから選択できます。
  • パラメータ:
    • hash (必須): ファイルのMD5、SHA-1、またはSHA-256ハッシュ
    • relationship (必須): 照会する関係の種類
      • 利用可能な関係: 分析、動作、バンドル ファイル、carbonblack_children、carbonblack_parents、暗号化バンドル ファイル、暗号化親、手がかり、コレクション、コメント、圧縮親、連絡済みドメイン、連絡済み IP、連絡済み URL、ドロップされたファイル、メール添付ファイル、メール親、埋め込みドメイン、埋め込み IP、埋め込み URL、実行親、グラフ、itw_domains、itw_ips、itw_urls、メモリ パターン ドメイン、メモリ パターン IP、メモリ パターン URL、オーバーレイ チャイルド、オーバーレイ ペアレント、pcap_children、pcap_parents、pe_resource_children、pe_resource_parents、関連参照、関連脅威アクター、類似ファイル、提出、スクリーンショット、埋め込み js の URL、投票
    • limit (オプション、デフォルト:10):取得する関連オブジェクトの最大数(1~40)
    • cursor (オプション):ページ区切りの継続カーソル

3. IP関係ツール

  • 名前: get_ip_relationship
  • 説明: ページネーション機能を備えたIPアドレスの特定の関係タイプをクエリします。通信ファイル、過去のSSL証明書、WHOISレコード、解決策、脅威アクターなど、12種類の関係タイプから選択できます。
  • パラメータ:
    • ip (必須): 分析するIPアドレス
    • relationship (必須): 照会する関係の種類
      • 利用可能な関係: コメント、通信ファイル、ダウンロードされたファイル、グラフ、過去の SSL 証明書、過去の Whois、関連コメント、関連参照、関連脅威アクター、リファラー ファイル、解決策、URL
    • limit (オプション、デフォルト:10):取得する関連オブジェクトの最大数(1~40)
    • cursor (オプション):ページ区切りの継続カーソル

4. ドメイン関係ツール

  • 名前: get_domain_relationship
  • 説明: ページネーション対応ドメインの特定の関係タイプをクエリします。SSL証明書、サブドメイン、履歴データ、DNSレコードなど、21種類の関係タイプから選択できます。
  • パラメータ:
    • domain (必須): 分析するドメイン名
    • relationship (必須): 照会する関係の種類
      • 使用可能な関係: caa_records、cname_records、comments、communicating_files、downloaded_files、historical_ssl_certificates、historical_whois、immediate_parent、mx_records、ns_records、parent、referrer_files、related_comments、related_references、related_threat_actors、resolutions、soa_records、siblings、subdomains、urls、user_votes
    • limit (オプション、デフォルト:10):取得する関連オブジェクトの最大数(1~40)
    • cursor (オプション):ページ区切りの継続カーソル

要件

トラブルシューティング

APIキーの問題

「API キーが間違っています」というエラーが表示された場合:

  1. APIキーのステータスについては、 /tmp/mcp-virustotal-server.log mcp-virustotal-server.log(macOSの場合)のログファイルを確認してください。
  2. API キーを確認してください:
    • 有効なVirusTotal APIキー(通常64文字)である必要があります
    • キーの前後に余分なスペースや引用符を付けないでください
    • VirusTotalアカウントのAPIキーセクションから取得する必要があります
  3. 構成の変更後:
    • 設定ファイルを保存する
    • Claudeデスクトップを再起動します
    • 新しいAPIキーのステータスをログで確認する

モジュールの読み込みの問題

ES モジュールの読み込み警告が表示された場合:

  1. グローバルインストールの場合: クイックスタートに示されているシンプルな構成を使用します
  2. ソースインストールの場合: 引数に--experimental-modulesを含めるようにしてください

発達

ホットリロードを使用して開発モードで実行するには:

npm run dev

エラー処理

サーバーには、次の包括的なエラー処理が含まれています。

  • 無効なAPIキー
  • レート制限
  • ネットワークエラー
  • 無効な入力パラメータ
  • 無効なハッシュ形式
  • 無効なIP形式
  • 無効なURL形式
  • 無効な関係タイプ
  • ページ区切りエラー

バージョン履歴

  • v1.0.0: コア機能を備えた初期リリース
  • v1.1.0: URL、ファイル、IPアドレスの関係分析ツールを追加しました
  • v1.2.0: エラー処理とログの改善を追加しました
  • v1.3.0: リレーションシップクエリのページネーションサポートを追加
  • v1.4.0: レポートツールに自動関係取得とドメイン分析のサポートを追加しました

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成する ( git checkout -b feature/amazing-feature )
  3. 変更をコミットします( git commit -m 'Add amazing feature'
  4. ブランチにプッシュする ( git push origin feature/amazing-feature )
  5. プルリクエストを開く

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

ID: rcbu34kp5c