Skip to main content
Glama

ms-sentinel-mcp-server

by dstreefkerk

Servidor MCP de Microsoft Sentinel

Un servidor de Protocolo de Contexto de Modelo (MCP) para Microsoft Sentinel. Este servidor permite acceso de solo lectura a una instancia de Microsoft Sentinel, incluyendo consultas avanzadas, visualización de incidentes y exploración de recursos para entornos de Azure Sentinel. Proporciona una plataforma modular y extensible para operaciones y análisis de seguridad basados únicamente en la observación.


⚠️ AVISO IMPORTANTE DE SEGURIDAD ⚠️

SOLO PARA ENTORNOS DE PRUEBA : Este servidor MCP de Microsoft Sentinel solo admite operaciones de solo lectura y está diseñado exclusivamente para entornos de prueba. No está diseñado para conectarse a instancias de producción de Sentinel.

ADVERTENCIA DE PRIVACIDAD : Conectar este servidor a un entorno de producción de Microsoft Entra ID (Azure AD) o Sentinel puede exponer datos confidenciales de usuarios y directorios a operadores de LLM o LLM públicos. Úselo solo con inquilinos que no sean de producción/prueba, o con un LLM privado compatible con MCP.

ADVERTENCIA DE SEGURIDAD : Conectar una instancia de producción de Microsoft Sentinel a un LLM público supone importantes riesgos de privacidad y seguridad. Utilice únicamente entornos privados y seguros para las operaciones de seguridad de producción.


✨ Características

  • Ejecución de consultas KQL : ejecute y valide consultas KQL, pruebe con datos simulados

  • Administración de análisis de registros : información del espacio de trabajo, listados de tablas y esquemas

  • Incidentes de seguridad : enumere y vea información detallada de incidentes

  • Reglas de análisis : enumerar, visualizar y analizar mediante tácticas/técnicas de MITRE

  • Plantillas de reglas : acceda y analice plantillas mediante el marco MITRE

  • Consultas de búsqueda : enumera, visualiza detalles y analiza por táctica

  • Conectores de datos : lista y visualización de detalles de los conectores

  • Listas de seguimiento : administre las listas de seguimiento y sus elementos

  • Inteligencia de amenazas : búsquedas de geolocalización de IP y WHOIS de dominio

  • Metadatos y control de fuentes : lista y visualización de detalles del repositorio

  • Análisis de ML : acceder a la configuración de análisis de ML

  • Autorización : Ver asignaciones de roles de RBAC

  • Usuarios y grupos de Entra ID : ver detalles de usuarios y grupos de Microsoft Entra ID


🚀 Inicio rápido

1. Autenticarse con la CLI de Azure

Antes de usar el servidor MCP, debe haberse autenticado en Azure con una cuenta que tenga acceso a un área de trabajo de Microsoft Sentinel:

az login

2. Clonar el repositorio

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

3. Instalar con script de PowerShell (recomendado)

Utilice el script de instalación de PowerShell proporcionado para configurar el servidor MCP:

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

El guión hará lo siguiente:

  • Comprobar la instalación de Python

  • Crear un entorno virtual e instalar dependencias

  • Generar un archivo de configuración de Claude Desktop

  • Copia la configuración a tu portapapeles

Después de ejecutar el script, puede pegar la configuración directamente en su cliente MCP (Claude Desktop, Cursor, etc.).

4. Utilice el servidor MCP

El servidor MCP estará listo para usarse después de que haya configurado su cliente MCP con la información del espacio de trabajo relevante.

Simplemente recuerde que si usa la autenticación CLI de Azure, debe eliminar AZURE_CLIENT_ID y AZURE_CLIENT_SECRET de la configuración del cliente MCP.


Referencia de herramientas

A continuación se muestran las herramientas disponibles. Para consultar la documentación completa, consulte el directorio resources/tool_docs/ . Los nombres y las descripciones de las herramientas se mantienen sincronizados con el registro de herramientas del servidor MCP para que el cliente MCP pueda recuperarlos.

Herramienta

Categoría

Descripción

entra_id_list_users

Identificación de entrada

Enumerar todos los usuarios en Microsoft Entra ID (Azure AD)

entra_id_get_user

Identificación de entrada

