Сервер Microsoft Sentinel MCP
Сервер Model Context Protocol (MCP) для Microsoft Sentinel. Этот сервер обеспечивает доступ только для чтения к экземпляру Microsoft Sentinel, включая расширенные запросы, просмотр инцидентов и исследование ресурсов для сред Azure Sentinel. Он предоставляет модульную и расширяемую платформу для операций безопасности и анализа только для наблюдения.
⚠️ ВАЖНОЕ УВЕДОМЛЕНИЕ О БЕЗОПАСНОСТИ ⚠️
ТОЛЬКО ДЛЯ ТЕСТОВЫХ СРЕД : Этот сервер Microsoft Sentinel MCP поддерживает только операции только для чтения и предназначен исключительно для ТЕСТОВЫХ сред. Он не предназначен для подключения к производственным экземплярам Sentinel.
ПРЕДУПРЕЖДЕНИЕ О КОНФИДЕНЦИАЛЬНОСТИ : подключение этого сервера к производственной среде Microsoft Entra ID (Azure AD) или Sentinel может раскрыть конфиденциальные данные пользователя и каталога операторам LLM или публичным LLM. Используйте только с непроизводственными/тестовыми арендаторами или частным LLM с поддержкой MCP.
ПРЕДУПРЕЖДЕНИЕ О БЕЗОПАСНОСТИ : Подключение производственного экземпляра Microsoft Sentinel к публичному LLM представляет значительные риски конфиденциальности и безопасности. Используйте только частные, защищенные среды для производственных операций по безопасности.
✨ Особенности
- Выполнение запросов KQL : запуск и проверка запросов KQL, тестирование с использованием фиктивных данных.
- Управление аналитикой журналов : информация о рабочем пространстве, списки таблиц и схемы
- Инциденты безопасности : список и просмотр подробной информации об инцидентах
- Правила аналитики : список, просмотр и анализ по тактикам/методам MITRE
- Шаблоны правил : доступ к шаблонам и их анализ с помощью фреймворка MITRE
- Запросы на охоту : список, просмотр деталей и анализ по тактике
- Коннекторы данных : список и просмотр сведений о коннекторах
- Списки наблюдения : управление списками наблюдения и их элементами.
- Threat Intelligence : поиск по домену WHOIS и геолокации IP
- Метаданные и контроль исходного кода : список и просмотр сведений о репозитории
- Аналитика ML : доступ к настройкам аналитики ML
- Авторизация : Просмотр назначений ролей RBAC
- Пользователи и группы Entra ID : просмотр сведений о пользователях и группах из Microsoft Entra ID
🚀 Быстрый старт
1. Аутентификация с помощью Azure CLI
Перед использованием сервера MCP необходимо пройти аутентификацию в Azure с учетной записью, имеющей доступ к рабочей области Microsoft Sentinel:
2. Клонировать репозиторий
3. Установка с помощью скрипта PowerShell (рекомендуется)
Используйте предоставленный скрипт установки PowerShell для настройки сервера MCP:
Сценарий будет:
- Проверьте установку Python
- Создать виртуальную среду и установить зависимости
- Создайте файл конфигурации Claude Desktop
- Скопируйте конфигурацию в буфер обмена.
После запуска скрипта вы можете вставить конфигурацию непосредственно в ваш клиент MCP (Claude Desktop, Cursor и т. д.).
4. Используйте MCP-сервер
Сервер MCP будет готов к использованию после того, как вы настроите конфигурацию клиента MCP с соответствующей информацией о рабочем пространстве.
Просто помните, что если вы используете аутентификацию Azure CLI, вам необходимо удалить AZURE_CLIENT_ID
и AZURE_CLIENT_SECRET
из конфигурации клиента MCP.
🧰 Справочник инструментов
Ниже приведены доступные инструменты. Полную документацию см. в каталоге resources/tool_docs/
. Названия и описания инструментов синхронизируются с реестром инструментов сервера MCP, чтобы клиент MCP мог их извлечь.
Инструмент | Категория | Описание |
---|---|---|
entra_id_list_users | Входной идентификатор | Список всех пользователей в Microsoft Entra ID (Azure AD) |
entra_id_get_user | Входной идентификатор | Получить пользователя по UPN или идентификатору объекта из Entra ID |
entra_id_list_groups | Входной идентификатор | Список всех групп в Microsoft Entra ID (Azure AD) |
entra_id_get_group | Входной идентификатор | Получить группу по идентификатору объекта из Entra ID |
sentinel_logs_search | ККЛ | Выполнить запрос KQL к журналам Azure Monitor |
sentinel_query_validate | ККЛ | Локальная проверка синтаксиса запроса KQL |
sentinel_logs_search_with_dummy_data | ККЛ | Тестирование 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 по тактике |
sentinel_analytics_rules_count_by_technique | Правила аналитики | Правила аналитики Count Sentinel по методике MITRE |
sentinel_analytics_rule_templates_list | Шаблоны правил | Список всех шаблонов правил аналитики Sentinel |
sentinel_analytics_rule_template_get | Шаблоны правил | Получите конкретный шаблон правила аналитики Sentinel |
sentinel_analytics_rule_templates_count_by_tactic | Шаблоны правил | Шаблоны правил аналитики Count Sentinel по тактике |
sentinel_analytics_rule_templates_count_by_technique | Шаблоны правил | Шаблоны правил аналитики Count Sentinel по методике MITRE |
sentinel_hunting_queries_list | Охота | Список всех запросов Sentinel Hunting с дополнительной фильтрацией |
sentinel_hunting_query_get | Охота | Получите полную информацию о запросе Sentinel по имени или идентификатору |
sentinel_hunting_queries_count_by_tactic | Охота | Количество запросов на охоту Sentinel по тактике |
sentinel_connectors_list | Коннекторы данных | Список соединителей данных |
sentinel_connectors_get | Коннекторы данных | Получить конкретный коннектор данных по идентификатору |
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 | Метаданные | Получить сведения о конкретных метаданных Sentinel по идентификатору |
sentinel_source_controls_list | Контроль исходного кода | Список всех элементов управления исходным кодом Sentinel в текущей рабочей области |
sentinel_source_control_get | Контроль исходного кода | Получить сведения о конкретном элементе управления источником Sentinel по идентификатору |
sentinel_ml_analytics_settings_list | Аналитика МО | Список всех настроек аналитики Sentinel ML |
sentinel_ml_analytics_setting_get | Аналитика МО | Получить конкретную настройку аналитики Sentinel ML по имени |
sentinel_authorization_summary | Авторизация | Обобщите назначения ролей Azure RBAC для доступа Sentinel |
log_analytics_saved_searches_list | Сохраненные поиски | Список всех сохраненных поисков в рабочей области Log Analytics |
log_analytics_saved_search_get | Сохраненные поиски | Получите определенный сохраненный поиск из рабочей области Log Analytics |
🛠️ Использование
Установка в Claude Desktop или аналогичные среды
Используйте предоставленный скрипт установки PowerShell для настройки сервера MCP для Claude Desktop или других клиентов, совместимых с MCP:
Сценарий будет:
- Проверьте установку Python
- Создать виртуальную среду и установить зависимости
- Выполнить шаги после установки
- Создайте файл конфигурации Claude Desktop
- Скопируйте конфигурацию в буфер обмена.
После запуска скрипта вы можете вставить конфигурацию непосредственно в ваш клиент MCP (Claude Desktop, Cursor и т. д.). Скрипт генерирует конфигурацию сервера MCP, совместимую с Claude. Помните об этом, если собираетесь использовать другой клиент MCP.
Расширенные параметры установки
Ручная настройка среды
Если вы предпочитаете настроить среду вручную:
- Настроить переменные средыСкопируйте предоставленный шаблон и заполните свои учетные данные Azure:
- Установить зависимости (с uv)
- Альтернативные варианты запуска сервераИспользование интерфейса командной строки MCP:Разработка и горячая перезагрузка:Режим SSE (для IDE):
Пользовательский интерфейс инспектора
Пользовательский интерфейс MCP Inspector доступен по адресу http://127.0.0.1:6274 при работе в режиме разработки ( mcp dev wrapper.py
).
🧩 Развитие
- Ресурсы: Добавьте файлы Python в
resources/
и реализуйте функциюregister_resources(mcp)
. - Инструменты: Добавьте файлы Python в
tools/
и реализуйте функциюregister_tools(mcp)
. Инструменты должны следовать структуре, определенной вdocs/tool-architecture-and-implementation-requirements.md
. - Подсказки: добавьте шаблоны подсказок в
prompts/
для рабочих процессов, управляемых LLM.
Все компоненты в каталогах resources/
, tools/
и prompts/
автоматически обнаруживаются и регистрируются при запуске сервера. Ручной импорт не требуется.
🔐 Аутентификация и переменные среды
Сервер MCP поддерживает любой метод аутентификации, поддерживаемый DefaultAzureCredential
из Azure Python SDK.
Аутентификация субъекта-службы вместо 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
из конфигурации.
🐛 Отладка
Включите режим отладки, установив переменную среды MCP_DEBUG_LOG
в true
в файле .env
:
Журналы записываются во временный каталог как sentinel_mcp_server.log
.
📄 Лицензия
Данный проект лицензирован в соответствии с лицензией MIT .
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
ms-sentinel-mcp-сервер
Related MCP Servers
- Python
- -securityAlicense-qualitySatellite Tracking MCP ServerLast updated -TypeScriptMIT License
- PythonApache 2.0
- TypeScriptMIT License