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.
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:
2. Clonar el repositorio
3. Instalar con script de PowerShell (recomendado)
Utilice el script de instalación de PowerShell proporcionado para configurar el servidor MCP:
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:
El guión hará lo siguiente:
- Comprobar la instalación de Python
- Crear un entorno virtual e instalar dependencias
- Ejecutar pasos posteriores a la instalación
- Generar un archivo de configuración de Claude Desktop
- 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:
- Configurar variables de entornoCopie la plantilla proporcionada y complete sus credenciales de Azure:Copy
- Instalar dependencias (con uv)Copy
- Opciones alternativas de ejecución del servidorUsando la CLI de MCP:Desarrollo y recarga en caliente:CopyModo SSE (para IDE):CopyCopy
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ónregister_resources(mcp)
. - Herramientas: Agregue archivos de Python a
tools/
e implemente la funciónregister_tools(mcp)
. Las herramientas deben seguir la estructura definida endocs/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
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
:
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
- Python
- Python
- JavaScriptMIT License
- PythonMIT License