Obtener un usuario por UPN o ID de objeto de Entra ID

entra_id_list_groups

Identificación de entrada

Enumerar todos los grupos en Microsoft Entra ID (Azure AD)

entra_id_get_group

Identificación de entrada

Obtener un grupo por ID de objeto a partir de Entra ID

sentinel_logs_search

Nivel de calidad del cliente

Ejecutar una consulta KQL en los registros de Azure Monitor

sentinel_query_validate

Nivel de calidad del cliente

Validar la sintaxis de la consulta KQL localmente

sentinel_logs_search_with_dummy_data

Nivel de calidad del cliente

Pruebe una consulta KQL con datos simulados

sentinel_logs_tables_list

Análisis de registros

Enumere las tablas disponibles en el espacio de trabajo de Log Analytics

sentinel_logs_table_details_get

Análisis de registros

Obtener detalles de una tabla de Log Analytics

sentinel_logs_table_schema_get

Análisis de registros

Obtener el esquema de una tabla de Log Analytics

sentinel_workspace_get

Análisis de registros

Obtener información del espacio de trabajo

sentinel_incident_details_get

Incidentes

Obtenga información detallada sobre un incidente específico de Sentinel

sentinel_incident_list

Incidentes

Enumerar incidentes de seguridad en Microsoft Sentinel

sentinel_analytics_rule_list

Reglas de análisis

Enumere todas las reglas de análisis con campos clave

sentinel_analytics_rule_get

Reglas de análisis

Obtener detalles de una regla de análisis específica

sentinel_analytics_rules_count_by_tactic

Reglas de análisis

Contar las reglas de análisis de Sentinel por táctica

sentinel_analytics_rules_count_by_technique

Reglas de análisis

Contar reglas analíticas de Sentinel mediante la técnica MITRE

sentinel_analytics_rule_templates_list

Plantillas de reglas

Lista de todas las plantillas de reglas de análisis de Sentinel

sentinel_analytics_rule_template_get

Plantillas de reglas

Obtenga una plantilla de regla de análisis de Sentinel específica

sentinel_analytics_rule_templates_count_by_tactic

Plantillas de reglas

Plantillas de reglas de análisis de Count Sentinel por táctica

sentinel_analytics_rule_templates_count_by_technique

Plantillas de reglas

Plantillas de reglas de análisis de Count Sentinel mediante la técnica MITRE

sentinel_hunting_queries_list

Caza

Enumere todas las consultas de búsqueda de Sentinel con filtrado opcional

sentinel_hunting_query_get

Caza

Obtenga detalles completos de una consulta de caza de Sentinel por nombre o ID

sentinel_hunting_queries_count_by_tactic

Caza

Consultas de caza del Conde Sentinel por táctica

sentinel_connectors_list

Conectores de datos

Conectores de datos de lista

sentinel_connectors_get

Conectores de datos

Obtener un conector de datos específico por ID

sentinel_watchlists_list

Listas de vigilancia

Lista de todas las listas de vigilancia de Sentinel

sentinel_watchlist_get

Listas de vigilancia

Obtenga una lista de vigilancia específica de Sentinel

sentinel_watchlist_items_list

Listas de vigilancia

Enumerar todos los elementos en una lista de seguimiento de Sentinel

sentinel_watchlist_item_get

Listas de vigilancia

Obtener un elemento específico de una lista de seguimiento de Sentinel

sentinel_domain_whois_get

Inteligencia sobre amenazas

Obtener información WHOIS de un dominio

sentinel_ip_geodata_get

Inteligencia sobre amenazas

Obtener datos de geolocalización para una dirección IP

sentinel_metadata_list

Metadatos

Listar todos los metadatos de Sentinel en el espacio de trabajo actual

sentinel_metadata_get

Metadatos

Obtenga detalles de metadatos específicos de Sentinel por ID

sentinel_source_controls_list

Control de fuente

Enumere todos los controles de origen de Sentinel en el espacio de trabajo actual

sentinel_source_control_get

Control de fuente

Obtener detalles de un control de fuente Sentinel específico por ID

sentinel_ml_analytics_settings_list

Análisis de aprendizaje automático

Listar todas las configuraciones de análisis de Sentinel ML

