SecOps-MCP-Server
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,HIGHusw.) 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_rowscreate_reference_list/get_reference_list/update_reference_list
🚀 Schnellstart: Lokal ausführen
1. Abhängigkeiten installieren
pip install -r requirements.txt2. Server starten
export PORT=8080
export HOST=0.0.0.0
python server.pyDer Streamable HTTP-Server ist nun erreichbar unter:
Streamable HTTP-Endpunkt:
http://localhost:8080/mcpHealth-Probe:
http://localhost:8080/healthz
☁️ Ein-Klick-Bereitstellung auf Google Cloud Run
Direkte Bereitstellung mit dem automatisierten Bereitstellungsskript:
chmod +x deploy.sh
./deploy.shAusgeführte Bereitstellungsschritte:
[Schritt 1/5] Benutzerdefinierte Variablen: Lädt die
.env-Datei und führt benutzerdefinierte Variablen zusammen.[Schritt 2/5] APIs aktivieren: Aktiviert Cloud Run-, Cloud Build- und Chronicle-APIs.
[Schritt 3/5] Cloud Run-Bereitstellung: Stellt den Container mit Streamable HTTP-Transport bereit.
[Schritt 4/5] IAM-Richtlinienbindungen: Gewährt
roles/run.invokerfür den Agent Runner-Dienstkontoinhaber und den aktiven Benutzer.[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.pyOption B: MCP Inspector-Benutzeroberfläche verwenden
Starten Sie den offiziellen Model Context Protocol Inspector:
npx -y @modelcontextprotocol/inspectorVerbinden 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"This server cannot be deployed
Maintenance
Related MCP Connectors
Syslog receiver and MCP server for homelab log intelligence.
Syslog receiver and MCP server for homelab log intelligence.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server for Statsig API - interact with Statsig's feature flags, experiments, and analytics
Related MCP Servers
- AlicenseCqualityDmaintenanceMCP 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.4918MIT
- AlicenseBqualityCmaintenanceA 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.894 PyPI16GPL 3.0
- AlicenseAqualityBmaintenanceComprehensive MITRE ATT\&CK MCP server with SOC integration for technique lookup, alert mapping, and coverage analysis.2619 npm4MIT
- AlicenseAqualityAmaintenanceMCP server for Malcolm (Zeek/Suricata/Arkime/OpenSearch/NetBox): full read surface plus opt-in, audited write tools.5192 PyPI3MIT