ms-sentinel-mcp-server

by dstreefkerk
MIT License
1
  • Linux

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

Сервер 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:

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, вам необходимо удалить 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:

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

Сценарий будет:

  1. Проверьте установку Python
  2. Создать виртуальную среду и установить зависимости
  3. Выполнить шаги после установки
  4. Создайте файл конфигурации Claude Desktop
  5. Скопируйте конфигурацию в буфер обмена.

После запуска скрипта вы можете вставить конфигурацию непосредственно в ваш клиент MCP (Claude Desktop, Cursor и т. д.). Скрипт генерирует конфигурацию сервера MCP, совместимую с Claude. Помните об этом, если собираетесь использовать другой клиент 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:
    mcp run wrapper.py
    Разработка и горячая перезагрузка:
    mcp dev wrapper.py
    Режим SSE (для IDE):
    python wrapper.py --sse

Пользовательский интерфейс инспектора

Пользовательский интерфейс 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

az login

Если вы используете аутентификацию Azure CLI, вы можете исключить AZURE_CLIENT_SECRET и AZURE_CLIENT_ID из конфигурации.


🐛 Отладка

Включите режим отладки, установив переменную среды MCP_DEBUG_LOG в true в файле .env :

MCP_DEBUG_LOG=true

Журналы записываются во временный каталог как sentinel_mcp_server.log .


📄 Лицензия

Данный проект лицензирован в соответствии с лицензией MIT .

Related MCP Servers

View all related MCP servers

ID: q516csqe5y