sentinel_ml_analytics_setting_get

Análisis de aprendizaje automático

Obtener una configuración de análisis específica de Sentinel ML por nombre

sentinel_authorization_summary

Autorización

Resumir las asignaciones de roles de Azure RBAC para el acceso a Sentinel

log_analytics_saved_searches_list

Búsquedas guardadas

Enumerar todas las búsquedas guardadas en un espacio de trabajo de Log Analytics

log_analytics_saved_search_get

Búsquedas guardadas

Obtener una búsqueda guardada específica desde un espacio de trabajo de Log Analytics


🛠️ Uso

Instalación en Claude Desktop o entornos similares

Utilice el script de instalación de PowerShell proporcionado para configurar el servidor MCP para Claude Desktop u otros clientes compatibles con MCP:

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

El guión hará lo siguiente:

  1. Comprobar la instalación de Python

  2. Crear un entorno virtual e instalar dependencias

  3. Ejecutar pasos posteriores a la instalación

  4. Generar un archivo de configuración de Claude Desktop

  5. Copia la configuración a tu portapapeles

Tras ejecutar el script, puede pegar la configuración directamente en su cliente MCP (Claude Desktop, Cursor, etc.). El script genera una configuración del servidor MCP compatible con Claude. Tenga esto en cuenta si va a utilizar otro cliente MCP.

Opciones de instalación avanzadas

Configuración manual del entorno

Si prefiere configurar el entorno manualmente:

  1. Configurar variables de entorno

    Copie la plantilla proporcionada y complete sus credenciales de 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. Instalar dependencias (con uv)

    uv venv uv pip install -e .
  3. Opciones alternativas de ejecución del servidor

    Usando la CLI de MCP:

    mcp run wrapper.py

    Desarrollo y recarga en caliente:

    mcp dev wrapper.py

    Modo SSE (para IDE):

    python wrapper.py --sse

Interfaz de usuario del inspector

La interfaz de usuario del Inspector MCP está disponible en http://127.0.0.1:6274 cuando se ejecuta en modo de desarrollo ( mcp dev wrapper.py ).


🧩 Desarrollo

  • Recursos: agregue archivos Python a resources/ e implemente una función register_resources(mcp) .

  • Herramientas: Agregue archivos de Python a tools/ e implemente la función register_tools(mcp) . Las herramientas deben seguir la estructura definida en docs/tool-architecture-and-implementation-requirements.md .

  • Indicaciones: agregue plantillas de indicaciones a prompts/ para flujos de trabajo impulsados por LLM.

Todos los componentes de los directorios resources/ , tools/ y prompts/ se detectan y registran automáticamente al iniciar el servidor. No se requieren importaciones manuales.


🔐 Autenticación y variables de entorno

El servidor MCP admite cualquier método de autenticación compatible con DefaultAzureCredential del SDK de Azure Python.

Autenticación de entidad de servicio en lugar de la CLI de Azure

Configure un registro de aplicación en Azure y asigne los siguientes roles:

  • Log Analytics Reader

  • Microsoft Sentinel Reader

Si te sientes valiente, también puedes otorgar al Registro de la aplicación los siguientes permisos de Microsoft Graph:

  • User.Read.All

  • Group.Read.All

Luego, utilice las siguientes variables de entorno en su archivo .env o en la configuración del servidor MCP:

  • AZURE_TENANT_ID

  • AZURE_CLIENT_ID

  • AZURE_CLIENT_SECRET

  • AZURE_SUBSCRIPTION_ID

  • AZURE_RESOURCE_GROUP

  • AZURE_WORKSPACE_NAME

  • AZURE_WORKSPACE_ID

Consulte .env.example para obtener una plantilla.

Autenticación de la CLI de Azure

az login

Si usa la autenticación CLI de Azure, puede omitir AZURE_CLIENT_SECRET y AZURE_CLIENT_ID de su configuración.


🐛 Depuración

Habilite el modo de depuración configurando la variable de entorno MCP_DEBUG_LOG como true en su archivo .env :

MCP_DEBUG_LOG=true

Los registros se escriben en su directorio temporal como sentinel_mcp_server.log .


📄 Licencia

Este proyecto está licenciado bajo la licencia 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