mcpField
M
MCP Server for Cortex

MCP Server for Cortex

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

MCP Server for Cortex について

MCP Server for Cortexは、Cortexのオブザーバブル分析機能をMCPクライアントに提供します。セキュリティチームは設定済みのCortexアナライザーでIP、URL、ドメイン、ファイルを分析し、構造化された結果を取得できます。

主な機能

  1. 01オブザーバブルにCortexアナライザーを実行
  2. 02IPとURLの分析
  3. 03構造化された分析結果の返却
  4. 04Cortex APIキーによる認証

活用シーン

  1. 01脅威調査でIP情報を補強
  2. 02設定済みアナライザーでURLを確認
  3. 03Cortexでドメインやファイルを分析

MCP 対応

MCPツールを提供し、対応クライアントがCortexインスタンスに分析を依頼して構造化された結果を受け取れます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Cortex 用 MCP サーバー

Claude Cortex セッション

このサーバーはブリッジとして機能し、Cortex インスタンスの強力な分析機能を、Claude などの大規模言語モデルを含む Model Context Protocol(MCP)クライアントが利用できるツールとして公開します。これにより、これらのクライアントは Cortex アナライザーを活用して脅威インテリジェンスのタスクを実行できます。

Cortex とは?

Cortex は、強力で無料のオープンソースのオブザーバブル分析・アクティブレスポンスエンジンです。さまざまな「アナライザー」――外部サービスに接続したりローカル分析を実行したりするモジュール式のコード――を使用して、オブザーバブル(IP、URL、ドメイン、ファイルなど)を分析できます。

Cortex(およびこの MCP サーバー)を使用するメリット:

  • 分析の一元化:さまざまな分析を一か所から実行できます。
  • 拡張性:さまざまな脅威インテリジェンスフィードやツール向けの新しいアナライザーを簡単に追加できます。
  • 自動化:オブザーバブルを拡充するプロセスを自動化できます。
  • 統合:セキュリティインシデント対応プラットフォーム(SIRP)である TheHive と緊密に連携するよう設計されていますが、単独でも使用できます。
  • セキュリティ:API キーベースのアクセスにより、Cortex インスタンスを保護します。

この MCP サーバーによって、MCP 対応クライアントからこれらのメリットを利用できるようになり、分析をリクエストして構造化された結果を受け取れます。

前提条件

  1. Rust ツールチェーン:Rust がインストールされていることを確認してください(rustup.rs をご覧ください)。
  2. Cortex インスタンス:実行中の Cortex インスタンスが必要です。
    • サーバーからこの Cortex インスタンスへのネットワークアクセスが必要です。
    • アナライザーの一覧表示とジョブの実行が許可された Cortex API キーが必要です。
  3. 設定済みアナライザー:使用するアナライザー(例:AbuseIPDB_1_0、Abuse_Finder_3_0、VirusTotal_Scan_3_1、Urlscan_io_Scan_0_1_0)が Cortex インスタンスで有効化され、正しく設定されている必要があります。

インストール

Cortex 用 MCP サーバーのインストールには、ご利用のオペレーティングシステム向けにコンパイル済みのバイナリをダウンロードする方法を推奨します。

  1. リリースページを開く: GitHub Releases ページにアクセスします。

  2. バイナリをダウンロードする: 最新リリースを見つけ、ご利用のオペレーティングシステムに適したバイナリ(例:mcp-server-cortex-linux-amd64、mcp-server-cortex-macos-amd64、mcp-server-cortex-windows-amd64.exe)をダウンロードします。

  3. バイナリを配置して準備する:

    • ダウンロードしたバイナリをシステム上の適切な場所(Linux/macOS では /usr/local/bin、Windows では C:\Program Files\MCP Servers\ などの専用フォルダー)に移動します。
    • Linux/macOS の場合:バイナリを実行可能にします。
      chmod +x /path/to/your/mcp-server-cortex
      
    • フルパスを指定せずに実行したい場合は、バイナリを含むディレクトリがシステムの PATH に含まれていることを確認します。

