Microsoft DefenderでSentinel MCPツールをVS Codeから使う方法と管理者の確認ポイント

2026年5月14日に更新された公式情報で押さえるべきポイントは、Microsoft SentinelのMCPツールコレクション、または自作のカスタムMCPツールをVisual Studio CodeのAIエージェントに追加して使える手順が整理されたことです。Microsoft Defenderの保護機能や既存ポリシーが自動で変更される更新ではありませんが、Defender XDR、Microsoft Defender for Endpoint、Microsoft Sentinel data lake、Security Copilotを使う組織では、VS Codeからセキュリティデータを自然言語で調査できる範囲が広がります。管理者はまず、権限、データレイクのオンボード状況、MCPサーバーの接続範囲、カスタムツール化するKQLクエリの管理ルールを確認してください。(Microsoft Learn)

目次

Microsoft Defender運用で今回確認すべき変更点

今回の公式情報「Use a Microsoft Sentinel MCP tool in Visual Studio Code」は、Microsoft SentinelのModel Context Protocol(MCP)ツールをVisual Studio CodeのAIエージェントへ追加するための手順を示したものです。MCPは、AIモデルが外部ツールやデータ、コンテキストとやり取りするためのプロトコルで、Visual Studio CodeはMCPホストとしてMCPサーバーに接続できます。Microsoft SentinelのMCPサポートでは、セキュリティデータの探索、エンティティ分析、インシデントのトリアージ、脅威ハンティングなどを自然言語で扱えるようにすることが狙いです。(Microsoft Learn)

重要なのは、これは「Defenderの設定が勝手に変わる更新」ではなく、「DefenderやSentinelのセキュリティデータを、VS Code上のAIエージェントから扱える接続方法が明確化された更新」だという点です。SOC担当者や開発者がVS Codeを使って調査・自動化・KQL検証を行う組織ほど、影響は大きくなります。

確認項目公式情報で示された内容実務上の意味
VS Codeへの追加方法コマンドパレットから MCP: Add Server を実行し、HTTPまたはServer-Sent Eventsを選んでMCPサーバーURLを登録する管理者は、誰がどのMCPサーバーURLを登録できるかを管理する必要がある
認証少なくともSecurity readerロールを持つアカウントで認証する読み取り権限でもセキュリティデータにアクセスできるため、最小権限の設計が必要
利用範囲全ワークスペースで使うか、現在のVS Codeワークスペースだけで使うかを選べる検証段階では「現在のワークスペースのみ」に限定するのが安全
動作確認VS CodeのChatをAgent modeにし、Configure ToolsでMCPツールが追加されたことを確認する接続できても、Agent modeやツール選択が不適切だと使われない
カスタムツールAdvanced huntingやSentinel data lakeの保存済みKQLクエリをカスタムMCPツール化できる便利な一方で、クエリの公開範囲や説明文の品質がセキュリティに直結する

Microsoft Learnの該当ページは2026年5月14日に更新されており、同じ日付でカスタムMicrosoft Sentinel MCPツールの作成・利用に関する情報も更新されています。カスタムツール機能はプレビュー扱いの情報を含むため、本番展開では仕様変更の可能性を前提に設計する必要があります。(Microsoft Learn)

影響範囲:すぐ確認すべき組織と影響が小さい組織

Microsoft Defenderを利用していても、すべての組織が直ちに設定変更を求められるわけではありません。影響が大きいのは、Microsoft Sentinel data lake、Microsoft Defender XDR、Microsoft Defender for Endpoint、Microsoft Security Copilot、VS Code上のAIエージェント活用が重なっている環境です。Microsoftの公式情報では、Microsoft Sentinel MCPサーバーの多くのツールでMicrosoft Sentinel data lakeへのオンボードが必要であり、ツールによってはMicrosoft Sentinel in Microsoft Defender portal、Microsoft Defender XDRまたはDefender for Endpoint、Microsoft Security Copilotも前提になると説明されています。(Microsoft Learn)

