Skip to main content
Glama

Kafka MCP Server

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

Voraussetzungen

  • Python 3.8+
  • Apache Kafka-Instanz
  • Python-Abhängigkeiten (siehe Abschnitt „Installation“)

Installation

  1. Klonen Sie das Repository:
    git clone <repository-url> cd <repository-directory>
  2. Erstellen Sie eine virtuelle Umgebung und aktivieren Sie sie:
    python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activate
  3. Installieren Sie die erforderlichen Abhängigkeiten:
    pip install -r requirements.txt
    Wenn 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:

# Kafka Configuration KAFKA_BOOTSTRAP_SERVERS=localhost:9092 TOPIC_NAME=your-topic-name IS_TOPIC_READ_FROM_BEGINNING=False DEFAULT_GROUP_ID_FOR_CONSUMER=kafka-mcp-group # Optional: Custom Tool Descriptions # TOOL_PUBLISH_DESCRIPTION="Custom description for the publish tool" # TOOL_CONSUME_DESCRIPTION="Custom description for the consume tool"

Verwendung

Ausführen des Servers

Sie können den Server mit dem bereitgestellten main.py -Skript ausführen:

python main.py --transport stdio

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:

{ "mcpServers": { "kafka": { "command": "python", "args": [ "<PATH TO PROJECTS>/main.py" ] } } }

Ersetzen Sie <PATH TO PROJECTS> durch den absoluten Pfad zu Ihrem Projektverzeichnis.

Projektstruktur

  • main.py : Einstiegspunkt für die Anwendung
  • kafka.py : Implementierung des Kafka-Konnektors
  • server.py : MCP-Serverimplementierung mit Tools für die Kafka-Interaktion
  • settings.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 :
    • --topic Name des zu erstellenden Themas
    • --partitions Anzahl der zuzuweisenden Partitionen
    • --replication-factor Replikationsfaktor zwischen Brokern
    • --config (optional) Überschreibt die Konfiguration auf Themenebene (z. B. retention.ms=604800000 )

Thema löschen

Löscht ein vorhandenes Kafka-Thema.

  • Optionen :
    • --topic Name 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-server Brokeradresse
    • --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 :
    • --describe Aktuelle Konfigurationen für ein Thema anzeigen
    • --alter Konfigurationen ändern (zB --add-config retention.ms=86400000,--delete-config cleanup.policy )
    • --topic Name 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-server Brokeradresse
    • --include-offline (optional) Schließt Broker oder Partitionen ein, die offline sind
-
security - not tested
A
license - permissive license
-
quality - not tested

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.

Ermöglicht KI-Modellen, Nachrichten aus Apache Kafka-Themen über eine standardisierte Schnittstelle zu veröffentlichen und zu nutzen, wodurch die Integration von Kafka-Messaging in LLM- und Agent-Anwendungen vereinfacht wird.

  1. Überblick
    1. Voraussetzungen
      1. Installation
        1. Konfiguration
          1. Verwendung
            1. Ausführen des Servers
            2. Integration mit Claude Desktop
          2. Projektstruktur
            1. Verfügbare Tools
              1. Kafka-Publish
              2. Kafka-Konsum
              3. Thema erstellen
              4. Thema löschen
              5. Listenthemen
              6. Themen-Konfiguration
              7. Themen-Metadaten

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              Enables AI models to interact with messages from various messaging platforms (Mobile, Mail, WhatsApp, LinkedIn, Slack, Twitter, Telegram, Instagram, Messenger) through a standardized interface.
              Last updated -
              3
              8
              Python
              MIT License
              • Linux
            • A
              security
              A
              license
              A
              quality
              An MCP server implementation built to interact with Confluent Kafka and Confluent Cloud REST APIs.
              Last updated -
              24
              52
              73
              TypeScript
              MIT License
              • Apple
            • -
              security
              -
              license
              -
              quality
              An MCP server that enables LLMs to interact with Agent-to-Agent (A2A) protocol compatible agents, allowing for sending messages, tracking tasks, and receiving streaming responses.
              Last updated -
              3
              TypeScript
            • -
              security
              A
              license
              -
              quality
              Model Context Protocol server implementation that integrates the LINE Messaging API to connect AI agents with LINE Official Accounts, enabling agents to send messages to users.
              Last updated -
              TypeScript
              Apache 2.0

            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/pavanjava/kafka_mcp_server'

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