Skip to main content
Glama
yayefa

SecOps-MCP-Server

by yayefa

Google SecOps (Chronicle) MCP Server (Streamable HTTP)

Enterprise Model Context Protocol (MCP)-Server, der Google SecOps (Chronicle) SIEM/SOAR-Telemetrie, Alarm-Triage, Universal Data Model (UDM)-Suche und YARA-L-Erkennungsregelverwaltung unter Verwendung des Streamable HTTP (streamable-http)-Transports bereitstellt – dem aktuellen MCP-Spezifikationsstandard.


🌟 Übersicht: Streamable HTTP Transport

Streamable HTTP ist der standardmäßige Remote-Transport für Model Context Protocol (MCP)-Server:

  • Einheitlicher Endpunkt (/mcp): Einzelner Endpunkt für Client-zu-Server-Nachrichten, Tool-Erkennung und bidirektionale Kommunikation.

  • Produktionsskalierbarkeit: Nahtlose Bereitstellung auf zustandslosen und containerisierten Plattformen wie Google Cloud Run.

  • Container-Health-Probes: Integrierte /healthz-Liveness- und Readiness-Probes.

  • Unternehmenssicherheit: Native Google Cloud IAM-Authentifizierung (roles/run.invoker) mit OAuth2/OIDC-Token-Unterstützung.


Related MCP server: openobserve-community-mcp

🛠️ Implementierte SecOps-Tools (Alle 29 offiziellen Tools)

1. Sicherheitsuntersuchungs- und Alarm-Tools

  • search_security_events: Durchsucht SecOps-Ereignisse mittels natürlicher Sprache oder UDM-Abfragen.

  • get_security_alerts: Ruft Alarme ab, gefiltert nach Schweregrad (CRITICAL, HIGH usw.) und Status.

  • get_security_alert_by_id: Ruft detaillierte Alarm-Metadaten und MITRE ATT&CK-Zuordnung ab.

  • do_update_security_alert: Aktualisiert den Triage-Status und fügt Analystennotizen hinzu.

  • lookup_entity: 360-Grad-Risikotelemetrieprofil für IP, Domain, Hostname, Benutzer oder Hash.

  • get_ioc_matches: Ruft Übereinstimmungen mit Indikatoren für Kompromittierung (IoC) über ein Rückblickfenster ab.

  • get_threat_intel: Fragt SecOps SecLM-Bedrohungsinformationen ab.

2. Erkennungsregelverwaltung

  • list_security_rules: Listet benutzerdefinierte und kuratierte YARA-L-Erkennungsregeln auf.

  • search_security_rules: Durchsucht Erkennungsregeln mittels Regex-Mustern oder Schlüsselwörtern.

  • get_rule_detections: Ruft Erkennungen ab, die von einer bestimmten Regel ausgelöst wurden.

  • list_rule_errors: Listet Ausführungs- oder Kompilierungsfehler für Regeln auf.

  • create_rule: Erstellt neue YARA-L 2.0-Erkennungsregeln.

  • test_rule: Führt Backtests von Erkennungsregeln gegen historische Telemetriedaten durch.

  • validate_rule: Validiert Syntax und Struktur von YARA-L-Definitionen.

3. Log-Erfassungstools

  • ingest_raw_log: Erfasst rohe Log-Payloads (JSON, XML, CEF, Syslog).

  • ingest_udm_events: Erfasst strukturierte Universal Data Model-Ereignisse.

  • get_available_log_types: Listet unterstützte Log-Typen auf (Cloud Audit, EDR, Okta, Zscaler usw.).

4. Parser-Verwaltungstools

  • create_parser: Erstellt benutzerdefinierte Log-Parser (CBN-Syntax).

  • get_parser: Ruft Parser-Konfiguration und Filtercode ab.

  • activate_parser: Aktiviert den Parser für die Live-Erfassungsverarbeitung.

  • deactivate_parser: Deaktiviert einen aktiven Parser.

  • run_parser_against_sample_logs: Testet Parser-Regeln anhand von Beispiel-Log-Strings.

5. Datentabellen und Referenzlisten

  • create_data_table / add_rows_to_data_table / list_data_table_rows / delete_data_table_rows

  • create_reference_list / get_reference_list / update_reference_list


🚀 Schnellstart: Lokal ausführen

1. Abhängigkeiten installieren

pip install -r requirements.txt

2. Server starten

export PORT=8080
export HOST=0.0.0.0
python server.py

Der Streamable HTTP-Server ist nun erreichbar unter:

  • Streamable HTTP-Endpunkt: http://localhost:8080/mcp

  • Health-Probe: http://localhost:8080/healthz


☁️ Ein-Klick-Bereitstellung auf Google Cloud Run

Direkte Bereitstellung mit dem automatisierten Bereitstellungsskript:

chmod +x deploy.sh
./deploy.sh

Ausgeführte Bereitstellungsschritte:

  1. [Schritt 1/5] Benutzerdefinierte Variablen: Lädt die .env-Datei und führt benutzerdefinierte Variablen zusammen.

  2. [Schritt 2/5] APIs aktivieren: Aktiviert Cloud Run-, Cloud Build- und Chronicle-APIs.

  3. [Schritt 3/5] Cloud Run-Bereitstellung: Stellt den Container mit Streamable HTTP-Transport bereit.

  4. [Schritt 4/5] IAM-Richtlinienbindungen: Gewährt roles/run.invoker für den Agent Runner-Dienstkontoinhaber und den aktiven Benutzer.

  5. [Schritt 5/5] Überprüfung: Prüft die /healthz-Probe und gibt Endpunkt-URLs aus.


🧪 Testen und Überprüfen

Option A: Testsuite ausführen

python3 test_client.py

Option B: MCP Inspector-Benutzeroberfläche verwenden

Starten Sie den offiziellen Model Context Protocol Inspector:

npx -y @modelcontextprotocol/inspector

Verbinden Sie sich über HTTP-Transport mit http://localhost:8080/mcp.

Option C: Über Google ADK / GenAI-Agent verbinden

Setzen Sie die Umgebungsvariable in Ihrer Agent-Konfiguration:

export SECOPS_MCP_URL="https://<your-cloud-run-service-url>/mcp"

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    MCP server for Microsoft Sentinel. Enables access to Sentinel logs, incidents, analytics, and Entra ID data via a modular, queryable interface. Strictly non-production. Designed for use with Claude and other LLMs.
    49
    18
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    A read-only MCP server for OpenObserve Community Edition that works over the REST API. Provides tools for searching logs, traces, stream schemas, and dashboards - no Enterprise license required.
    8
    94 PyPI
    16
    GPL 3.0
  • A
    license
    A
    quality
    B
    maintenance
    Comprehensive MITRE ATT\&CK MCP server with SOC integration for technique lookup, alert mapping, and coverage analysis.
    26
    19 npm
    4
    MIT