組織の状況影響度取るべき対応
Sentinel data lakeを利用し、SOCがVS CodeやCopilotを使っている高MCP接続、RBAC、ワークスペース範囲、利用ログの確認をすぐ行う
Defender XDRやDefender for EndpointのAdvanced huntingを頻繁に使う中〜高保存済みKQLをカスタムMCPツール化するか、管理ルールを先に整備する
Sentinelを使っているが、VS Code上のAIエージェントは使っていない中将来展開に備え、権限とデータレイクのオンボード状況を棚卸しする
Defender for EndpointのみでSentinel data lakeを使っていない低直ちにMCP導入する必要は薄いが、ロードマップとライセンス要件を確認する
開発者が個別にMCPサーバーを追加できる状態高組織として許可するMCPサーバー、共有設定、秘密情報の扱いを明文化する

特に注意したいのは、MCPツールが「AIエージェントにセキュリティデータへの操作口を渡す」仕組みであることです。たとえ読み取り中心の用途でも、ユーザー、URL、デバイス、アラート、サインインログなどの情報を扱うため、従来のポータル利用と同じか、それ以上にアクセス管理が重要になります。

管理者が先に確認すべき設定

Microsoft Sentinel data lakeと関連サービスの前提条件

Microsoft Sentinel MCPサーバーの多くのツールは、Microsoft Sentinel data lakeへのオンボードを前提とします。加えて、利用するツールコレクションによっては、Microsoft Sentinel in Microsoft Defender portal、Microsoft Defender XDRまたはMicrosoft Defender for Endpoint、Microsoft Security Copilotの利用状況も関係します。(Microsoft Learn)

カスタムMicrosoft Sentinel MCPツールを作成する場合は、Microsoft Sentinel data lakeとMicrosoft Defenderのライセンスが前提として挙げられています。Advanced huntingの保存済みKQLクエリやSentinel data lakeのKQLクエリをツール化する設計では、単に「クエリが動くか」だけでなく、「そのクエリをAIエージェントに使わせてよいか」を判断する必要があります。(Microsoft Learn)

確認する項目は次の通りです。

確認項目見るべきポイント
Sentinel data lake対象ワークスペースがオンボード済みか
Defender XDR / Defender for EndpointAdvanced huntingで使うテーブルや保存済みクエリが整理されているか
Security Copilotエンティティ分析など、SCUを消費する機能を使う予定があるか
KQLクエリAIエージェントに渡してよい粒度・期間・対象に制限されているか
テナント・ディレクトリVS Codeで認証するユーザーが正しいテナントに接続しているか

ロールは「読めるだけだから安全」と考えない

Microsoft Sentinel MCPツールの一覧表示や呼び出しにはSecurity readerロールが必要です。カスタムツールの作成、更新、削除にはSecurity Operator、Security Admin、Global Adminのいずれかが必要で、カスタムツールの一覧表示や実行にはSecurity readerまたはGlobal readerが必要です。(Microsoft Learn)

実務では、Global Adminで検証を始めるのは避けるべきです。最初の検証は、読み取り専用に近いSecurity readerで実施し、カスタムツールの作成者は少人数に限定します。KQLを保存した人、ツール化した人、承認した人、利用できる人を分けると、後から「なぜこのデータがAIエージェントに渡ったのか」を追跡しやすくなります。

VS Codeでは「全ワークスペース」より「現在のワークスペース」から始める

公式手順では、MCPサーバーをすべてのVisual Studio Codeワークスペースで使うか、現在のワークスペースだけで使うかを選択できます。組織展開では、最初から全ワークスペースに広げるのではなく、検証用のセキュリティ調査ワークスペースに限定するのが現実的です。(Microsoft Learn)

VS CodeのMCP設定は、ワークスペースの .vscode/mcp.json またはユーザープロファイル側で管理できます。ワークスペース設定はチーム共有に向いていますが、ソース管理に含める場合は、APIキーや秘密情報を直接書かないことが重要です。VS Codeの公式ドキュメントでも、機密情報をハードコードせず、入力変数や環境ファイルを使うことが推奨されています。(Visual Studio Code)

使うMCPツールコレクションを絞る

