mcpField
M
MCP Server for TheHive

MCP Server for TheHive

ローカル
github.com/gbrigandiセキュリティ1647 週間前に更新

MCP Server for TheHive について

TheHiveの利用者向けMCPサーバーで、MCPクライアントからセキュリティアラートやインシデント対応操作を利用できます。アラートとケースの照会、アラートのケース化、新規ケース作成に対応します。

主な機能

  1. 01アラート一覧と詳細の取得
  2. 02ケース一覧と詳細の取得
  3. 03アラートのケース化
  4. 04ケースの作成と設定

活用シーン

  1. 01最近のセキュリティアラートの確認
  2. 02インシデントケースの詳細確認
  3. 03アラートをケース調査へ移行
  4. 04インシデント対応ケースの作成

MCP 対応

stdioでMCPクライアントに接続し、TheHiveのアラートやケースの照会、ケース化、作成をツールとして公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

TheHive 向け MCP サーバー

AI モデルや自動化ツールが TheHive インシデント対応プラットフォームにアクセスできるようにする MCP(Model Context Protocol)サーバーです。

概要

このサーバーは、MCP クライアント(AI アシスタントなど)と TheHive の間のブリッジとして機能し、以下を可能にします。

  • セキュリティアラートの取得と分析
  • ケース情報へのアクセス
  • アラートのケースへの昇格
  • インシデント対応業務の実行

機能

利用可能なツール
  1. get_thehive_alerts - TheHive からアラートの一覧を取得します

    • 任意の limit パラメーター(デフォルト:100)
    • ID、タイトル、重大度、ステータスなどを含む、書式化されたアラート情報を返します
  2. get_thehive_alert_by_id - 特定のアラートの詳細情報を取得します

    • 必須の alert_id パラメーター
    • 包括的なアラート詳細を返します
  3. get_thehive_cases - TheHive からケースの一覧を取得します

    • 任意の limit パラメーター(デフォルト:100)
    • 書式化されたケース情報を返します
  4. get_thehive_case_by_id - 特定のケースの詳細情報を取得します

    • 必須の case_id パラメーター
    • 包括的なケース詳細を返します
  5. promote_alert_to_case - アラートをケースに昇格します

    • 必須の alert_id パラメーター
    • 新しく作成されたケースの情報を返します
  6. create_thehive_case - TheHive で新しいケースを作成します

    • 必須の title と description パラメーター
    • 任意のパラメーター:severity、tags、tlp、pap、status、assignee、case_template、start_date
    • 新しく作成されたケースの情報を返します

インストール

前提条件
  • TheHive 5 インスタンスへのアクセス
  • 有効な TheHive API トークン
コンパイル済みバイナリのダウンロード

GitHub Releases ページから、さまざまなオペレーティングシステム向けのコンパイル済みバイナリをダウンロードできます。お使いのシステムに適したバイナリをダウンロードし、実行可能にして、任意の場所に配置してください。

ソースからのビルド
git clone <repository-url>
cd mcp-server-thehive
cargo build --release

設定

