Kibana を開かずに SOC 業務をこなす、 Elastic Security MCP App 実践ガイド

Tech Blog hero: a laptop with a burst of colorful shapes and the Japanese title about Kibana SOC guide Part 3. BLOG

📝 更新について 本記事は初版公開(v1.0.0 ベース)から、v1.0.1 リリースに伴う変更を反映した更新版です。 主な更新点は以下の通りです:

  • generate-attack-discovery が動作するようになりました(.inference コネクタ対応)
  • v1.0.1 の破壊的変更:KIBANA_URL が必須になりました
  • 日本語での create-case バグの回避策を追記しました
  • Claude と Kibana を並べて見るデモフローを新設しました

Part 1 では Elastic Agent Skills の概要とインストール方法を、Part 2 では Claude Code とローカル Elasticsearch をつなぐ手順を紹介しました。

Part 3 では MCP Apps を試します。MCP Apps は、チャットの中にクリックできる画面を直接表示する仕組みです。Elastic は 2026 年 4 月に 3 つの MCP Apps をオープンソースで公開しました。Security、Search(ダッシュボードビルダー)、Observability の 3 つです。

本記事では Security に絞って、実際にインストールから動作確認まで一通り試した結果を紹介します。Search と Observability は最後に簡単に触れます。

⚠️ 本記事について 本記事は MCP App v1.0.1 での動作検証に基づいています。 Elastic Security MCP App は現在パブリックプレビュー中であり、活発に開発が続いています。 最新の動作状況は GitHub リリースノート を合わせてご確認ください。


MCP Apps とは何か

通常、MCP ツールが返すのはテキストです。「アラートが 47 件あります」という文章です。それを読んだアナリストは Kibana に移動してアラートを開く、という作業が別途必要でした。

MCP Apps はこれを変えます。ツールの結果として、クリックできるダッシュボードがチャットの中に直接表示されます。Kibana に移動する必要はありません。会話の文脈を保ったまま、インタラクティブな UI を操作できます。

重要なポイント:MCP App は Kibana と同じデータを見ている

MCP App は Kibana/Elasticsearch の API を直接叩いています。シミュレーターではありません。

  • Claude でケースを作成 → Kibana の Cases 画面に即座に同じケースが現れる
  • Claude でサンプルデータを生成 → Kibana の Alerts 画面に同じアラートが現れる
  • Claude で Attack Discovery を実行 → Kibana の Attack Discovery 画面に同じ結果が現れる

つまり、Claude と Kibana はどちらも同じリアルタイムデータに接続されたフロントエンドです。

設計上の特性は 3 つあります。

コンテキストの維持: UI はチャットの中にあります。別タブを開く必要がないので、会話の流れが切れません。AI が前の文脈を保持したまま操作できることが SOC や調査でとても重要です。

双方向のデータフロー: UI は MCP サーバーに直接データを取りに行けます。チャットで別の質問をしながら、UI 上のデータが更新されます(UI → MCP Host → MCP Server → Elasticsearch)。

サンドボックス化された信頼境界: MCP Apps はホストが管理する iframe の中で動きます。親ページへのアクセスや Cookie の読み取りはできません。

対象環境

  • Claude Desktop(最新版)
  • Elastic Cloud Serverless 9.3(Security プロジェクト)
  • macOS(Windows の場合はパスのみ読み替えてください)

Security MCP Apps は Claude Desktop 以外にも以下のホストで動作します。

ホストインストール方法セットアップガイド
Claude Desktop.mcpb をダブルクリック本記事で解説
Claude Codeclaude mcp add CLIsetup-claude-code.md
Claude.aicloudflared トンネル経由setup-claude-ai.md
Cursornpx またはローカルサーバーsetup-cursor.md
VS Codenpx またはローカルサーバーsetup-vscode.md

Step 1:API キーを作成する(権限が重要)

ここが最大の落とし穴です。単にキーを作るだけでは一部機能が動きません。