Microsoft Sentinel MCPサーバーでは、利用できるコレクションが用途別に分かれています。すべてを一度に有効化するより、まずは利用目的に合うものだけを登録してください。(Microsoft Learn)

コレクションサーバーURL主な用途
Data explorationhttps://sentinel.microsoft.com/mcp/data-explorationSentinel data lake内のテーブル検索、データ取得、エンティティ分析
Security Copilot agent creationhttps://sentinel.microsoft.com/mcp/security-copilot-agent-creationSecurity Copilotエージェント作成を支援
Triagehttps://sentinel.microsoft.com/mcp/triageインシデントのトリアージ、脅威ハンティング

最初の検証では、Data explorationを読み取り中心の用途で試すのが分かりやすいです。たとえば「直近24時間のサインイン失敗を要約する」「リスクの高い上位ユーザーを確認する」といった調査から始めると、効果とリスクを比較しやすくなります。

Visual Studio CodeでMicrosoft Sentinel MCPツールを追加する手順

Visual Studio CodeでMicrosoft SentinelまたはカスタムMCPツールコレクションを使う流れは、公式手順では次のように整理されています。(Microsoft Learn)

| 手順 | 操作 | 確認ポイント |
| -: | —————————————————– | ————————————————————————– |
| 1 | Ctrl + Shift + P でコマンドパレットを開き、MCP: Add Server を選択 | 組織で許可されたVS Code環境か確認する |
| 2 | 接続方式としてHTTP、またはServer-Sent Eventsを選ぶ | Microsoft Sentinel MCPサーバーURLに合わせる |
| 3 | 利用するツールコレクションのMCPサーバーURLを入力 | 例:Data explorationなら https://sentinel.microsoft.com/mcp/data-exploration |
| 4 | 分かりやすいServer IDを付ける | 例:Microsoft Sentinel MCP server |
| 5 | 全ワークスペースで使うか、現在のワークスペースだけで使うか選択 | 検証段階では現在のワークスペースのみが無難 |
| 6 | 認証を求められたら、Security reader以上の権限を持つアカウントで許可 | 個人アカウントではなく業務用アカウントを使う |
| 7 | VS CodeのChatを開く | メニューのView > Chat、または Ctrl + Alt + I |
| 8 | ChatをAgent modeにし、Configure ToolsでMCPツールが追加されたことを確認 | ツールが表示されない場合はMCPサーバー設定と認証を見直す |

接続後は、いきなり広範囲の調査を実行するのではなく、対象ワークスペースと期間を明示したプロンプトでテストします。たとえば「対象ワークスペースを確認してから、直近24時間のサインイン失敗を要約してください」のように、調査対象を限定すると結果の検証がしやすくなります。

導入後に失敗しやすいポイント

接続できたのにMCPツールが呼び出されない

VS CodeでMCPサーバーを追加しても、ChatがAgent modeになっていない、ツールが無効化されている、サーバーが起動していない、プロンプトが曖昧すぎる、といった理由でMCPツールが呼び出されないことがあります。VS Codeのデバッグ機能では、Agent Debug Logでツール呼び出しの有無を確認し、Chat Debug viewで利用可能ツールやツール応答の内容を確認できます。MCPツールが呼び出されない場合は、ツールがシステムプロンプト上で利用可能になっているか、MCPサーバーが正しく構成されているか、必要に応じて #tool-name で明示しているかを確認します。(Visual Studio Code)

現場では、次の順番で切り分けると早いです。

症状原因候補確認方法
Configure Toolsに表示されないMCPサーバー未登録、認証失敗、URL誤りMCP: List Servers と出力ログを確認
表示されるが使われないAgent modeではない、ツールが無効ChatのAgent modeとツール選択を確認
ツールは呼ばれるが結果が薄いプロンプトが曖昧、ワークスペース未指定期間、対象、目的を明示する
結果がエラーになるロール不足、必要テーブル未オンボードRBACとSentinel data lakeのテーブルを確認

カスタムMCPツールでデータを広く渡しすぎる

