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.
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 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:Copy
- Abhängigkeiten installieren (mit uv)Copy
- Alternative Server-AusführungsoptionenVerwenden der MCP-CLI:Entwicklung und Hot Reload:CopySSE-Modus (für IDEs):CopyCopy
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.
Related MCP Servers
- Python
- Python
- JavaScriptMIT License
- PythonMIT License