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 | Alle Benutzer in Microsoft Entra ID (Azure AD) auflisten |
| Entra-ID | Holen Sie sich einen Benutzer per UPN oder Objekt-ID von der Entra-ID |
| Entra-ID | Alle Gruppen in Microsoft Entra ID (Azure AD) auflisten |
| Entra-ID | Holen Sie sich eine Gruppierung nach Objekt-ID von der Entra-ID |
| KQL | Ausführen einer KQL-Abfrage für Azure Monitor-Protokolle |
| KQL | Lokale Validierung der KQL-Abfragesyntax |
| KQL | Testen einer KQL-Abfrage mit simulierten Daten |
| Protokollanalyse | Auflisten der verfügbaren Tabellen im Log Analytics-Arbeitsbereich |
| Protokollanalyse | Abrufen von Details zu einer Log Analytics-Tabelle |
| Protokollanalyse | Abrufen des Schemas für eine Log Analytics-Tabelle |
| Protokollanalyse | Abrufen von Arbeitsbereichsinformationen |
| Vorfälle | Erhalten Sie detaillierte Informationen zu einem bestimmten Sentinel-Vorfall |
| Vorfälle | Auflisten von Sicherheitsvorfällen in Microsoft Sentinel |
| Analytics-Regeln | Alle Analyseregeln mit Schlüsselfeldern auflisten |
| Analytics-Regeln | Abrufen von Details zu einer bestimmten Analyseregel |
| Analytics-Regeln | Zählen Sie die Sentinel-Analyseregeln nach Taktik |
| Analytics-Regeln | Count Sentinel-Analyseregeln mit der MITRE-Technik |
| Regelvorlagen | Alle Sentinel-Analyseregelvorlagen auflisten |
| Regelvorlagen | Abrufen einer spezifischen Sentinel-Analyseregelvorlage |
| Regelvorlagen | Zählen Sie Sentinel-Analyseregelvorlagen nach Taktik |
| Regelvorlagen | Count Sentinel Analytics-Regelvorlagen mit der MITRE-Technik |
| Jagd | Listen Sie alle Sentinel-Hunting-Abfragen mit optionaler Filterung auf |
| Jagd | Erhalten Sie alle Details einer Sentinel-Hunting-Abfrage nach Name oder ID |
| Jagd | Zählen Sie Sentinel-Jagdabfragen nach Taktik |
| Datenkonnektoren | Datenkonnektoren auflisten |
| Datenkonnektoren | Abrufen eines bestimmten Datenconnectors anhand der ID |
| Beobachtungslisten | Alle Sentinel-Beobachtungslisten auflisten |
| Beobachtungslisten | Holen Sie sich eine bestimmte Sentinel-Beobachtungsliste |
| Beobachtungslisten | Alle Elemente in einer Sentinel-Beobachtungsliste auflisten |
| Beobachtungslisten | Holen Sie sich ein bestimmtes Element aus einer Sentinel-Beobachtungsliste |
| Bedrohungsinformationen | WHOIS-Informationen für eine Domain abrufen |
| Bedrohungsinformationen | Abrufen von Geolokalisierungsdaten für eine IP-Adresse |
| Metadaten | Alle Sentinel-Metadaten im aktuellen Arbeitsbereich auflisten |
| Metadaten | Abrufen von Details zu bestimmten Sentinel-Metadaten nach ID |
| Quellcodeverwaltung | Listen Sie alle Sentinel-Quellcodeverwaltungen im aktuellen Arbeitsbereich auf |
| Quellcodeverwaltung | Abrufen von Details zu einer bestimmten Sentinel-Quellcodeverwaltung nach ID |
| ML-Analyse | Alle Sentinel ML-Analyseeinstellungen auflisten |
| ML-Analyse | Abrufen einer bestimmten Sentinel ML-Analyseeinstellung nach Namen |
| Genehmigung | Zusammenfassen der Azure RBAC-Rollenzuweisungen für den Sentinel-Zugriff |
| Gespeicherte Suchen | Auflisten aller gespeicherten Suchvorgänge in einem Log Analytics-Arbeitsbereich |
| 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 Umgebungsvariablen
Kopieren Sie die bereitgestellte Vorlage und geben Sie Ihre Azure-Anmeldeinformationen ein:
cp .env.example .env # Edit .env and set: # AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_SUBSCRIPTION_ID, AZURE_RESOURCE_GROUP, AZURE_WORKSPACE_NAME, AZURE_WORKSPACE_IDAbhängigkeiten installieren (mit uv)
uv venv uv pip install -e .Alternative Server-Ausführungsoptionen
Verwenden der MCP-CLI:
mcp run wrapper.pyEntwicklung und Hot Reload:
mcp dev wrapper.pySSE-Modus (für IDEs):
python wrapper.py --sse
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.mddefinierten 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 ReaderMicrosoft Sentinel Reader
Wenn Sie mutig sind, können Sie der App-Registrierung auch die folgenden Microsoft Graph-Berechtigungen erteilen:
User.Read.AllGroup.Read.All
Verwenden Sie dann die folgenden Umgebungsvariablen in Ihrer .env Datei oder MCP-Serverkonfiguration:
AZURE_TENANT_IDAZURE_CLIENT_IDAZURE_CLIENT_SECRETAZURE_SUBSCRIPTION_IDAZURE_RESOURCE_GROUPAZURE_WORKSPACE_NAMEAZURE_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
- -security-license-qualitySatellite Tracking MCP ServerLast updated -1MIT License
- Apache 2.0
- AGPL 3.0