Skip to main content
Glama

ms-sentinel-mcp-server

by dstreefkerk

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:

az login

2. Klonen Sie das Repository

git clone https://github.com/dstreefkerk/ms-sentinel-mcp-server.git cd ms-sentinel-mcp-server

3. Installation mit PowerShell-Skript (empfohlen)

Verwenden Sie das bereitgestellte PowerShell-Installationsskript, um den MCP-Server einzurichten:

# Run from the repository root directory .\install.ps1

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:

# Run from the repository root directory .\install.ps1

Das Skript wird:

  1. Überprüfen Sie, ob eine Python-Installation vorhanden ist.

  2. Erstellen Sie eine virtuelle Umgebung und installieren Sie Abhängigkeiten

  3. Ausführen der Schritte nach der Installation

  4. Generieren Sie eine Claude Desktop-Konfigurationsdatei

  5. 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:

  1. 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_ID
  2. Abhängigkeiten installieren (mit uv)

    uv venv uv pip install -e .
  3. Alternative Server-Ausführungsoptionen

    Verwenden der MCP-CLI:

    mcp run wrapper.py

    Entwicklung und Hot Reload:

    mcp dev wrapper.py

    SSE-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 eine register_resources(mcp) -Funktion.

  • Tools: Fügen Sie Python-Dateien zu tools/ hinzu und implementieren Sie eine Funktion register_tools(mcp) . Tools müssen der in docs/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

az login

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:

MCP_DEBUG_LOG=true

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

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dstreefkerk/ms-sentinel-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server