⚠️ Serverless 環境での重要な注意: Elastic Cloud Serverless では、細かい権限指定(feature_cases.all など)が意図通りに機能しない場合があります。全機能を確実に動かすには、以下の superuser 相当のロールでAPIキーを作成してください。本番環境では最小権限への絞り込みを推奨します。

Kibana の Dev Tools で以下を実行します。

POST /_security/api_key
{
  "name": "claude-mcp-security",
  "expiration": "30d",
  "role_descriptors": {
    "mcp-full-access": {
      "cluster": ["all"],
      "indices": [
        {
          "names": ["*"],
          "privileges": ["all"]
        }
      ],
      "applications": [
        {
          "application": "kibana-.kibana",
          "privileges": ["all"],
          "resources": ["*"]
        }
      ]
    }
  }
}

返ってくるレスポンスの encoded フィールドの値が API キーです。

{
  "id": "rLV1zp0BZGqtkno0tEMy",
  "name": "claude-mcp-security",
  "expiration": 1779877313588,
  "api_key": "YOUR_API_KEY",
  "encoded": "ckx**********vMHR****6ZFZrV***********RODZoUQ=="
}

Step 2 で使うのでメモしておいてください。

補足(権限を絞りたい場合): 最小権限で構成する場合、以下が必要です。ただし Serverless 環境では動作しない権限名がある場合があります。検証済みの構成が確定次第、本記事を更新します。

  • cluster: monitor, monitor_inference
  • indices: read, view_index_metadata, monitor(logs-*, .alerts-security*, .siem-signals*)
  • Kibana: feature_agentBuilder.read, feature_siemAttackDiscovery.all, feature_siem.all, feature_cases.all, feature_actions.read

Step 2:Claude Desktop に .mcpb をインストールする

Security MCP Apps の最新版を GitHub の最新リリース からダウンロードします。Assets セクションから example-mcp-app-security.mcpb をダウンロードしてください。

ダウンロードした .mcpb ファイルをダブルクリックします。Claude Desktop が自動的に起動して、インストールダイアログが表示されます。

「インストール」をクリックすると、接続情報の入力ダイアログが開きます。

🚨 v1.0.1 の破壊的変更:KIBANA_URL が必須になりました

v1.0.0 では KIBANA_URL を省略すると ELASTICSEARCH_URL で代用されていましたが、v1.0.1 から KIBANA_URL は必須 です。設定しないと triage-alerts などのツールで 404 エラーが発生します。

ELASTICSEARCH_URL と KIBANA_URL は別々のホスト名 です:

  • ELASTICSEARCH_URL:https://your-cluster.es.cloud.example.com(.es. を含む)
  • KIBANA_URL:https://your-cluster.kb.cloud.example.com(.kb. を含む)

v1.0.0 から v1.0.1 にアップグレードする場合は、Settings → Extensions → Elastic Security から設定を開き直して KIBANA_URL を追加入力し、Claude Desktop を完全に再起動してください。

項目
ELASTICSEARCH_URLhttps://your-cluster.es.cloud.example.com
ELASTICSEARCH_API_KEYStep 1 で作成した API キー
KIBANA_URLhttps://your-cluster.kb.cloud.example.com

API キーは macOS のキーチェーンに暗号化保存されます。設定ファイルには残りません。

拡張機能を「有効」にする

ここが見落としがちなポイントです。インストール後、拡張機能はデフォルトで「無効」状態になっています。

Settings → Extensions で elastic-security-mcp-app を開き、トグルを「有効」に切り替えてください。これは Claude Desktop のすべての拡張機能に共通の動作です。

切り替えたら Claude Desktop を完全に再起動します。チャット画面の下部に 🔨 ハンマーアイコンが表示されれば接続成功です。


Step 3:スキルをインストールする

スキルは Claude に「いつ・どのツールを使うか」を教える SKILL.md ファイルです。スキルがないと、Claude は各ツールの使いどころを判断できません。

最新リリース の Assets から以下の zip ファイルをダウンロードします。

  • alert-triage.zip
  • attack-discovery-triage.zip
  • case-management.zip
  • detection-rule-management.zip
  • generate-sample-data.zip

