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

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 は最後に簡単に触れます。

ホストには Claude Desktop を使います。.mcpb ファイルをダブルクリックするだけでインストールできる、最もシンプルな方法です。なお 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

接続先は Elastic Cloud Serverless を使います。ローカル接続(Part 2)と比べると、CA 証明書が不要な分セットアップがシンプルです。

本記事の対象環境は以下の通りです。

  • Claude Desktop(最新版)
  • Elastic Cloud Serverless 9.3(Security プロジェクト)
  • macOS(Windows の場合はパスのみ読み替えてください)
  • 📝 本記事について
    本記事は MCP App v1.0.0での
    動作検証に基づいています。Elastic Security MCP App は現在
    パブリックプレビュー中であり、活発に開発が続いています。
    記事公開後もバージョンアップが頻繁に行われる可能性があるため、
    実際の挙動が本記事の内容と異なる場合があります。
    最新の動作状況は
    GitHub リリースノート
    を合わせてご確認ください。

MCP Apps とは何か

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

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

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

  • コンテキストの維持: UI はチャットの中にあります。別タブを開く必要がないので、会話の流れが切れません。AI が前の文脈を保持したまま操作できることが SOC や調査でとても重要です。
  • 双方向のデータフロー: UI は MCP サーバーに直接データを取りに行けます。チャットで別の質問をしながら、UI 上のデータが更新されます(UI → MCP Host → MCP Server → Elasticsearch)。
  • サンドボックス化された信頼境界: MCP Apps はホストが管理する iframe の中で動きます。親ページへのアクセスや Cookie の読み取りはできません。

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 が自動的に起動して、インストールダイアログが表示されます。

警告について:「インストールすると、この拡張機能にコンピュータ上のすべてのデータへのアクセス権が付与されます」というメッセージが表示されますが、これはすべての .mcpb 拡張機能に表示される標準メッセージです。Elastic Security MCP App が実際にアクセスするのは Elasticsearch と Kibana の API のみで、PC 上の他のデータにはアクセスしません。

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

項目
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:アラートをトリアージする

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

Alert Triage ダッシュボードがチャット内に表示されます。各検知ルールに対して AI の判定が信頼スコア付きで表示されます。omm-nix-prevent への大量の SSH ログインがフラグされ、isla、abrar、ddroot といったユーザーの認証履歴をプロセスツリーで確認できます。

ホスト別、検知ルール別、重大度別の集計が UI 内に表示され、アラートをクリックするとプロセスツリーや詳細が展開されます。

図 1:Alert Triage ダッシュボード。high 100 件、medium 100 件の計 200 件が表示され、検知ルール別・ホスト別の集計が確認できる。

Step 2:Attack Discovery を確認する

既存の Attack Discovery を一覧表示して

triage-attack-discoveries ツールが起動し、既存の Attack Discovery 一覧が表示されます。

図 2:Attack Discovery 一覧。まだ生成していない場合は 0 件と表示される(正常動作)。

Step 3:ケースを作成する

omm-nix-prevent SSH ログイン調査というタイトルでケースを作成して。

重大度は HIGH、関連タグは ssh-login, file-activity, suspicious-unzip

Case Management ダッシュボードがインラインに表示され、ケースが即座に作成されます。

図 3:Case Management ダッシュボード。

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

検知ルールを一覧表示して

manage-rules ダッシュボードが起動し、検知ルールの一覧が表示されます。ルール名、重大度、有効/無効の状態、KQL クエリが確認できます。

図 4:検知ルール管理画面。critical、high、medium のルールが一覧表示され、個別に有効化・チューニングできる。

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

omm-nix-prevent へのSSHログイン後のファイル作成を調査して

Threat Hunt ワークベンチが開き、クエリが自動生成されて実行済みの状態で返ってきます。結果には以下のような情報が表示されました。

unzip がハッシュ名のファイルを作成しているのが目立ちます。マルウェアペイロードの可能性があり、調査を進める根拠になります。テーブル内のホスト名やユーザー名はクリックでさらに掘り下げられます。

図 5:Threat Hunt ワークベンチ。ES|QL クエリが自動生成・実行済みで返ってくる。テーブル内のエンティティはクリックで掘り下げ可能。

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 を選択すると、複数の検知ルールに対応するアラートが生成されます。

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


Attack Discovery のハマりどころ(実体験)

ここから実体験のトラブルシュート記録です。同じ問題に遭遇する方の参考になればと思い、起きたことをそのまま書きます。

現象 1:MCP App から実行すると「AI コネクタなし」エラー

Claude Desktop で「Attack Discovery を実行して」と入力したら、結果は「AI コネクタが設定されていません」のエラー画面でした。

調査した結果、以下のことがわかりました。Kibana 9.x Serverless では AI コネクタがすべて .inference タイプ(統合 Inference API ベース)として提供されています。しかし MCP App v1.0.0 はこのタイプのコネクタを列挙対象に含めていないため、Kibana UI から見えているコネクタが MCP App には 1 つも見えない状態になります。

確認のために手動で .gen-ai タイプのコネクタを作成したところ、そのコネクタだけは MCP App から認識されました。

コネクタタイプKibana UIMCP App
.inference(Serverless 標準)✅ 見える❌ 見えない
.gen-ai(手動作成)✅ 見える✅ 見える

この問題は Elastic 側のバグとして認識済みです。修正時期は未定ですが、修正状況は example-mcp-app-security のリリースノート で確認できます。

図 7:generate-attack-discovery の実行結果。Serverless 標準の .inference コネクタが認識されず、「No matching connector. Available: (空)」エラーが表示される。


MCP Apps 動作状況のまとめ

本記事執筆時点(MCP App v1.0.0)での動作状況をまとめます。

ツール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❌ 未動作.inference タイプコネクタ非対応(Elastic 側バグ認識済、修正待ち)

Attack Discovery 機能を使いたい場合は、現時点では Kibana UI から直接実行するのが確実です。


Attack Discovery のライセンス要件

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

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

無料トライアルでは 14 日間 Enterprise 相当の機能を試せます。本番導入時のライセンス検討材料にしてください。



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 の接続手順

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

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

  • .mcpb をインストールしただけでは拡張機能は「無効」状態。手動で有効化が必要
  • Serverless 環境では API キーに superuser ロールを使う(細かい権限指定が機能しない場合がある)
  • API キーを変更したら拡張機能の設定で API キーを上書きして Claude Desktop を再起動
  • プロジェクト内の新規チャットでは MCP Apps 拡張が動かない。プロジェクト外で会話する
  • Attack Discovery は Enterprise サブスクリプション(または Serverless の EASE / Security Analytics Complete)が必要
  • Attack Discovery は本記事執筆時点では Kibana UI 経由が確実(MCP App 側は Elastic バグ認識済、修正待ち)
  • ⚠️ パブリックプレビュー期間中の注意
    本記事執筆時点(2026年4月)では、MCP App は活発に開発・更新
    されています。バージョンアップにより、本記事に記載の手順や
    挙動が変わる場合があります。問題が発生した場合は、まず
    GitHub Issues
    で既知の問題を確認し、最新の .mcpb への更新や
    APIキーの再設定をお試しください。

MCP Apps の現実と将来性

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

それでも MCP Apps が意義を持つ場面はあります。

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

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

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

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


参考資料


本シリーズのリンク