Kafka MCP Server
Ein Message Context Protocol (MCP)-Server, der in Apache Kafka integriert ist, um Veröffentlichungs- und Konsumfunktionen für LLM- und Agentic-Anwendungen bereitzustellen.
Überblick
Dieses Projekt implementiert einen Server, der es KI-Modellen ermöglicht, über eine standardisierte Schnittstelle mit Kafka-Themen zu interagieren. Es unterstützt:
Veröffentlichen von Nachrichten zu Kafka-Themen
Nachrichten aus Kafka-Themen nutzen
Related MCP server: Slack MCP Server
Voraussetzungen
Python 3.8+
Apache Kafka-Instanz
Python-Abhängigkeiten (siehe Abschnitt „Installation“)
Installation
Klonen Sie das Repository:
git clone <repository-url> cd <repository-directory>Erstellen Sie eine virtuelle Umgebung und aktivieren Sie sie:
python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activateInstallieren Sie die erforderlichen Abhängigkeiten:
pip install -r requirements.txtWenn keine Datei „requirements.txt“ vorhanden ist, installieren Sie die folgenden Pakete:
pip install aiokafka python-dotenv pydantic-settings mcp-server
Konfiguration
Erstellen Sie im Projektstammverzeichnis eine .env Datei mit den folgenden Variablen:
Verwendung
Ausführen des Servers
Sie können den Server mit dem bereitgestellten main.py -Skript ausführen:
Verfügbare Transportmöglichkeiten:
stdio: Standardeingabe/-ausgabe (Standard)sse: Vom Server gesendete Ereignisse
Integration mit Claude Desktop
Um diesen Kafka MCP-Server mit Claude Desktop zu verwenden, fügen Sie Ihrer Claude Desktop-Konfigurationsdatei die folgende Konfiguration hinzu:
Ersetzen Sie <PATH TO PROJECTS> durch den absoluten Pfad zu Ihrem Projektverzeichnis.
Projektstruktur
main.py: Einstiegspunkt für die Anwendungkafka.py: Implementierung des Kafka-Konnektorsserver.py: MCP-Serverimplementierung mit Tools für die Kafka-Interaktionsettings.py: Konfigurationsverwaltung mit Pydantic
Verfügbare Tools
Kafka-Publish
Veröffentlicht Informationen zum konfigurierten Kafka-Thema.
Kafka-Konsum
Informationen aus dem konfigurierten Kafka-Thema nutzen.
Hinweis: Sobald eine Nachricht aus dem Thema gelesen wurde, kann sie mit derselben Gruppen-ID nicht erneut gelesen werden.
Thema erstellen
Erstellt ein neues Kafka-Thema mit angegebenen Parametern.
Optionen :
--topicName des zu erstellenden Themas--partitionsAnzahl der zuzuweisenden Partitionen--replication-factorReplikationsfaktor zwischen Brokern--config(optional) Überschreibt die Konfiguration auf Themenebene (z. B.retention.ms=604800000)
Thema löschen
Löscht ein vorhandenes Kafka-Thema.
Optionen :
--topicName des zu löschenden Themas--timeout(optional) Wartezeit bis zum Abschluss des Löschvorgangs
Listenthemen
Listet alle Themen im Cluster auf (oder nach Muster gefiltert).
Optionen :
--bootstrap-serverBrokeradresse--pattern(optional) Regulärer Ausdruck zum Filtern von Themennamen--exclude-internal(optional) Interne Themen ausschließen (Standard: true)
Themen-Konfiguration
Zeigt die Konfiguration für ein oder mehrere Themen an oder ändert sie.
Optionen :
--describeAktuelle Konfigurationen für ein Thema anzeigen--alterKonfigurationen ändern (zB--add-config retention.ms=86400000,--delete-config cleanup.policy)--topicName des Themas
Themen-Metadaten
Ruft Metadaten zu einem Thema oder dem Cluster ab.
Optionen :
--topic(falls angegeben) Ruft Metadaten nur für dieses Thema ab--bootstrap-serverBrokeradresse--include-offline(optional) Schließt Broker oder Partitionen ein, die offline sind