macOS の注意: Safari でダウンロードすると zip が自動展開されてフォルダになります。その場合、フォルダを右クリック →「○○を圧縮」で zip に戻してからアップロードします。

Claude Desktop で Customize → スキル → スキルを作成 → スキルをアップロード から、zip を 1 つずつアップロードします。5 つすべて入れてください。

7 つのインタラクティブツール

インストールが完了すると、以下の 7 つのツールが使えるようになります。それぞれがプロンプトに応じてインタラクティブな UI をチャット内に返します。

ツール機能
triage-alertsアラートの取得・フィルタ・分類。AI 判定カード、プロセスツリー、ネットワークイベント
triage-attack-discoveries既存の Attack Discovery を一覧・トリアージ
generate-attack-discovery新しい Attack Discovery を生成(AI コネクタ必須)
manage-casesSOC 調査ケースの作成・管理。AI アクションボタン付き
manage-rules検知ルールの閲覧・チューニング
threat-huntES|QL ワークベンチ、クリッカブルなエンティティ、D3 調査グラフ
generate-sample-data17 の攻撃シナリオのサンプルデータ生成

重要な制約:プロジェクト内のチャットでは動かない

Claude Desktop のプロジェクト機能の中の新規チャットでは MCP Apps の拡張機能が動作しません。プロジェクト外の通常チャットで使う必要があります。New chat をクリックして、プロジェクトの外で会話を始めてください。


実データで SOC フローを動かす

今回使うデータは logs-endpoint.events.imported.fixed インデックスの Elastic Endpoint エンドポイントイベントです。監視対象は 2 台の Ubuntu ホスト(omm-nix-detect、omm-nix-prevent)で、実際に調査につながるシグナルが含まれています。

データのポイント内容
omm-nix-prevent への SSH ログイン16 人の異なるユーザー(isla、abrar、ddroot、kominfo など)
unzip プロセスによるファイル作成/home/ubuntu/74ef6cc38f5a1a80…
event.action の種類fork(117)、end(116)、deletion(82)、creation(80)、ssh_login(20)…

Step 1:アラートをトリアージする

kibanaにあるomm-nix-preventに関するアラートを使います。

ホスト名omm-nix-preventのアラートをトリアージして

Step 2:Attack Discovery を確認する

MCP appで試してみます。

Step 3:ケースを作成する

kibanaでcasesの画面を確認します。

Step 4:検知ルールを確認する

同じことをkibanaで確認したい場合、discoverに移動する必要があります。

Step 5:脅威ハントで掘り下げる

Step 6:サンプルデータを生成する

Ransomware Kill Chain のサンプルデータを生成して

Sample Data Generator ダッシュボードが起動し、17 のシナリオから選択できます。

  • Windows Credential Theft
  • AWS Privilege Escalation
  • Okta Identity Takeover
  • Ransomware Kill Chain(最も多段階で Attack Discovery 向き)
  • Linux Persistence
  • その他 12 シナリオ

Ransomware Kill Chain を選択すると、複数の検知ルールに対応するアラートが生成されます。

Sample Data Generator。17 のシナリオが選択可能で、生成するイベント数も指定できる。


MCP Apps 動作状況のまとめ(v1.0.1)

v1.0.1 時点での動作状況です。

ツールMCP App 経由備考
triage-alerts✅ 動作フル機能
triage-attack-discoveries✅ 動作既存 Discoveries の閲覧は可
manage-cases✅ 動作superuser ロールが必要(Serverless)
manage-rules✅ 動作通常動作
threat-hunt✅ 動作superuser ロールが必要(Serverless)
generate-sample-data✅ 動作17 シナリオ対応
generate-attack-discovery✅ 動作v1.0.1 で .inference タイプコネクタに対応

v1.0.0 では generate-attack-discovery が ❌ 未動作でしたが、v1.0.1 で修正されました。

Attack Discovery のライセンス要件

Attack Discovery は OSS(Basic)ライセンスでは利用できません。

デプロイ形態必要なライセンス
Self Managed / Elastic Cloud HostedEnterprise サブスクリプション
Elastic Cloud ServerlessEASE(Elastic AI SOC Engine)または Security Analytics Complete ティア