カスタムMicrosoft Sentinel MCPツールでは、Advanced huntingやSentinel data lakeの保存済みKQLクエリを使って、AIエージェントが参照できるデータを細かく制御できます。これは便利ですが、広すぎるKQLクエリをそのままツール化すると、AIエージェントが不要なデータまで推論対象にしてしまう可能性があります。公式情報でも、カスタムツールはエージェントがアクセスできるデータを細かく制御し、決定的なエージェントワークフローを作るための仕組みとして説明されています。(Microsoft Learn)

たとえば、次のようなクエリはそのままツール化しない方が安全です。

SigninLogs
| where TimeGenerated > ago(30d)

期間が長く、目的も対象も曖昧です。カスタムツール化するなら、次のように用途を絞ります。

SigninLogs
| where TimeGenerated between ({StartTime} .. {EndTime})
| where ResultType != 0
| summarize FailureCount = count() by UserPrincipalName, IPAddress, AppDisplayName
| top 20 by FailureCount

パラメーター化したうえで、ツールの説明文には「指定期間のサインイン失敗をユーザー、IPアドレス、アプリ別に集計する」といった目的を書きます。Microsoftのベストプラクティスでも、ツール名と説明はAIモデルが適切なツールを選ぶうえで重要であり、短く行動指向で、目的を明確にすることが推奨されています。(Microsoft Learn)

必要なテーブルが不足して結果が不完全になる

Data explorationコレクションには、テーブル検索の search_tables、KQL実行の query_lake、ワークスペース一覧取得の list_sentinel_workspaces、ユーザーやURLを分析するエンティティ分析ツールなどがあります。KQL実行は調査や分析のための絞り込まれた取得を目的としており、バルクエクスポート用途ではないと説明されています。(Microsoft Learn)

特にエンティティ分析は、必要なテーブルや前提条件が不足すると精度や結果に影響します。

用途確認すべき前提注意点
ユーザー分析AlertEvidence、SigninLogs、CloudAppEvents、IdentityInfo などanalyze_user_entity は最大7日間の分析ウィンドウをサポートし、オンプレミスADのみのユーザーは対象外
URL分析EmailUrlInfo、UrlClickEvents、ThreatIntelIndicators、Watchlist、DeviceNetworkEvents など一部テーブルがない場合、欠落テーブルに関する免責を含む応答になる
エンティティ分析全般Security Copilot Contributorロール分析にはSecurity Compute Units(SCU)を消費する
複数分析の同時実行同時実行数とレイテンシまず最大5件程度の同時分析から始め、環境に合わせて調整する

これらの前提を確認せずに導入すると、「AIの回答が不正確だった」と見えても、実際には必要なログがSentinel data lakeに入っていないだけ、という事態が起きます。MCP導入前に、データソースのオンボード状況とテーブル可用性を点検してください。(Microsoft Learn)

開発者とSOC担当者に向く活用シーン

Microsoft Sentinel MCPツールをVS Codeで使う価値は、単に「自然言語で聞ける」ことではありません。開発者やSOC担当者が、調査の仮説、KQLの作成、結果の要約、次の調査アクションを同じ作業環境で進められる点にあります。

たとえば、次のようなプロンプトは実務で使いやすいです。

利用可能なMicrosoft Sentinel data lakeワークスペースを一覧化し、対象ワークスペースを確認してから、直近24時間のサインイン失敗を要約してください。失敗件数が多いユーザー、IPアドレス、アプリを分けて示してください。
直近7日間のpassword spray関連アラートに関係するユーザーを調査し、危険度が高い順に理由を付けて整理してください。根拠になったテーブルと時間範囲も示してください。
このURLが組織内でクリック、メール、通信、ウォッチリスト、脅威インテリジェンスのどこに出現しているかを調べ、対応優先度を判断してください。

プロンプトでは、「対象ワークスペース」「期間」「出力形式」「根拠にしたテーブル」「次に取るべき対応」を明示すると、調査結果をレビューしやすくなります。AIに丸投げするのではなく、SOCの判断材料を素早く集める補助線として使うのが安全です。

移行・展開は段階的に進める

