Provides tools for interacting with Cisco security logs, including processing ASA firewall logs and eStreamer data from Firepower/FTD devices.
Enables management and processing of Palo Alto Networks firewall traffic logs, including filtering, field extraction, and event sampling capabilities.
Allows interaction with Splunk services including support for Splunk HEC (HTTP Event Collector) as a data source within Cribl Stream.
Cribl MCP Server
Ein Model Context Protocol (MCP)-Server, der KI-Interaktionen mit der Cribl-API ermöglicht.
Dieser Server ermöglicht es KI-Clients, mithilfe standardisierter MCP-Tools Datenoperationen aus einer Cribl-Bereitstellung zu erkennen und aufzurufen.
Ausführliche Dokumentation finden Sie im Verzeichnis docs/
. Hier ist eine Übersicht der Dokumentationsdateien:
README.md
(diese Datei): Bietet eine Einführung auf höchster Ebene, Schnellstartanweisungen, sehr einfache Beispiele und Links zum Dokumentenverzeichnis.docs/configuration.md
: Konzentriert sich speziell auf die für die Konfiguration benötigten Umgebungsvariablen und erklärt die Authentifizierungsmodi. Es geht ausschließlich um die Einrichtung.docs/usage.md
: Konzentriert sich auf die Ausführung des Servers (über npx oder lokale Entwicklungsbefehle) und die Konfiguration eines MCP-Clients für die Verbindung mit dem Server. Es enthält konzeptionelle Beispiele für den Aufruf der Tools.docs/overview.md
: Befindet sich zwischen der README-Datei und den spezifischen Konfigurations-/Nutzungsdokumenten. Es beschreibt detailliert, was der Server in Bezug auf die Authentifizierung bietet und bietet vor allem ein ausführliches Referenzhandbuch zu den verfügbaren Tools und ihren spezifischen Parametern/Ausgaben sowie zu zukünftigen Tools.
Erste Schritte
Sie können es entweder lokal installieren und ausführen oder direkt über npx
ausführen. npx
erspart Ihnen die Installation von Git, Abhängigkeiten oder Build-Tools. Für beide Szenarien benötigen Sie Node ab Version 16:
Voraussetzungen
Um diesen Server auszuführen, stellen Sie Folgendes sicher:
- Node.js ist installiert (Version 16 oder höher empfohlen)
- Internetzugang ist verfügbar (um das MCP-Serverpaket von npm abzurufen)
Sie können Node.js von https://nodejs.org installieren.
So überprüfen Sie Ihr Setup:
Schnellstart mit npx
Hinweis: Zum Ausführen npx
müssen wichtige Umgebungsvariablen (wie CRIBL_BASE_URL
und Authentifizierungsdetails) entweder in Ihrer Umgebung festgelegt oder direkt in der Befehlszeile übergeben werden, damit der Server erfolgreich eine Verbindung herstellen kann.
Informationen zur erweiterten npx
Nutzungskonfiguration, einschließlich relevantem JSON für Ihren MCP-Client und erforderlichen Variablen, finden Sie unter docs/usage.md
Lokale Entwicklung
- Navigieren Sie zu einem übergeordneten Ordner, in dem Sie die Codebasis speichern möchten (durch Klonen wird der enthaltene Ordner erstellt). Klonen Sie das Repository:
- Installieren Sie Abhängigkeiten:
- Kopieren Sie die Datei
.env.example
und füllen Sie die erforderlichen Werte aus: - Informationen zum Ausführen, Erstellen und Starten des MCP-Servers finden Sie unter usage.md > Lokale Entwicklung
Weitere Informationen zu Umgebungsvariablen und Authentifizierung finden Sie docs/configuration.md
und Informationen zum Ausführen des Servers docs/usage.md
.
Verfügbare Tools
Dieser Server bietet Tools zur Interaktion mit Cribl, darunter:
- Auflisten von Arbeitergruppen/Flotten
- Abrufen/Festlegen von Pipeline-Konfigurationen
- Quellkonfigurationen abrufen
- Neustarten von Worker-Gruppen
- Abfragen von Systemmetriken (mit Filterung)
Eine ausführliche Liste und Gebrauchsanweisungen finden Sie unter docs/usage.md
.
Beispielverwendung (Eingabeaufforderungen)
Sobald Sie über einen MCP-Client (wie Claude Desktop ) verbunden sind, können Sie mit Ihrer Cribl-Instanz über natürliche Spracheingaben interagieren, die die verfügbaren Tools nutzen. Hier sind einige Beispiele:
- Eingabeaufforderung:
what sources are we ingesting?
(Sie müssen dem MCP-Client Zugriff auf das Tool gewähren)- Die Antwort wird etwa so aussehen:
„Um Ihre Frage zu aufgenommenen Quellen zu beantworten, lassen Sie mich die verfügbaren Datenquellen in Ihrer Cribl Stream-Umgebung überprüfen.
<Ergebnis von cribl_getSources von Cribl anzeigen (lokal)>Lassen Sie mich auch überprüfen, welche Pipelines in Ihrer Cribl Stream-Umgebung konfiguriert sind:
<Ergebnis von cribl_getPipelines von Cribl anzeigen (lokal)>Basierend auf den Informationen, die ich aus Ihrer Cribl Stream-Umgebung abgerufen habe, sind hier die Quellen, die Sie aufnehmen:
Aktive Datenquellen
Ihre Cribl Stream-Instanz verfügt über mehrere konfigurierte Datenquellen, von denen die folgenden besonders hervorzuheben sind:- HTTP/HTTPS-Quellen:
HTTP-Quelle (Port 10080)
Cribl HTTP (Port 10200)
Splunk HEC (Port 8088) … - <usw.>
Pipeline-Konfigurationen
In Ihrer Umgebung sind außerdem mehrere Pipelines für die Verarbeitung bestimmter Datentypen konfiguriert:- Cisco ASA-Ereignisse – Filtert und prüft Cisco ASA-Sicherheitsprotokolle
- Cisco eStreamer-Daten – Verarbeitet Cisco eStreamer-Daten
- Verkehrsereignisse in Palo Alto – Filtert und prüft Verkehrsprotokolle in Palo Alto
- Windows-Ereignisprotokolle – Verarbeitet Windows-Sicherheitsereignisprotokolle
Diese Pipelines deuten darauf hin, dass Sie Netzwerksicherheitsprotokolle von Cisco ASA-Firewalls, Cisco eStreamer (wahrscheinlich von Firepower/FTD-Geräten), Palo Alto Networks-Firewalls und Windows-Sicherheitsereignissen aufnehmen.
Möchten Sie ausführlichere Informationen zu einer bestimmten Quelle oder Pipeline-Konfiguration?" - HTTP/HTTPS-Quellen:
- Die Antwort wird etwa so aussehen:
- Eingabeaufforderung:
what functions are processing the palo alto traffic?
- Antwort:
„Lassen Sie mich die Funktionen, die den Verkehr in Palo Alto verarbeiten, genauer untersuchen:
<Ergebnis von cribl_getPipelineConfig von Cribl anzeigen (lokal)>Hier ist eine detaillierte Aufschlüsselung, wie die Verkehrsdaten von Palo Alto in Ihrer Cribl Stream-Umgebung verarbeitet werden:
Palo Alto Traffic Pipeline-Funktionen
1. Erstfilter (Eval):- Filter: Quelltyp!='pan:traffic'
- Beschreibung: Überspringt alle Ereignisse, die NICHT vom Quelltyp „pan“ sind.
- Dies wird als letzte Funktion festgelegt, d. h., wenn die Bedingung erfüllt ist, wird die Verarbeitung für dieses Ereignis gestoppt.
2. Feldextraktion (Regex-Extrakt):
- Extrahiert mithilfe des Regex-Mustervergleichs mehrere Schlüsselfelder aus dem Rohereignis:
- __log_subtype: Gibt an, ob das Protokoll ein Start-/Enddatensatz ist
- __src_zone und __dest_zone: Quell- und Zielsicherheitszonen
- __transport: Transportprotokoll
- __action: Durchgeführte Aktion (Zulassen, Verweigern usw.)
- __bytes_in: Empfangene Bytes
3. Ereignisse filtern (Drop):
- Filter: __log_subtype=='start'
- Beschreibung: Löscht alle Ereignisse mit dem Protokolluntertyp „Start“.
- Begründung (aus dem Kommentar): „Ereignisse vom Typ log_subtype=start löschen, da sie häufig eine falsche App-Zuweisung aufweisen. Log_subtype=end enthält bessere Informationen.“
- usw."
- Antwort:
- Eingabeaufforderung:
please update the pipeline to include start events as well as end events.
- Antwort:
Ich aktualisiere die Palo Alto-Datenverkehrspipeline, um sowohl Start- als auch Endereignisse einzubeziehen. Dazu ändere ich die Konfiguration. Ich nehme diese Änderung für Sie vor:
<Ergebnis von cribl_getPipelineConfig von Cribl anzeigen (lokal)>Jetzt aktualisiere ich die Pipeline-Konfiguration, um sowohl „Start“- als auch „End“-Ereignisse beizubehalten, indem ich die Drop-Funktion deaktiviere und die Kommentare aktualisiere:
<Ergebnis von cribl_setPipelineConfig von Cribl anzeigen (lokal)>Starten wir nun die Worker-Gruppe neu, um diese Änderungen anzuwenden: <Ergebnis von cribl_restartWorkerGroup von Cribl anzeigen (lokal)>Die Palo Alto-Verkehrspipeline wurde erfolgreich aktualisiert und umfasst nun sowohl „Start“- als auch „End“-Ereignisse. Folgendes habe ich geändert:- Die Drop-Funktion wurde deaktiviert:
- Die Funktion, die __log_subtype=='start'-Ereignisse herausfilterte, wurde deaktiviert
- Dies bedeutet, dass nun sowohl die Sitzungsereignisse „Start“ als auch „Ende“ verarbeitet werden.
- Kommentar aktualisiert:
- Der Kommentar wurde von der Erklärung, warum „Start“-Ereignisse gelöscht wurden, in den Hinweis geändert, dass beide Ereignistypen nun für eine vollständige Verkehrstransparenz beibehalten werden.
- Die Worker-Gruppe wurde neu gestartet:
- Die Änderungen wurden durch einen Neustart der Cribl Stream-Arbeitsgruppe übernommen.
Die aktualisierte Pipeline verarbeitet nun sowohl Start- als auch Endereignisse Ihrer Palo Alto-Firewalls und bietet Ihnen so vollständige Transparenz über den Sitzungsverkehr vom Beginn bis zum Ende. Alle anderen Verarbeitungsfunktionen bleiben erhalten, darunter:
- Feldextraktion für wichtige Verkehrsattribute
- Sampling für Null-Byte-Verkehr und vertrauenswürdigen Zonenverkehr
- Entfernung unzuverlässiger Datumsfelder
Ihre Verkehrsdaten von Palo Alto umfassen jetzt den gesamten Lebenszyklus von Netzwerkverbindungen, wobei die Effizienzvorteile der Sampling-Regeln weiterhin erhalten bleiben.
- Die Drop-Funktion wurde deaktiviert:
- Antwort:
Lizenz
MIT
You must be authenticated.
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.
Dieser Server fungiert als MCP-Brücke für die Interaktion mit der Cribl REST-API. Er ermöglicht KI-Modellen oder anderen MCP-Clients die Abfrage und Verwaltung von Cribl-Konfigurationen.
Related MCP Servers
- -securityAlicense-qualityA framework to use with AI to easily create a server for any service. Just drop the API Documentation in it and ask to create the MCP.Last updated -4TypeScriptMIT License
- AsecurityFlicenseAqualityAn MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.Last updated -3926
- -securityAlicense-qualityAn MCP server that connects to a Swagger specification and helps an AI to build all the required models to generate a MCP server for that service.Last updated -19TypeScriptMIT License
- -securityAlicense-qualityAn MCP (Model-Controller-Processor) server for accessing League of Legends client data. This server provides a collection of tools that communicate with the League of Legends Live Client Data API to retrieve in-game data.Last updated -PythonApache 2.0