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 Code | claude mcp add CLI | setup-claude-code.md |
| Claude.ai | cloudflared トンネル経由 | setup-claude-ai.md |
| Cursor | npx またはローカルサーバー | setup-cursor.md |
| VS Code | npx またはローカルサーバー | 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_URL | https://your-cluster.es.cloud.example.com |
| ELASTICSEARCH_API_KEY | Step 1 で作成した API キー |
| KIBANA_URL | https://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-cases | SOC 調査ケースの作成・管理。AI アクションボタン付き |
| manage-rules | 検知ルールの閲覧・チューニング |
| threat-hunt | ES|QL ワークベンチ、クリッカブルなエンティティ、D3 調査グラフ |
| generate-sample-data | 17 の攻撃シナリオのサンプルデータ生成 |
重要な制約:プロジェクト内のチャットでは動かない
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 UI | MCP 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 Hosted | Enterprise サブスクリプション |
| Elastic Cloud Serverless | EASE(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 1 | Kibana で API キーを作成(Serverless では superuser ロールを推奨) |
| Step 2 | example-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 時代のセキュリティ運用の方向性を体験できる先取り技術」と捉えるのが現実的です。
参考資料
- Elastic Agent Builder MCP server https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/mcp-server
- Permissions and access control in Elastic Agent Builder https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/permissions
- Attack Discovery https://www.elastic.co/docs/solutions/security/ai/attack-discovery
- Elastic Security, Observability, and Search now offer interactive UI in your AI tools https://www.elastic.co/search-labs/blog/mcp-apps-elastic
- elastic/example-mcp-app-security https://github.com/elastic/example-mcp-app-security
- elastic/example-mcp-dashbuilder https://github.com/elastic/example-mcp-dashbuilder
- elastic/example-mcp-app-observability https://github.com/elastic/example-mcp-app-observability
- ohmymalware(for dataset) https://ohmymalware.com/
本シリーズのリンク
- Part 1:Elastic Agent Skills とは、インストールから始める https://elastic.sios.jp/blog/elastic-agent-skills-part1/
- Part 2:Claude Code で Elastic Agent Skills を試す、ローカル接続編 https://elastic.sios.jp/blog/elastic-agent-skills-part2/