今回の更新は、既存のKQLクエリ、Sentinel分析ルール、Defenderポータル運用を置き換えるものではありません。移行というより、既存のセキュリティ運用に「AIエージェントから使えるMCPツール」という入口を追加するイメージです。

おすすめの展開順序は次の通りです。

フェーズ目的実施内容
小規模検証接続と権限の確認Security readerでData explorationを現在のVS Codeワークスペースに限定して追加
読み取り運用調査補助として使うサインイン失敗、リスクユーザー、URL調査など、低リスクな読み取り調査に限定
カスタムツール化よく使うKQLを標準化保存済みKQLをレビューし、期間・対象・パラメーターを絞ってツール化
SOC手順への組み込み再現性を高めるインシデント種別ごとのプロンプト、確認表、承認フローを整備
組織展開利用範囲を広げる共有設定、GitHubポリシー、ログ確認、無効化手順を含めて展開

最初から「すべてのセキュリティ調査をAIエージェント化する」と考えると失敗しやすくなります。効果が出やすいのは、繰り返し多いが判断は人間が行う調査です。たとえば、サインイン失敗の集計、アラート関連ユーザーの洗い出し、URLの組織内出現状況確認などから始めると、過剰な自動化を避けながら導入効果を測れます。

セキュリティとガバナンスの注意点

VS CodeではMCPサーバーを有効化・無効化できます。無効化されたMCPサーバーは起動せず、そのツール、プロンプト、リソース、MCP AppsはChatから除外されます。また、有効・無効の状態は mcp.json とは別に保存されるため、共有設定ファイルそのものに影響しません。(Visual Studio Code)

組織としては、次のチェックリストを作ってから展開することをおすすめします。

チェック項目判断基準
許可するMCPサーバーURLMicrosoft Sentinel公式URLまたは承認済みカスタムURLに限定する
ワークスペース範囲検証段階では現在のワークスペースのみ。本番展開時に共有範囲を決める
ロールSecurity readerを基本にし、カスタムツール作成者は少人数へ限定する
KQLレビュー保存済みクエリをツール化する前に、取得データ、期間、対象、出力件数を確認する
秘密情報mcp.json にAPIキーやトークンを直書きしない
ログ確認VS CodeのAgent Debug Log、Chat Debug view、MCPサーバー出力を確認できるようにする
無効化手順VS Code側のDisable、必要に応じてMicrosoft Sentinel MCPツールアクセス停止の問い合わせ手順を整理する
コストSecurity Copilot連携やエンティティ分析でSCU消費が発生するか確認する

VS Codeの公式ドキュメントでは、ローカルMCPサーバーは任意のコードを実行できる可能性があるため、信頼できるソースのみを追加し、サーバー設定を確認するよう注意喚起されています。Microsoft SentinelのMCPサーバーはリモートの公式サービスとして使うケースが中心ですが、カスタムMCPツールや別のローカルMCPサーバーも併用する場合は、同じワークスペースに危険な設定を混在させないようにしてください。(Visual Studio Code)

管理者と開発者が次に取るべき行動

まず、Microsoft DefenderとMicrosoft Sentinelを運用している管理者は、対象テナントでMicrosoft Sentinel data lakeがオンボード済みか、Defender XDRやDefender for Endpointのデータが期待通り連携されているかを確認してください。次に、VS CodeでMCPを試すユーザーを限定し、Security readerでData explorationコレクションを現在のワークスペースだけに追加します。

開発者やSOC担当者は、いきなりカスタムツールを量産するのではなく、既存のAdvanced huntingクエリから「よく使う」「期間を絞れる」「結果をレビューしやすい」ものを選びます。ツール名と説明文は、AIが誤選択しないように目的を明確に書き、必要に応じてパラメーター化します。

今回のMicrosoft Sentinel MCPツール対応は、Microsoft Defender運用をAIエージェントに近づける実用的な更新です。ただし、価値を出すには、接続手順よりも先に「誰が、どのデータを、どの目的で、どの範囲までAIエージェントに使わせるか」を決めることが重要です。小さく検証し、権限とデータ範囲を絞り、KQLとプロンプトを標準化してから段階的に展開してください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次