サーバーには以下の環境変数が必要です。

  • THEHIVE_URL - TheHive API のベース URL(デフォルト:http://localhost:9000/api)
  • THEHIVE_API_TOKEN - TheHive API トークン(必須)
  • VERIFY_SSL - SSL 証明書を検証するかどうか(デフォルト:false)
  • RUST_LOG - ログレベル(任意。例:debug、info)
環境ファイル

プロジェクトのルートに .env ファイルを作成します。

THEHIVE_URL=https://your-thehive-instance.com/api
THEHIVE_API_TOKEN=your-api-token-here
VERIFY_SSL=true
RUST_LOG=info
TheHive API トークンの取得
  1. TheHive インスタンスにログインします
  2. ユーザー設定 → API キーに移動します
  3. API キーを作成をクリックします
  4. 生成されたトークンをコピーし、THEHIVE_API_TOKEN として使用します

使用方法

サーバーの実行
# Using cargo
cargo run

# Using the built binary
./target/release/mcp-server-thehive
MCP クライアントとの連携

サーバーは MCP プロトコルを使用して stdio 経由で通信します。このサーバーを使用するように MCP クライアントを設定します。

{
  "mcpServers": {
    "thehive": {
      "command": "/path/to/mcp-server-thehive",
      "env": {
        "THEHIVE_URL": "https://your-thehive-instance.com:9000/api",
        "THEHIVE_API_TOKEN": "your-api-token-here"
      }
    }
  }
}

使用例

最近のアラートを取得する
{
  "method": "tools/call",
  "params": {
    "name": "get_thehive_alerts",
    "arguments": {
      "limit": 10
    }
  }
}
アラートの詳細を取得する
{
  "method": "tools/call",
  "params": {
    "name": "get_thehive_alert_by_id",
    "arguments": {
      "alert_id": "~123456"
    }
  }
}
アラートをケースに昇格する
{
  "method": "tools/call",
  "params": {
    "name": "promote_alert_to_case",
    "arguments": {
      "alert_id": "~123456"
    }
  }
}
新しいケースを作成する
{
  "method": "tools/call",
  "params": {
    "name": "create_thehive_case",
    "arguments": {
      "title": "Potential Malware Outbreak",
      "description": "Multiple endpoints reporting suspicious process activity.",
      "severity": 3,
      "tags": ["malware", "endpoint", "epp"],
      "tlp": 2,
      "assignee": "soc_level2"
    }
  }
}

開発

プロジェクト構成
mcp-server-thehive/
├── src/
│   ├── main.rs              # Main server implementation
│   ├── lib.rs               # Library exports
│   └── thehive/
│       ├── mod.rs           # Module declarations
│       ├── client.rs        # TheHive API client
│       └── error.rs         # Error types
├── tests/
│   ├── bin/
│   │   └── mock_thehive_server.rs # Mock TheHive API server for testing
│   ├── integration_test.rs    # Integration tests
│   └── mcp_stdio_test.rs      # Stdio interface tests
├── Cargo.toml               # Dependencies and metadata
└── README.md                # This file
依存関係
  • rmcp - MCP プロトコルの実装
  • thehive-client - TheHive API クライアントライブラリ
  • tokio - 非同期ランタイム
  • reqwest - HTTP クライアント
  • serde - シリアライゼーションフレームワーク
  • tracing - ログ記録と計装
テスト

このプロジェクトには、TheHive のモックサーバーを利用する、包括的な統合テストスイートが含まれています。このモックサーバーは TheHive API をシミュレートするため、実際の TheHive インスタンスを必要とせずに、MCP サーバーの機能を分離された再現可能な環境でテストできます。

テストの実行:

# Run all tests (including integration tests that use the mock server)
cargo test

# Run tests with verbose logging (includes MCP server and mock server logs)
RUST_LOG=debug MCP_SERVER_THEHIVE_VERBOSE_TEST_LOGS=true cargo test

セキュリティに関する考慮事項

  • API トークンは安全に保管してください(環境変数または安全な認証情報ストアを使用してください)
  • API トークンをバージョン管理にコミットしないでください
  • 本番環境では SSL 検証を有効にしてください
  • TheHive インスタンスへのネットワークアクセスを制限してください
  • TheHive へのアクセスには最小権限の API トークンを使用してください
  • すべての API 通信を監視し、ログに記録してください
  • API トークンを定期的にローテーションしてください

トラブルシューティング

よくある問題
  1. 接続拒否

    • THEHIVE_URL が正しいことを確認します
    • TheHive インスタンスへのネットワーク接続を確認します
    • TheHive が実行中で、アクセス可能であることを確認します
  2. 認証失敗

    • THEHIVE_API_TOKEN が正しく、有効期限が切れていないことを確認します
    • API トークンに必要な権限があるか確認します
    • トークンが正しくフォーマットされていることを確認します
  3. SSL 証明書エラー

    • テスト時は VERIFY_SSL=false を設定します(本番環境では推奨されません)
    • 適切な SSL 証明書をインストールします
    • 有効な認証局を使用します
ログ記録

トラブルシューティングのためにデバッグログを有効にします:

RUST_LOG=debug cargo run

貢献

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します
  3. 変更を加えます
  4. 該当する場合はテストを追加します
  5. プルリクエストを送信します

ライセンス

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

関連プロジェクト

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。