MCP Server for Cortex について
MCP Server for Cortexは、Cortexのオブザーバブル分析機能をMCPクライアントに提供します。セキュリティチームは設定済みのCortexアナライザーでIP、URL、ドメイン、ファイルを分析し、構造化された結果を取得できます。
主な機能
- 01オブザーバブルにCortexアナライザーを実行
- 02IPとURLの分析
- 03構造化された分析結果の返却
- 04Cortex APIキーによる認証
活用シーン
- 01脅威調査でIP情報を補強
- 02設定済みアナライザーでURLを確認
- 03Cortexでドメインやファイルを分析
MCP 対応
MCPツールを提供し、対応クライアントがCortexインスタンスに分析を依頼して構造化された結果を受け取れます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cortex 用 MCP サーバー

このサーバーはブリッジとして機能し、Cortex インスタンスの強力な分析機能を、Claude などの大規模言語モデルを含む Model Context Protocol(MCP)クライアントが利用できるツールとして公開します。これにより、これらのクライアントは Cortex アナライザーを活用して脅威インテリジェンスのタスクを実行できます。
Cortex とは?
Cortex は、強力で無料のオープンソースのオブザーバブル分析・アクティブレスポンスエンジンです。さまざまな「アナライザー」――外部サービスに接続したりローカル分析を実行したりするモジュール式のコード――を使用して、オブザーバブル(IP、URL、ドメイン、ファイルなど)を分析できます。
Cortex(およびこの MCP サーバー)を使用するメリット:
- 分析の一元化:さまざまな分析を一か所から実行できます。
- 拡張性:さまざまな脅威インテリジェンスフィードやツール向けの新しいアナライザーを簡単に追加できます。
- 自動化:オブザーバブルを拡充するプロセスを自動化できます。
- 統合:セキュリティインシデント対応プラットフォーム(SIRP)である TheHive と緊密に連携するよう設計されていますが、単独でも使用できます。
- セキュリティ:API キーベースのアクセスにより、Cortex インスタンスを保護します。
この MCP サーバーによって、MCP 対応クライアントからこれらのメリットを利用できるようになり、分析をリクエストして構造化された結果を受け取れます。
前提条件
- Rust ツールチェーン:Rust がインストールされていることを確認してください(rustup.rs をご覧ください)。
- Cortex インスタンス:実行中の Cortex インスタンスが必要です。
- サーバーからこの Cortex インスタンスへのネットワークアクセスが必要です。
- アナライザーの一覧表示とジョブの実行が許可された Cortex API キーが必要です。
- 設定済みアナライザー:使用するアナライザー(例:
AbuseIPDB_1_0、Abuse_Finder_3_0、VirusTotal_Scan_3_1、Urlscan_io_Scan_0_1_0)が Cortex インスタンスで有効化され、正しく設定されている必要があります。
インストール
Cortex 用 MCP サーバーのインストールには、ご利用のオペレーティングシステム向けにコンパイル済みのバイナリをダウンロードする方法を推奨します。
-
リリースページを開く: GitHub Releases ページにアクセスします。
-
バイナリをダウンロードする: 最新リリースを見つけ、ご利用のオペレーティングシステムに適したバイナリ(例:
mcp-server-cortex-linux-amd64、mcp-server-cortex-macos-amd64、mcp-server-cortex-windows-amd64.exe)をダウンロードします。 -
バイナリを配置して準備する:
- ダウンロードしたバイナリをシステム上の適切な場所(Linux/macOS では
/usr/local/bin、Windows ではC:\Program Files\MCP Servers\などの専用フォルダー)に移動します。 - Linux/macOS の場合:バイナリを実行可能にします。
chmod +x /path/to/your/mcp-server-cortex - フルパスを指定せずに実行したい場合は、バイナリを含むディレクトリがシステムの
PATHに含まれていることを確認します。
- ダウンロードしたバイナリをシステム上の適切な場所(Linux/macOS では
または、ソースからサーバーをビルドすることもできます(以下のビルドセクションをご覧ください)。
設定
サーバーは、次の環境変数を使用して設定します。
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 サーバーを起動するコマンドと、そのサーバーに必要な環境変数を指定して設定します。
-
サーバーのバイナリをビルドまたはダウンロードする:
mcp-server-cortex実行ファイルがあることを確認してください。ソースからビルドした場合は、target/debug/mcp_server_cortexまたはtarget/release/mcp_server_cortexにあります。 -
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 クライアントから呼び出すことができます。
-
analyze_ip_with_abuseipdb- 説明:Cortex 経由で AbuseIPDB アナライザー(または同様に設定された IP レピュテーションアナライザー)を使用して IP アドレスを分析します。成功すると、ジョブレポートを返します。
- パラメーター:
ip(string、必須):分析する IP アドレスです。analyzer_name(string、任意):Cortex に登録された AbuseIPDB アナライザーインスタンスの固有名です。デフォルトはAbuseIPDB_1_0です。max_retries(integer、任意):アナライザージョブが完了するまでポーリングする最大回数です。デフォルトは 5 です。
-
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 です。
-
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 です。
- 説明:Cortex 経由で VirusTotal_Scan アナライザー(例:
-
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 です。
- 説明:Cortex 経由で Urlscan.io アナライザー(例:
ビルド
ソースからサーバーをビルドするには、「Prerequisites」セクションに記載されている Rust ツールチェーンがインストールされていることを確認してください。
-
リポジトリをクローンします(まだクローンしていない場合):
git clone https://github.com/gbrigandi/mcp-server-cortex.git cd mcp-server-cortexすでにクローン済みのリポジトリ内で作業しており、そのルートディレクトリにいる場合は、この手順を省略できます。
-
Cargo を使用してプロジェクトをビルドします:
- デバッグビルドの場合:
実行ファイルはcargo buildtarget/debug/mcp-server-cortexに配置されます。 - リリースビルドの場合(パフォーマンスと実運用での使用に推奨):
実行ファイルはcargo build --releasetarget/release/mcp-server-cortexに配置されます。
- デバッグビルドの場合:
ビルド後、サーバーの実行ファイルを実行できます。必要な環境変数については「Configuration」セクションを、MCP クライアントからサーバーを起動する方法については「Example: Claude Desktop Configuration」を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。