または、ソースからサーバーをビルドすることもできます(以下のビルドセクションをご覧ください)。

設定

サーバーは、次の環境変数を使用して設定します。

  • CORTEX_ENDPOINT:Cortex API の完全な URL。
    • 例:http://localhost:9000/api
  • CORTEX_API_KEY:Cortex インスタンスの認証に使用する API キー。
  • RUST_LOG(任意):サーバーのログレベルを制御します。
    • 例:info(一般情報の場合)
    • 例:mcp_server_cortex=debug,cortex_client=info(サーバーの詳細ログと cortex クライアントライブラリからの情報を出力する場合)
Cortex Analyzer の設定

この MCP サーバーが提供するツールを正しく動作させるには、対応するアナライザーを Cortex インスタンス内で有効にし、適切に設定する必要があります。このサーバーは、実際の分析タスクを実行するために、これらの Cortex アナライザーを利用します。

ツールでは現在、デフォルトで以下のアナライザーを使用します(ただし、多くの場合、ツールのパラメーターで変更できます)。

  • analyze_ip_with_abuseipdb:AbuseIPDB_1_0 などのアナライザーを使用します。
    • このアナライザーでは通常、AbuseIPDB の API キーが必要です。Cortex で設定してください。
  • analyze_with_abusefinder:Abuse_Finder_3_0 などのアナライザーを使用します。
    • AbuseFinder には、Cortex 内で独自の設定要件や依存関係がある場合があります。
  • scan_url_with_virustotal:VirusTotal_Scan_3_1 などのアナライザーを使用します。
    • このアナライザーでは VirusTotal の API キーが必要です。Cortex で設定してください。
  • analyze_url_with_urlscan_io:Urlscan_io_Scan_0_1_0 などのアナライザーを使用します。
    • このアナライザーでは urlscan.io の API キーが必要です。Cortex で設定してください。

重要なポイント:

  • アナライザーを有効にする:使用するアナライザーが、Cortex インスタンスの「Organization」→「Analyzers」セクションで有効になっていることを確認してください。
  • アナライザーを設定する:各アナライザーには Cortex 内に専用の設定ページがあり、API キーの入力、しきい値の設定、その他の動作パラメーターの指定が必要です。各 Cortex アナライザーのドキュメントを参照してください。
  • Cortex でテストする:この MCP サーバー経由で使用する前に、Cortex の UI 内でアナライザーを直接テストし、期待どおりに動作することを確認することをお勧めします。

アナライザーが未設定、無効、または設定に誤りがある場合(API キーが無効である場合など)、MCP クライアントからの対応するツール呼び出しは失敗するか、Cortex からエラーが返される可能性があります。

例:Claude Desktop の設定

Claude Desktop などの MCP クライアントでは、通常、MCP サーバーを起動するコマンドと、そのサーバーに必要な環境変数を指定して設定します。

  1. サーバーのバイナリをビルドまたはダウンロードする: mcp-server-cortex 実行ファイルがあることを確認してください。ソースからビルドした場合は、target/debug/mcp_server_cortex または target/release/mcp_server_cortex にあります。

  2. LLM クライアント(例:Claude Desktop)を設定する:

    • LLM クライアントの設定方法は、クライアントによって異なります。

    • MCP に対応するクライアントでは、通常、クライアントに mcp-server-cortex 実行ファイルのパスを指定する必要があります。

    • Claude Desktop の claude_desktop_config.json の例: このサーバーのエントリーを追加するには、Claude Desktop の設定ファイル(通常は claude_desktop_config.json)を編集します。

      たとえば、mcp-server-cortex バイナリが /opt/mcp-servers/mcp-server-cortex にある場合、設定は次のようになります。

      {
        "mcpServers": {
          // ... other server configurations ...
          "cortex": {
            "command": "/opt/mcp-servers/mcp-server-cortex",
            "args": [],
            "env": {
              "CORTEX_ENDPOINT": "http://your-cortex-instance:9000/api",
              "CORTEX_API_KEY": "your_cortex_api_key_here",
            }
          }
          // ... other server configurations ...
        }
      }
      

