
MCP para ayudar a los ingenieros de detección de defensores a trabajar más duro y de forma más inteligente
Un servidor MCP (Model Context Protocol) que permite a los LLMs consultar una base de datos unificada de reglas de detección de seguridad Sigma, Splunk ESCU, Elastic, KQL, Sublime y CrowdStrike CQL.
¿Eres nuevo? Empieza con la Guía de configuración — cubre macOS, Windows (WSL y nativo) y Linux paso a paso.
¿Lo quieres alojado? Omite la instalación: Guía de configuración MCP alojada
Local (toda la potencia) — el paquete npm que estás viendo. Se ejecuta en tu máquina, indexa tus propios repositorios de detecciones, expone las 81 herramientas. Necesitas Node.js y unos 10 minutos.
Alojado (sin configuración) — un servidor HTTP Streamable en detect.michaelhaag.org/api/mcp/mcp. Regístrate, genera un token, pega una URL en tu cliente MCP. ~25 herramientas de solo lectura, siempre sincronizadas con el contenido más reciente, 200 llamadas al día gratis. Sigue leyendo para ver los botones de instalación rápida.
Claude Code (línea de comandos):
claude mcp add security-detections -- npx -y security-detections-mcp
Claude Desktop — añade a claude_desktop_config.json:
{
"mcpServers": {
"security-detections": {
"command": "npx",
"args": ["-y", "security-detections-mcp"]
}
}
}
OpenAI Codex (CLI):
codex mcp add security-detections -- npx -y security-detections-mcp
Después de la instalación, configura las variables de entorno (
SIGMA_PATHS,SPLUNK_PATHS, etc.) para que apunten a tus repositorios de detecciones. Consulta la Guía de configuración para obtener todos los detalles.
sdmcp_YOUR_TOKEN_HERE en la configuración resultante por el token que acabas de generar.Claude Code (línea de comandos):
claude mcp add --transport http security-detections https://detect.michaelhaag.org/api/mcp/mcp --header "Authorization: Bearer sdmcp_YOUR_TOKEN_HERE"
Claude Desktop (a través de mcp-remote — Desktop aún no habla HTTP remoto de forma nativa):
{
"mcpServers": {
"security-detections": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://detect.michaelhaag.org/api/mcp/mcp",
"--header",
"Authorization: Bearer sdmcp_YOUR_TOKEN_HERE"
]
}
}
}
OpenAI Codex (CLI):
export SDMCP_TOKEN="sdmcp_YOUR_TOKEN_HERE" && codex mcp add security-detections --url https://detect.michaelhaag.org/api/mcp/mcp --bearer-token-env-var SDMCP_TOKEN
Consulta la Guía de configuración MCP alojada para la tabla completa de clientes, el inventario completo de herramientas y consejos para resolver problemas.
El chat web admite enrutamiento Free, Pro/Admin y BYOK (Bring Your Own Key). También puedes ver el modelo activo en la parte superior de la interfaz de chat.
nvidia/nemotron-3-super-120b-a12b:freenvidia/nemotron-3-super-120b-a12b:freenousresearch/hermes-3-llama-3.1-405b:freemeta-llama/llama-3.3-70b-instruct:freeopenai/gpt-oss-120b:freeUtiliza el enrutamiento de OpenRouter gestionado por la aplicación con tu configuración de Modelo preferido en /account:
Si configuras tus propias claves de API, la prioridad de enrutamiento es:
sk-ant-...) -> claude-sonnet-4-6-20250514 a través de Anthropicsk-...) -> gpt-5.4 a través de OpenAIsk-or-...) -> utiliza la misma tabla de mapeo de Modelo preferido anteriorSi hay varias claves presentes, se utiliza la primera coincidencia en ese orden.
npx -y security-detections-mcp
O clona y compila: git clone https://github.com/MHaggis/Security-Detections-MCP.git && cd Security-Detections-MCP && npm install && npm run build
Configura las variables de entorno para que apunten a tus repositorios de detecciones:
Consulta la Guía de configuración para ejemplos completos de configuración por cliente (Cursor, VS Code, Claude Desktop, WSL).
Descarga todas las fuentes con checkout disperso (solo reglas, no los repos completos):
mkdir -p detections && cd detections
git clone --depth 1 --filter=blob:none --sparse https://github.com/SigmaHQ/sigma.git && cd sigma && git sparse-checkout set rules rules-threat-hunting && cd ..
git clone --depth 1 --filter=blob:none --sparse https://github.com/splunk/security_content.git && cd security_content && git sparse-checkout set detections stories && cd ..
git clone --depth 1 --filter=blob:none --sparse https://github.com/elastic/detection-rules.git && cd detection-rules && git sparse-checkout set rules && cd ..
git clone --depth 1 https://github.com/Bert-JanP/Hunting-Queries-Detection-Rules.git kql-bertjanp
git clone --depth 1 https://github.com/jkerai1/KQL-Queries.git kql-jkerai1
git clone --depth 1 --filter=blob:none --sparse https://github.com/sublime-security/sublime-rules.git && cd sublime-rules && git sparse-checkout set detection-rules && cd ..
git clone --depth 1 https://github.com/ByteRay-Labs/Query-Hub.git cql-hub
81 herramientas en total, que incluyen aprendizaje de patrones, generación de plantillas, grafo de conocimiento, tablas dinámicas y análisis autónomo. Consulta la Referencia de herramientas para la lista completa.
11 flujos de trabajo expertos predefinidos. Solo pregúntalos por su nombre:
Tú: "Ejecuta apt-threat-emulation for APT29"
→ Cobertura técnica por técnica, brechas y plan de pruebas purple team
Se combina con mitre-attack-mcp para un análisis completo de cobertura de amenazas. Instala ambos:
{
"mcpServers": {
"security-detections": {
"command": "npx",
"args": ["-y", "security-detections-mcp"],
"env": { "SIGMA_PATHS": "/path/to/sigma/rules" }
},
"mitre-attack": {
"command": "npx",
"args": ["-y", "mitre-attack-mcp"],
"env": { "ATTACK_DOMAIN": "enterprise-attack" }
}
}
}
npm install && npm run build && npm test
Apache 2.0
| Modelo preferido | Modelo enrutado |
|---|
auto | Grupo de modelos gratuito (predeterminado: nvidia/nemotron-3-super-120b-a12b:free) |
claude | anthropic/claude-sonnet-4-6 |
claude-opus | anthropic/claude-opus-4-6 |
gpt | openai/gpt-5.4 |
gpt-codex | openai/gpt-5.3-codex |
| Variable | Descripción |
|---|
SIGMA_PATHS | Directorios de reglas Sigma |
SPLUNK_PATHS | Directorios de detecciones Splunk ESCU |
ELASTIC_PATHS | Directorios de reglas de detección Elastic |
KQL_PATHS | Directorios de consultas de caza KQL |
SUBLIME_PATHS | Directorios de reglas de Sublime Security |
CQL_HUB_PATHS | Directorios de consultas de CQL Hub (CrowdStrike) |
JAMF_PROTECT_PATHS | Directorios de detecciones analíticas personalizadas de Jamf Protect (macOS) |
STORY_PATHS | Directorios de historias analíticas de Splunk (opcional) |
ATTACK_STIX_PATH | Ruta a enterprise-attack.json para datos de actores de amenazas (opcional) |
| Herramienta | Descripción |
|---|
search(query, limit) | Búsqueda de texto completo en todos los campos de detección |
get_by_id(id) | Obtiene una detección individual por ID |
list_all(limit, offset) | Lista paginada de todas las detecciones |
list_by_source(source_type) | Filtra por fuente (sigma, splunk_escu, elastic, kql, sublime, crowdstrike_cql, jamf_protect) |
get_stats() | Estadísticas del índice |
rebuild_index() | Fuerza el re-índice desde las rutas configuradas |
| Herramienta | Descripción |
|---|
list_by_mitre(technique_id) | Filtra por ID de técnica (ej. T1059.001) |
list_by_mitre_tactic(tactic) | Filtra por táctica (ejecución, persistencia, etc.) |
list_by_cve(cve_id) | Encuentra detecciones para un CVE |
list_by_process_name(process_name) | Encuentra detecciones que hacen referencia a un proceso |
list_by_severity(level) | Filtra por nivel de gravedad |
list_by_data_source(data_source) | Filtra por fuente de datos |
| Herramienta | Descripción |
|---|
analyze_coverage(source_type?) | Estadísticas de cobertura por táctica, técnicas principales, puntos débiles (~2KB) |
identify_gaps(threat_profile) | Encuentra brechas para ransomware, APT, persistencia, etc. (~500B) |
suggest_detections(technique_id) | Ideas de detección para una técnica (~2KB) |
get_coverage_summary(source_type?) | Porcentajes por táctica (~200B) |
analyze_actor_coverage(actor) | Cobertura contra un actor de amenazas específico |
compare_actor_coverage(actors) | Compara la cobertura entre varios actores |
analyze_procedure_coverage(technique_id) | Desglose de procedimientos conductuales |
generate_navigator_layer(...) | Exporta capas JSON de ATT&CK Navigator |
| Prompt | Descripción |
|---|
ransomware-readiness-assessment | Análisis completo de la kill chain con puntuación de riesgo |
apt-threat-emulation | Cobertura contra actores de amenazas específicos (APT29, Lazarus, etc.) |
purple-team-exercise | Planes de prueba completos con procedimientos y detecciones esperadas |
soc-investigation-assist | Guía de triaje, consultas de caza, criterios de escalación |
detection-engineering-sprint | Backlog priorizado con historias de usuario |
executive-security-briefing | Informe para C-level con lenguaje de riesgo empresarial |
cve-response-assessment | Evaluación rápida para CVEs emergentes |
data-source-gap-analysis | Análisis de requisitos de telemetría |
detection-quality-review | Análisis profundo de calidad para una técnica |
threat-landscape-sync | Alinea las prioridades con las amenazas actuales |
detection-coverage-diff | Compara la cobertura contra actores o línea base |
| Fuente | Cantidad |
|---|
| Sigma Rules | ~3.200+ |
| Splunk ESCU | ~2.000+ |
| Elastic Rules | ~1.500+ |
| KQL Queries | ~420+ |
| Sublime Rules | ~900+ |
| CrowdStrike CQL | ~139+ |
| Total | ~8.200+ |