Skip to main content
Glama

ms-sentinel-mcp-server

by dstreefkerk

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 に認証する必要があります。

az login

2. リポジトリのクローンを作成する

git clone https://github.com/dstreefkerk/ms-sentinel-mcp-server.git cd ms-sentinel-mcp-server

3. PowerShell スクリプトでインストールする(推奨)

提供されている PowerShell インストール スクリプトを使用して、MCP サーバーをセットアップします。

# Run from the repository root directory .\install.ps1

スクリプトは次のようになります。

  • Pythonのインストールを確認する

  • 仮想環境を作成し、依存関係をインストールする

  • Claude Desktop 構成ファイルを生成する

  • 設定をクリップボードにコピーします

スクリプトを実行した後、構成を MCP クライアント (Claude Desktop、Cursor など) に直接貼り付けることができます。

4. MCPサーバーを使用する

関連するワークスペース情報を使用して MCP クライアント構成を構成すると、MCP サーバーが使用できるようになります。

Azure CLI 認証を使用している場合は、MCP クライアント構成からAZURE_CLIENT_IDAZURE_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 サーバーをセットアップします。

# Run from the repository root directory .\install.ps1

スクリプトは次のようになります。

  1. Pythonのインストールを確認する

  2. 仮想環境を作成し、依存関係をインストールする

  3. インストール後の手順を実行する

  4. Claude Desktop 構成ファイルを生成する

  5. 設定をクリップボードにコピーします

スクリプトを実行した後、設定をMCPクライアント(Claude Desktop、Cursorなど)に直接貼り付けることができます。スクリプトはClaude互換のMCPサーバー設定を生成します。他のMCPクライアントを使用する場合は、この点にご注意ください。

高度なインストールオプション

手動環境設定

環境を手動で設定する場合:

  1. 環境変数を設定する

    提供されているテンプレートをコピーし、Azure 資格情報を入力します。

    cp .env.example .env # Edit .env and set: # AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_SUBSCRIPTION_ID, AZURE_RESOURCE_GROUP, AZURE_WORKSPACE_NAME, AZURE_WORKSPACE_ID
  2. 依存関係をインストールする(uvを使用)

    uv venv uv pip install -e .
  3. 代替サーバー実行オプション

    MCP CLI の使用:

    mcp run wrapper.py

    開発とホットリロード:

    mcp dev wrapper.py

    SSE モード (IDE 用):

    python wrapper.py --sse

インスペクター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 認証

az login

Azure CLI 認証を使用する場合は、構成からAZURE_CLIENT_SECRETAZURE_CLIENT_ID省略できます。


🐛 デバッグ

.envファイルでMCP_DEBUG_LOG環境変数をtrueに設定してデバッグ モードを有効にします。

MCP_DEBUG_LOG=true

ログはsentinel_mcp_server.logとして一時ディレクトリに書き込まれます。


📄 ライセンス

このプロジェクトはMIT ライセンスに基づいてライセンスされています。

Related MCP Servers

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dstreefkerk/ms-sentinel-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server