Microsoft Sentinel MCP Server
Ein Model Context Protocol (MCP)-Server für Microsoft Sentinel. Dieser Server ermöglicht schreibgeschützten Zugriff auf eine Microsoft Sentinel-Instanz, einschließlich erweiterter Abfragen, Vorfallanzeige und Ressourcenerkundung für Azure Sentinel-Umgebungen. Er bietet eine modulare und erweiterbare Plattform für reine Beobachtungssicherheitsvorgänge und -analysen.
⚠️ WICHTIGER SICHERHEITSHINWEIS ⚠️
NUR TESTUMGEBUNGEN : Dieser Microsoft Sentinel MCP-Server unterstützt nur schreibgeschützte Vorgänge und ist ausschließlich für TEST-Umgebungen vorgesehen. Er ist nicht für die Verbindung mit Sentinel-Produktionsinstanzen vorgesehen.
DATENSCHUTZHINWEIS : Durch die Verbindung dieses Servers mit einer Microsoft Entra ID (Azure AD)- oder Sentinel-Produktionsumgebung können vertrauliche Benutzer- und Verzeichnisdaten gegenüber LLM-Betreibern oder öffentlichen LLMs offengelegt werden. Nur mit Nicht-Produktions-/Testmandanten oder einem privaten LLM mit MCP-Unterstützung verwenden.
SICHERHEITSHINWEIS : Das Verbinden einer Microsoft Sentinel-Produktionsinstanz mit einem öffentlichen LLM birgt erhebliche Datenschutz- und Sicherheitsrisiken. Verwenden Sie für Produktionssicherheitsvorgänge nur private, sichere Umgebungen.
✨ Funktionen
- KQL-Abfrageausführung : Ausführen und Validieren von KQL-Abfragen, Testen mit simulierten Daten
- Log Analytics-Verwaltung : Arbeitsbereichsinformationen, Tabellenlisten und Schemata
- Sicherheitsvorfälle : Auflisten und Anzeigen detaillierter Vorfallinformationen
- Analytics-Regeln : Auflisten, Anzeigen und Analysieren mit MITRE-Taktiken/-Techniken
- Regelvorlagen : Zugriff auf und Analyse von Vorlagen über das MITRE-Framework
- Suchabfragen : Auflisten, Details anzeigen und nach Taktik analysieren
- Datenkonnektoren : Konnektordetails auflisten und anzeigen
- Beobachtungslisten : Verwalten Sie Beobachtungslisten und deren Elemente
- Bedrohungsinformationen : Domänen-WHOIS und IP-Geolokalisierungssuche
- Metadaten und Quellcodeverwaltung : Repository-Details auflisten und anzeigen
- ML Analytics : Zugriff auf ML Analytics-Einstellungen
- Autorisierung : RBAC-Rollenzuweisungen anzeigen
- Entra ID-Benutzer und -Gruppen : Zeigen Sie Benutzer- und Gruppendetails von Microsoft Entra ID an
🚀 Schnellstart
1. Authentifizieren mit Azure CLI
Bevor Sie den MCP-Server verwenden, müssen Sie sich bei Azure mit einem Konto authentifiziert haben, das Zugriff auf einen Microsoft Sentinel-Arbeitsbereich hat:
2. Klonen Sie das Repository
3. Installation mit PowerShell-Skript (empfohlen)
Verwenden Sie das bereitgestellte PowerShell-Installationsskript, um den MCP-Server einzurichten:
Das Skript wird:
- Überprüfen Sie, ob eine Python-Installation vorhanden ist.
- Erstellen Sie eine virtuelle Umgebung und installieren Sie Abhängigkeiten
- Generieren Sie eine Claude Desktop-Konfigurationsdatei
- Kopieren Sie die Konfiguration in Ihre Zwischenablage
Nachdem Sie das Skript ausgeführt haben, können Sie die Konfiguration direkt in Ihren MCP-Client (Claude Desktop, Cursor usw.) einfügen.
4. Verwenden Sie den MCP-Server
Der MCP-Server ist einsatzbereit, nachdem Sie Ihre MCP-Clientkonfiguration mit den relevanten Arbeitsbereichsinformationen konfiguriert haben.
Denken Sie daran, dass Sie AZURE_CLIENT_ID
und AZURE_CLIENT_SECRET
aus Ihrer MCP-Clientkonfiguration entfernen müssen, wenn Sie die Azure CLI-Authentifizierung verwenden.
🧰 Werkzeugreferenz
Nachfolgend sind die verfügbaren Tools aufgeführt. Die vollständige Dokumentation finden Sie im Verzeichnis resources/tool_docs/
. Toolnamen und -beschreibungen werden mit der Tool-Registrierung des MCP-Servers synchronisiert, sodass der MCP-Client sie abrufen kann.
Werkzeug | Kategorie | Beschreibung |
---|---|---|
entra_id_list_users | Entra-ID | Alle Benutzer in Microsoft Entra ID (Azure AD) auflisten |
entra_id_get_user | Entra-ID | Holen Sie sich einen Benutzer per UPN oder Objekt-ID von der Entra-ID |
entra_id_list_groups | Entra-ID | Alle Gruppen in Microsoft Entra ID (Azure AD) auflisten |
entra_id_get_group | Entra-ID | Holen Sie sich eine Gruppierung nach Objekt-ID von der Entra-ID |
sentinel_logs_search | KQL | Ausführen einer KQL-Abfrage für Azure Monitor-Protokolle |
sentinel_query_validate | KQL | Lokale Validierung der KQL-Abfragesyntax |
sentinel_logs_search_with_dummy_data | KQL | Testen einer KQL-Abfrage mit simulierten Daten |
sentinel_logs_tables_list | Protokollanalyse | Auflisten der verfügbaren Tabellen im Log Analytics-Arbeitsbereich |
sentinel_logs_table_details_get | Protokollanalyse | Abrufen von Details zu einer Log Analytics-Tabelle |
sentinel_logs_table_schema_get | Protokollanalyse | Abrufen des Schemas für eine Log Analytics-Tabelle |
sentinel_workspace_get | Protokollanalyse | Abrufen von Arbeitsbereichsinformationen |
sentinel_incident_details_get | Vorfälle | Erhalten Sie detaillierte Informationen zu einem bestimmten Sentinel-Vorfall |
sentinel_incident_list | Vorfälle | Auflisten von Sicherheitsvorfällen in Microsoft Sentinel |
sentinel_analytics_rule_list | Analytics-Regeln | Alle Analyseregeln mit Schlüsselfeldern auflisten |
sentinel_analytics_rule_get | Analytics-Regeln | Abrufen von Details zu einer bestimmten Analyseregel |
sentinel_analytics_rules_count_by_tactic | Analytics-Regeln | Zählen Sie die Sentinel-Analyseregeln nach Taktik |
sentinel_analytics_rules_count_by_technique | Analytics-Regeln | Count Sentinel-Analyseregeln mit der MITRE-Technik |
sentinel_analytics_rule_templates_list | Regelvorlagen | Alle Sentinel-Analyseregelvorlagen auflisten |
sentinel_analytics_rule_template_get | Regelvorlagen | Abrufen einer spezifischen Sentinel-Analyseregelvorlage |
sentinel_analytics_rule_templates_count_by_tactic | Regelvorlagen | Zählen Sie Sentinel-Analyseregelvorlagen nach Taktik |
sentinel_analytics_rule_templates_count_by_technique | Regelvorlagen | Count Sentinel Analytics-Regelvorlagen mit der MITRE-Technik |
sentinel_hunting_queries_list | Jagd | Listen Sie alle Sentinel-Hunting-Abfragen mit optionaler Filterung auf |
sentinel_hunting_query_get | Jagd | Erhalten Sie alle Details einer Sentinel-Hunting-Abfrage nach Name oder ID |
sentinel_hunting_queries_count_by_tactic | Jagd | Zählen Sie Sentinel-Jagdabfragen nach Taktik |
sentinel_connectors_list | Datenkonnektoren | Datenkonnektoren auflisten |
sentinel_connectors_get | Datenkonnektoren | Abrufen eines bestimmten Datenconnectors anhand der ID |
sentinel_watchlists_list | Beobachtungslisten | Alle Sentinel-Beobachtungslisten auflisten |
sentinel_watchlist_get | Beobachtungslisten | Holen Sie sich eine bestimmte Sentinel-Beobachtungsliste |
sentinel_watchlist_items_list | Beobachtungslisten | Alle Elemente in einer Sentinel-Beobachtungsliste auflisten |
sentinel_watchlist_item_get | Beobachtungslisten | Holen Sie sich ein bestimmtes Element aus einer Sentinel-Beobachtungsliste |
sentinel_domain_whois_get | Bedrohungsinformationen | WHOIS-Informationen für eine Domain abrufen |
sentinel_ip_geodata_get | Bedrohungsinformationen | Abrufen von Geolokalisierungsdaten für eine IP-Adresse |
sentinel_metadata_list | Metadaten | Alle Sentinel-Metadaten im aktuellen Arbeitsbereich auflisten |
sentinel_metadata_get | Metadaten | Abrufen von Details zu bestimmten Sentinel-Metadaten nach ID |
sentinel_source_controls_list | Quellcodeverwaltung | Listen Sie alle Sentinel-Quellcodeverwaltungen im aktuellen Arbeitsbereich auf |
sentinel_source_control_get | Quellcodeverwaltung | Abrufen von Details zu einer bestimmten Sentinel-Quellcodeverwaltung nach ID |
sentinel_ml_analytics_settings_list | ML-Analyse | Alle Sentinel ML-Analyseeinstellungen auflisten |
sentinel_ml_analytics_setting_get | ML-Analyse | Abrufen einer bestimmten Sentinel ML-Analyseeinstellung nach Namen |
sentinel_authorization_summary | Genehmigung | Zusammenfassen der Azure RBAC-Rollenzuweisungen für den Sentinel-Zugriff |
log_analytics_saved_searches_list | Gespeicherte Suchen | Auflisten aller gespeicherten Suchvorgänge in einem Log Analytics-Arbeitsbereich |
log_analytics_saved_search_get | Gespeicherte Suchen | Abrufen einer bestimmten gespeicherten Suche aus einem Log Analytics-Arbeitsbereich |
🛠️ Verwendung
Installation in Claude Desktop oder ähnlichen Umgebungen
Verwenden Sie das bereitgestellte PowerShell-Installationsskript, um den MCP-Server für Claude Desktop oder andere MCP-kompatible Clients einzurichten:
Das Skript wird:
- Überprüfen Sie, ob eine Python-Installation vorhanden ist.
- Erstellen Sie eine virtuelle Umgebung und installieren Sie Abhängigkeiten
- Ausführen der Schritte nach der Installation
- Generieren Sie eine Claude Desktop-Konfigurationsdatei
- Kopieren Sie die Konfiguration in Ihre Zwischenablage
Nach dem Ausführen des Skripts können Sie die Konfiguration direkt in Ihren MCP-Client (Claude Desktop, Cursor usw.) einfügen. Das Skript generiert eine Claude-kompatible MCP-Serverkonfiguration. Beachten Sie dies, wenn Sie einen anderen MCP-Client verwenden.
Erweiterte Installationsoptionen
Manuelle Umgebungseinrichtung
Wenn Sie die Umgebung lieber manuell einrichten möchten:
- Konfigurieren von UmgebungsvariablenKopieren Sie die bereitgestellte Vorlage und geben Sie Ihre Azure-Anmeldeinformationen ein:
- Abhängigkeiten installieren (mit uv)
- Alternative Server-AusführungsoptionenVerwenden der MCP-CLI:Entwicklung und Hot Reload:SSE-Modus (für IDEs):
Inspector-Benutzeroberfläche
Die MCP Inspector-Benutzeroberfläche ist unter http://127.0.0.1:6274 verfügbar, wenn sie im Entwicklermodus ausgeführt wird ( mcp dev wrapper.py
).
🧩 Entwicklung
- Ressourcen: Fügen Sie Python-Dateien zu
resources/
hinzu und implementieren Sie eineregister_resources(mcp)
-Funktion. - Tools: Fügen Sie Python-Dateien zu
tools/
hinzu und implementieren Sie eine Funktionregister_tools(mcp)
. Tools müssen der indocs/tool-architecture-and-implementation-requirements.md
definierten Struktur folgen. - Eingabeaufforderungen: Fügen Sie
prompts/
für LLM-gesteuerte Arbeitsabläufe hinzu.
Alle Komponenten in den Verzeichnissen resources/
, tools/
und prompts/
werden beim Serverstart automatisch erkannt und registriert. Es sind keine manuellen Importe erforderlich.
🔐 Authentifizierung und Umgebungsvariablen
Der MCP-Server unterstützt jede Authentifizierungsmethode, die von DefaultAzureCredential
des Azure Python SDK unterstützt wird.
Dienstprinzipalauthentifizierung anstelle der Azure CLI
Richten Sie eine App-Registrierung in Azure ein und weisen Sie die folgenden Rollen zu:
Log Analytics Reader
Microsoft Sentinel Reader
Wenn Sie mutig sind, können Sie der App-Registrierung auch die folgenden Microsoft Graph-Berechtigungen erteilen:
User.Read.All
Group.Read.All
Verwenden Sie dann die folgenden Umgebungsvariablen in Ihrer .env
Datei oder MCP-Serverkonfiguration:
AZURE_TENANT_ID
AZURE_CLIENT_ID
AZURE_CLIENT_SECRET
AZURE_SUBSCRIPTION_ID
AZURE_RESOURCE_GROUP
AZURE_WORKSPACE_NAME
AZURE_WORKSPACE_ID
Eine Vorlage finden Sie unter .env.example
.
Azure CLI-Authentifizierung
Wenn Sie die Azure CLI-Authentifizierung verwenden, können Sie AZURE_CLIENT_SECRET
und AZURE_CLIENT_ID
aus Ihrer Konfiguration weglassen.
🐛 Debuggen
Aktivieren Sie den Debug-Modus, indem Sie die Umgebungsvariable MCP_DEBUG_LOG
in Ihrer .env
Datei auf true
setzen:
Protokolle werden als sentinel_mcp_server.log
in Ihr temporäres Verzeichnis geschrieben.
📄 Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
ms-sentinel-mcp-server
Related MCP Servers
- Python
- -securityAlicense-qualitySatellite Tracking MCP ServerLast updated -TypeScriptMIT License
- PythonApache 2.0
- TypeScriptMIT License