利用可能なツール

サーバーは次のツールを提供しており、MCP クライアントから呼び出すことができます。

  1. analyze_ip_with_abuseipdb

    • 説明:Cortex 経由で AbuseIPDB アナライザー(または同様に設定された IP レピュテーションアナライザー)を使用して IP アドレスを分析します。成功すると、ジョブレポートを返します。
    • パラメーター:
      • ip(string、必須):分析する IP アドレスです。
      • analyzer_name(string、任意):Cortex に登録された AbuseIPDB アナライザーインスタンスの固有名です。デフォルトは AbuseIPDB_1_0 です。
      • max_retries(integer、任意):アナライザージョブが完了するまでポーリングする最大回数です。デフォルトは 5 です。
  2. analyze_with_abusefinder

    • 説明:Cortex 経由で AbuseFinder アナライザーを使用して、さまざまな種類のデータ(IP、ドメイン、FQDN、URL、メール)を分析します。成功すると、ジョブレポートを返します。
    • パラメーター:
      • data(string、必須):分析するデータです(例:「1.1.1.1」、「example.com」、「http://evil.com/malware」、「[email protected]」)。
      • data_type(string、必須):データの種類です。次のいずれかを指定する必要があります:ip、domain、fqdn、url、mail。
      • analyzer_name(string、任意):Cortex に登録された AbuseFinder アナライザーインスタンスの固有名です。デフォルトは Abuse_Finder_3_0 です。
      • max_retries(integer、任意):アナライザージョブが完了するまでポーリングする最大回数です。デフォルトは 5 です。
  3. scan_url_with_virustotal

    • 説明:Cortex 経由で VirusTotal_Scan アナライザー(例:VirusTotal_Scan_3_1)を使用して URL をスキャンします。成功すると、ジョブレポートを返します。
    • パラメーター:
      • url(string、必須):スキャンする URL です。
      • analyzer_name(string、任意):Cortex に登録された VirusTotal_Scan アナライザーインスタンスの固有名です。デフォルトは VirusTotal_Scan_3_1 です。
      • max_retries(integer、任意):アナライザージョブが完了するまでポーリングする最大回数です。デフォルトは 5 です。
  4. analyze_url_with_urlscan_io

    • 説明:Cortex 経由で Urlscan.io アナライザー(例:Urlscan_io_Scan_0_1_0)を使用して URL を分析します。成功すると、ジョブレポートを返します。
    • パラメーター:
      • url(string、必須):分析する URL です。
      • analyzer_name(string、任意):Cortex に登録された Urlscan.io アナライザーインスタンスの固有名です。デフォルトは Urlscan_io_Scan_0_1_0 です。
      • max_retries(integer、任意):アナライザージョブが完了するまでポーリングする最大回数です。デフォルトは 5 です。

ビルド

ソースからサーバーをビルドするには、「Prerequisites」セクションに記載されている Rust ツールチェーンがインストールされていることを確認してください。

  1. リポジトリをクローンします(まだクローンしていない場合):

    git clone https://github.com/gbrigandi/mcp-server-cortex.git
    cd mcp-server-cortex
    

    すでにクローン済みのリポジトリ内で作業しており、そのルートディレクトリにいる場合は、この手順を省略できます。

  2. Cargo を使用してプロジェクトをビルドします:

    • デバッグビルドの場合:
      cargo build
      
      実行ファイルは target/debug/mcp-server-cortex に配置されます。
    • リリースビルドの場合(パフォーマンスと実運用での使用に推奨):
      cargo build --release
      
      実行ファイルは target/release/mcp-server-cortex に配置されます。

ビルド後、サーバーの実行ファイルを実行できます。必要な環境変数については「Configuration」セクションを、MCP クライアントからサーバーを起動する方法については「Example: Claude Desktop Configuration」を参照してください。

コメント

MCP は初めてですか?

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

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