Integrations
Supports environment variable configuration for authentication and server settings through .env files, allowing secure storage of Azure credentials and server configuration.
Enables access to source control information for Sentinel resources, including listing and viewing repository details for security content managed through source control.
Referenced as the repository hosting location for the MCP server, allowing users to clone and install the server from GitHub.
Microsoft Sentinel MCP サーバー
Microsoft Sentinel用のモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、Microsoft Sentinelインスタンスへの読み取り専用アクセスを可能にし、Azure Sentinel環境における高度なクエリ、インシデント表示、リソース探索などを可能にします。監視のみを目的としたセキュリティ運用と分析のための、モジュール式で拡張可能なプラットフォームを提供します。
⚠️ 重要なセキュリティに関するお知らせ ⚠️
テスト環境専用:このMicrosoft Sentinel MCPサーバーは読み取り専用操作のみをサポートし、テスト環境専用です。本番環境のSentinelインスタンスへの接続は想定されていません。
プライバシーに関する警告:このサーバーを本番環境のMicrosoft Entra ID(Azure AD)またはSentinel環境に接続すると、機密性の高いユーザーおよびディレクトリデータがLLMオペレーターまたはパブリックLLMに公開される可能性があります。本番環境以外のテナントまたはテストテナント、またはMCPサポート付きのプライベートLLMでのみご使用ください。
セキュリティ警告:本番環境のMicrosoft SentinelインスタンスをパブリックLLMに接続すると、プライバシーとセキュリティに重大なリスクが生じます。本番環境のセキュリティ運用には、プライベートでセキュリティ保護された環境のみを使用してください。
✨ 特徴
- KQLクエリ実行: KQLクエリを実行して検証し、模擬データでテストする
- ログ分析管理: ワークスペース情報、テーブル一覧、スキーマ
- セキュリティインシデント: 詳細なインシデント情報を一覧表示および表示する
- 分析ルール: MITRE の戦術/テクニック別にリスト、表示、分析します
- ルールテンプレート: MITREフレームワークによるテンプレートへのアクセスと分析
- ハンティングクエリ: リスト、詳細の表示、戦術別の分析
- データ コネクタ: コネクタの詳細を一覧表示および表示する
- ウォッチリスト: ウォッチリストとそのアイテムを管理する
- 脅威インテリジェンス: ドメインWHOISとIP位置情報検索
- メタデータとソース管理: リポジトリの詳細を一覧表示および表示する
- ML分析: ML分析設定にアクセスする
- 承認: RBAC ロールの割り当てを表示する
- Entra ID ユーザーとグループ: Microsoft Entra ID からユーザーとグループの詳細を表示します
🚀 クイックスタート
1. Azure CLIで認証する
MCP サーバーを使用する前に、Microsoft Sentinel ワークスペースにアクセスできるアカウントを使用して Azure に認証する必要があります。
2. リポジトリのクローンを作成する
3. PowerShell スクリプトでインストールする(推奨)
提供されている PowerShell インストール スクリプトを使用して、MCP サーバーをセットアップします。
スクリプトは次のようになります。
- Pythonのインストールを確認する
- 仮想環境を作成し、依存関係をインストールする
- Claude Desktop 構成ファイルを生成する
- 設定をクリップボードにコピーします
スクリプトを実行した後、構成を MCP クライアント (Claude Desktop、Cursor など) に直接貼り付けることができます。
4. MCPサーバーを使用する
関連するワークスペース情報を使用して MCP クライアント構成を構成すると、MCP サーバーが使用できるようになります。
Azure CLI 認証を使用している場合は、MCP クライアント構成からAZURE_CLIENT_ID
とAZURE_CLIENT_SECRET
削除する必要があることに注意してください。
🧰 ツールリファレンス
利用可能なツールは以下の通りです。詳細なドキュメントは、 resources/tool_docs/
ディレクトリをご覧ください。ツール名と説明はMCPサーバーのツールレジストリと同期されているため、MCPクライアントが取得できます。
道具 | カテゴリ | 説明 |
---|---|---|
entra_id_list_users | エントラID | Microsoft Entra ID (Azure AD) のすべてのユーザーを一覧表示する |
entra_id_get_user | エントラID | Entra ID から UPN またはオブジェクト ID でユーザーを取得する |
entra_id_list_groups | エントラID | Microsoft Entra ID (Azure AD) 内のすべてのグループを一覧表示する |
entra_id_get_group | エントラID | Entra IDからオブジェクトIDでグループを取得する |
sentinel_logs_search | KQL | Azure Monitor ログに対して KQL クエリを実行する |
sentinel_query_validate | KQL | KQLクエリ構文をローカルで検証する |
sentinel_logs_search_with_dummy_data | KQL | モックデータを使用してKQLクエリをテストする |
sentinel_logs_tables_list | ログ分析 | Log Analytics ワークスペースで利用可能なテーブルを一覧表示する |
sentinel_logs_table_details_get | ログ分析 | Log Analytics テーブルの詳細を取得する |
sentinel_logs_table_schema_get | ログ分析 | Log Analytics テーブルのスキーマを取得する |
sentinel_workspace_get | ログ分析 | ワークスペース情報を取得する |
sentinel_incident_details_get | 事件 | 特定のSentinelインシデントに関する詳細情報を取得する |
sentinel_incident_list | 事件 | Microsoft Sentinel でセキュリティ インシデントを一覧表示する |
sentinel_analytics_rule_list | 分析ルール | キーフィールドを含むすべての分析ルールを一覧表示する |
sentinel_analytics_rule_get | 分析ルール | 特定の分析ルールの詳細を取得する |
sentinel_analytics_rules_count_by_tactic | 分析ルール | センチネル分析ルールを戦術別にカウント |
sentinel_analytics_rules_count_by_technique | 分析ルール | MITREテクニックによるセンチネル分析ルールのカウント |
sentinel_analytics_rule_templates_list | ルールテンプレート | すべての Sentinel 分析ルール テンプレートを一覧表示する |
sentinel_analytics_rule_template_get | ルールテンプレート | 特定のSentinel分析ルールテンプレートを取得する |
sentinel_analytics_rule_templates_count_by_tactic | ルールテンプレート | 戦術別にセンチネル分析ルールテンプレートをカウント |
sentinel_analytics_rule_templates_count_by_technique | ルールテンプレート | MITREテクニックによるCount Sentinel分析ルールテンプレート |
sentinel_hunting_queries_list | 狩猟 | オプションのフィルタリングを使用して、すべての Sentinel ハンティング クエリを一覧表示します。 |
sentinel_hunting_query_get | 狩猟 | 名前またはIDでセンチネルハンティングクエリの詳細を取得します |
sentinel_hunting_queries_count_by_tactic | 狩猟 | センチネルハンティングクエリを戦術別にカウント |
sentinel_connectors_list | データコネクタ | データコネクタの一覧 |
sentinel_connectors_get | データコネクタ | IDで特定のデータコネクタを取得する |
sentinel_watchlists_list | ウォッチリスト | すべてのSentinelウォッチリストを一覧表示する |
sentinel_watchlist_get | ウォッチリスト | 特定のSentinelウォッチリストを取得する |
sentinel_watchlist_items_list | ウォッチリスト | Sentinelウォッチリスト内のすべてのアイテムを一覧表示する |
sentinel_watchlist_item_get | ウォッチリスト | Sentinelウォッチリストから特定のアイテムを取得する |
sentinel_domain_whois_get | 脅威情報 | ドメインのWHOIS情報を取得する |
sentinel_ip_geodata_get | 脅威情報 | IPアドレスの位置情報データを取得する |
sentinel_metadata_list | メタデータ | 現在のワークスペース内のすべての Sentinel メタデータを一覧表示します |
sentinel_metadata_get | メタデータ | ID で特定の Sentinel メタデータの詳細を取得します |
sentinel_source_controls_list | ソース管理 | 現在のワークスペース内のすべての Sentinel ソース管理を一覧表示します |
sentinel_source_control_get | ソース管理 | ID で特定の Sentinel ソース管理の詳細を取得します |
sentinel_ml_analytics_settings_list | ML分析 | Sentinel ML分析設定をすべて一覧表示する |
sentinel_ml_analytics_setting_get | ML分析 | 特定の Sentinel ML 分析設定を名前で取得する |
sentinel_authorization_summary | 承認 | Sentinel アクセスの Azure RBAC ロールの割り当ての概要 |
log_analytics_saved_searches_list | 保存した検索 | Log Analytics ワークスペースに保存されているすべての検索を一覧表示する |
log_analytics_saved_search_get | 保存した検索 | Log Analytics ワークスペースから特定の保存済み検索を取得する |
🛠️ 使用方法
Claude Desktopまたは同様の環境へのインストール
提供されている PowerShell インストール スクリプトを使用して、Claude Desktop またはその他の MCP 互換クライアント用に MCP サーバーをセットアップします。
スクリプトは次のようになります。
- Pythonのインストールを確認する
- 仮想環境を作成し、依存関係をインストールする
- インストール後の手順を実行する
- Claude Desktop 構成ファイルを生成する
- 設定をクリップボードにコピーします
スクリプトを実行した後、設定をMCPクライアント(Claude Desktop、Cursorなど)に直接貼り付けることができます。スクリプトはClaude互換のMCPサーバー設定を生成します。他のMCPクライアントを使用する場合は、この点にご注意ください。
高度なインストールオプション
手動環境設定
環境を手動で設定する場合:
- 環境変数を設定する提供されているテンプレートをコピーし、Azure 資格情報を入力します。Copy
- 依存関係をインストールする(uvを使用)Copy
- 代替サーバー実行オプションMCP CLI の使用:開発とホットリロード:CopySSE モード (IDE 用):CopyCopy
インスペクターUI
MCP Inspector UI は、開発モード ( mcp dev wrapper.py
) で実行している場合、 http://127.0.0.1:6274で利用できます。
🧩 開発
- リソース:
resources/
に Python ファイルを追加し、register_resources(mcp)
関数を実装します。 - ツール:
tools/
にPythonファイルを追加し、register_tools(mcp)
関数を実装します。ツールはdocs/tool-architecture-and-implementation-requirements.md
で定義されている構造に従う必要があります。 - プロンプト: LLM 駆動型ワークフローの
prompts/
にプロンプト テンプレートを追加します。
resources/
、 tools/
、 prompts/
ディレクトリ内のすべてのコンポーネントは、サーバー起動時に自動検出され、登録されます。手動でインポートする必要はありません。
🔐 認証と環境変数
MCP サーバーは、Azure Python SDK のDefaultAzureCredential
でサポートされているすべての認証方法をサポートします。
Azure CLI の代わりにサービス プリンシパル認証を使用する
Azure でアプリ登録を設定し、次のロールを割り当てます。
Log Analytics Reader
Microsoft Sentinel Reader
勇気があれば、アプリ登録に次の Microsoft Graph アクセス許可を付与することもできます。
User.Read.All
Group.Read.All
次に、 .env
ファイルまたは MCP サーバー構成で次の環境変数を使用します。
AZURE_TENANT_ID
AZURE_CLIENT_ID
AZURE_CLIENT_SECRET
AZURE_SUBSCRIPTION_ID
AZURE_RESOURCE_GROUP
AZURE_WORKSPACE_NAME
AZURE_WORKSPACE_ID
テンプレートについては.env.example
を参照してください。
Azure CLI 認証
Azure CLI 認証を使用する場合は、構成からAZURE_CLIENT_SECRET
とAZURE_CLIENT_ID
省略できます。
🐛 デバッグ
.env
ファイルでMCP_DEBUG_LOG
環境変数をtrue
に設定してデバッグ モードを有効にします。
ログはsentinel_mcp_server.log
として一時ディレクトリに書き込まれます。
📄 ライセンス
このプロジェクトはMIT ライセンスに基づいてライセンスされています。
This server cannot be installed
ms-sentinel-mcp-server
Related MCP Servers
- Python
- Python
- JavaScriptMIT License
- PythonMIT License