無料トライアルでは 14 日間 Enterprise 相当の機能を試せます。


気をつけるポイント(実体験で学んだこと)

  • .mcpb をインストールしただけでは拡張機能は「無効」状態。手動で有効化が必要
  • Serverless 環境では API キーに superuser ロールを使う(細かい権限指定が機能しない場合がある)
  • v1.0.1 から KIBANA_URL が必須。.es. と .kb. の URL を別々に設定すること。混同すると 404 エラーが発生する
  • API キーを変更したら拡張機能の設定で API キーを上書きして Claude Desktop を再起動
  • プロジェクト内の新規チャットでは MCP Apps 拡張が動かない。プロジェクト外で会話する
  • 日本語の create-case は Sonnet 4.6 でバグあり。英語プロンプトで代替するか Opus を使う
  • Attack Discovery は Enterprise サブスクリプション(または Serverless の EASE / Security Analytics Complete)が必要

⚠️ パブリックプレビュー期間中の注意 本記事執筆時点(2026年4月)では、MCP App は活発に開発・更新されています。バージョンアップにより、本記事に記載の手順や挙動が変わる場合があります。問題が発生した場合は、まず GitHub Issues で既知の問題を確認し、最新の .mcpb への更新や API キーの再設定をお試しください。


MCP Apps の現実と将来性

正直に書くと、現時点では MCP Apps が Kibana の完全な代替にはなりません。Kibana の方が安定していて、機能が完成しています。

ただし v1.0.1 で generate-attack-discovery が動くようになったことで、使えるシーンが明確に広がりました。

MCP Apps が意義を持つ場面は 3 つあります。

SOC アナリスト初心者の学習用: 「アラートをトリアージして」と日本語で言うだけで、AI がどのフィールドを見て、どう ES|QL を書くかを示してくれます。Kibana の使い方を覚える前に、調査の流れを体感できます。

横断的な調査: Security、Search、Observability の 3 つの MCP Apps を入れておけば、1 つのチャットで「アラート確認 → メトリクス調査 → ダッシュボード作成」までできます。Kibana だと画面の往復が必要です。

レポート作成・要約: 「このアラート群を経営層向けに要約して」「IOC を抽出してケースに追加して」など、AI が得意な作業をデータに対して直接実行できます。

「今すぐ Kibana を置き換えるもの」というよりは、「AI 時代のセキュリティ運用の方向性を体験できる先取り技術」と捉えるのが現実的です。


Search と Observability MCP App について

Security MCP App と同じ仕組みで、別途リポジトリが用意されています。

Search MCP App(example-mcp-dashbuilder): プロンプトから Kibana ダッシュボードを生成します。「ホスト別のイベント数、ユーザー別の操作件数、event.action 種別の内訳を含むダッシュボードを作って」と入力すると、ES|QL でデータを探索して可視化を組み立て、Kibana にエクスポート可能なダッシュボードを返します。

Observability MCP App(example-mcp-app-observability): クラスターヘルスサマリ、APM サービス依存関係グラフ、Kubernetes ノード停止時のインパクト範囲分析などを提供します。

それぞれインストール手順は Security と同じで、.mcpb ファイルをダブルクリックしてダウンロード、API キーを設定、Settings → Extensions で有効化、という流れです。

まとめ

Serverless × Claude Desktop の接続手順は 3 ステップです。

ステップ内容
Step 1Kibana で API キーを作成(Serverless では superuser ロールを推奨)
Step 2example-mcp-app-security.mcpb をダブルクリックしてインストール。ELASTICSEARCH_URL と KIBANA_URL を別々に入力、「有効」に切り替え
Step 3スキル zip を 5 つアップロード

v1.0.1 で generate-attack-discovery が動くようになったことが最大の変化です。これで 7 つすべてのツールが MCP App 経由で機能するようになりました。Claude と Kibana は同じデータに接続されたフロントエンドとして、並べて活用するのが効果的な使い方です。


参考資料


本シリーズのリンク