
MCP pour aider les défenseurs à travailler plus dur et plus intelligemment en ingénierie de détection.
Un serveur MCP (Model Context Protocol) qui permet aux LLM d'interroger une base unifiée de règles de détection de sécurité Sigma, Splunk ESCU, Elastic, KQL, Sublime et CrowdStrike CQL.
Nouveau ici ? Commencez par le Guide d'installation -- couvre macOS, Windows (WSL et natif) et Linux, étape par étape.
Vous préférez la version hébergée ? Évitez complètement l'installation : Guide d'installation du MCP hébergé
Local (pleine puissance) — le paquet npm que vous consultez. S'exécute sur votre machine, indexe vos propres dépôts de détection, expose les 81 outils. Vous avez besoin de Node.js et d'environ 10 minutes.
Hébergé (zéro configuration) — un serveur HTTP Streamable à l'adresse detect.michaelhaag.org/api/mcp/mcp. Inscrivez-vous, générez un jeton, collez une seule URL dans votre client MCP. ~25 outils en lecture seule, toujours synchronisés avec le contenu le plus récent, 200 appels/jour gratuits. Poursuivez votre lecture pour découvrir les boutons d'installation rapide.
Claude Code (commande CLI en une ligne) :
claude mcp add security-detections -- npx -y security-detections-mcp
Claude Desktop — ajoutez à 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
Après l'installation, configurez les variables d'environnement (
SIGMA_PATHS,SPLUNK_PATHS, etc.) pour pointer vers vos dépôts de détection. Consultez le Guide d'installation pour plus de détails.
sdmcp_YOUR_TOKEN_HERE dans la configuration obtenue par le jeton que vous venez de générer.Claude Code (commande CLI en une ligne) :
claude mcp add --transport http security-detections https://detect.michaelhaag.org/api/mcp/mcp --header "Authorization: Bearer sdmcp_YOUR_TOKEN_HERE"
Claude Desktop (via mcp-remote — Desktop ne prend pas encore en charge le HTTP distant nativement) :
{
"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
Consultez le Guide d'installation du MCP hébergé pour le tableau complet des clients, l'inventaire complet des outils et des conseils de dépannage.
Le chat web prend en charge le routage Free, Pro/Admin et BYOK (Bring Your Own Key). Vous pouvez également voir le modèle actif en haut de l'interface du 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:freeUtilise le routage OpenRouter géré par l'application avec votre paramètre Modèle préféré dans /account :
| Modèle préféré | Modèle routé |
|---|---|
auto | Pool de modèles gratuits (par défaut : 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 |
Si vous définissez vos propres clés API, la priorité de routage est :
sk-ant-...) -> claude-sonnet-4-6-20250514 via Anthropicsk-...) -> gpt-5.4 via OpenAIsk-or-...) -> utilise le même tableau de correspondance des modèles préférés ci-dessusSi plusieurs clés sont présentes, la première correspondance dans cet ordre est utilisée.
npx -y security-detections-mcp
Ou clonez et compilez : git clone https://github.com/MHaggis/Security-Detections-MCP.git && cd Security-Detections-MCP && npm install && npm run build
Configurez les variables d'environnement pour pointer vers vos dépôts de détection :
| Variable | Description |
|---|---|
SIGMA_PATHS | Répertoires des règles Sigma |
SPLUNK_PATHS | Répertoires des détections Splunk ESCU |
ELASTIC_PATHS | Répertoires des règles de détection Elastic |
KQL_PATHS | Répertoires des requêtes de chasse KQL |
SUBLIME_PATHS | Répertoires des règles Sublime Security |
CQL_HUB_PATHS | Répertoires des requêtes CQL Hub (CrowdStrike) |
JAMF_PROTECT_PATHS | Répertoires des détections analytiques personnalisées Jamf Protect (macOS) |
STORY_PATHS | Répertoires des analytic stories Splunk (optionnel) |
ATTACK_STIX_PATH | Chemin vers enterprise-attack.json pour les données d'acteurs de menace (optionnel) |
Consultez le Guide d'installation pour des exemples complets de configuration par client (Cursor, VS Code, Claude Desktop, WSL).
Téléchargez toutes les sources avec un checkout partiel (règles uniquement, pas les dépôts complets) :
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
| Outil | Description |
|---|---|
search(query, limit) | Recherche en texte intégral dans tous les champs de détection |
get_by_id(id) | Obtenir une détection par son ID |
list_all(limit, offset) | Liste paginée de toutes les détections |
list_by_source(source_type) | Filtrer par source (sigma, splunk_escu, elastic, kql, sublime, crowdstrike_cql, jamf_protect) |
get_stats() | Statistiques de l'index |
rebuild_index() | Forcer la ré-indexation à partir des chemins configurés |
| Outil | Description |
|---|---|
list_by_mitre(technique_id) | Filtrer par ID de technique (par ex. T1059.001) |
list_by_mitre_tactic(tactic) | Filtrer par tactique (exécution, persistance, etc.) |
list_by_cve(cve_id) | Trouver les détections pour une CVE |
list_by_process_name(process_name) | Trouver les détections référençant un processus |
list_by_severity(level) | Filtrer par niveau de gravité |
list_by_data_source(data_source) | Filtrer par source de données |
| Outil | Description |
|---|---|
analyze_coverage(source_type?) | Statistiques de couverture par tactique, principales techniques, points faibles (~2 Ko) |
identify_gaps(threat_profile) | Trouver les lacunes pour ransomware, APT, persistance, etc. (~500 o) |
suggest_detections(technique_id) | Idées de détection pour une technique (~2 Ko) |
get_coverage_summary(source_type?) | Pourcentages par tactique (~200 o) |
analyze_actor_coverage(actor) | Couverture contre un acteur de menace spécifique |
compare_actor_coverage(actors) | Comparer la couverture entre plusieurs acteurs |
analyze_procedure_coverage(technique_id) | Analyse détaillée des procédures comportementales |
generate_navigator_layer(...) | Exporter des couches JSON ATT&CK Navigator |
81 outils au total, incluant l'apprentissage de motifs, la génération de templates, le graphe de connaissances, les tableaux dynamiques et l'analyse autonome. Consultez la Référence des outils pour la liste complète.
11 workflows experts pré-construits. Il suffit de les demander par leur nom :
| Prompt | Description |
|---|---|
ransomware-readiness-assessment | Analyse complète de la kill chain avec notation des risques |
apt-threat-emulation | Couverture contre des acteurs de menace spécifiques (APT29, Lazarus, etc.) |
purple-team-exercise | Plans de test complets avec procédures et détections attendues |
soc-investigation-assist | Conseils de triage, requêtes de chasse, critères d'escalade |
detection-engineering-sprint | Backlog priorisé avec user stories |
executive-security-briefing | Rapport pour les dirigeants avec un langage de risque métier |
cve-response-assessment | Évaluation rapide pour les CVE émergentes |
data-source-gap-analysis | Analyse des exigences de télémétrie |
detection-quality-review | Analyse approfondie de la qualité pour une technique |
threat-landscape-sync | Aligner les priorités sur les menaces actuelles |
detection-coverage-diff | Comparer la couverture par rapport à des acteurs ou à une référence |
You: "Run apt-threat-emulation for APT29"
→ Technique-by-technique coverage, gaps, and purple team test plan
S'associe avec mitre-attack-mcp pour une analyse complète de la couverture des menaces. Installez les deux :
{
"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" }
}
}
}
| Source | Nombre |
|---|---|
| Règles Sigma | ~3 200+ |
| Splunk ESCU | ~2 000+ |
| Règles Elastic | ~1 500+ |
| Requêtes KQL | ~420+ |
| Règles Sublime | ~900+ |
| CrowdStrike CQL | ~139+ |
| Total | ~8 200+ |
npm install && npm run build && npm test
Apache 2.0