Kafka MCP Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Supports environment variable configuration through .env files for Kafka connection settings and tool descriptions.

  • Provides publish and consume functionalities for Kafka topics, allowing messages to be sent to and retrieved from Kafka streams. Messages consumed cannot be read again using the same group ID.

  • Utilizes Pydantic for settings management and validation of configuration values.

Servidor MCP de Kafka

Un servidor de Protocolo de contexto de mensaje (MCP) que se integra con Apache Kafka para proporcionar funcionalidades de publicación y consumo para aplicaciones LLM y Agentic.

Descripción general

Este proyecto implementa un servidor que permite que los modelos de IA interactúen con temas de Kafka mediante una interfaz estandarizada. Admite:

  • Publicar mensajes en temas de Kafka
  • Consumir mensajes de temas de Kafka

Prerrequisitos

  • Python 3.8+
  • Instancia de Apache Kafka
  • Dependencias de Python (ver sección Instalación)

Instalación

  1. Clonar el repositorio:
    git clone <repository-url> cd <repository-directory>
  2. Crea un entorno virtual y actívalo:
    python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activate
  3. Instale las dependencias necesarias:
    pip install -r requirements.txt
    Si no existe ningún requirements.txt, instale los siguientes paquetes:
    pip install aiokafka python-dotenv pydantic-settings mcp-server

Configuración

Cree un archivo .env en la raíz del proyecto con las siguientes variables:

# 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"

Uso

Ejecución del servidor

Puede ejecutar el servidor utilizando el script main.py proporcionado:

python main.py --transport stdio

Opciones de transporte disponibles:

  • stdio : Entrada/salida estándar (predeterminada)
  • sse : Eventos enviados por el servidor

Integración con Claude Desktop

Para utilizar este servidor Kafka MCP con Claude Desktop, agregue la siguiente configuración a su archivo de configuración de Claude Desktop:

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

Reemplace <PATH TO PROJECTS> con la ruta absoluta al directorio de su proyecto.

Estructura del proyecto

  • main.py : Punto de entrada para la aplicación
  • kafka.py : Implementación del conector de Kafka
  • server.py : Implementación del servidor MCP con herramientas para la interacción con Kafka
  • settings.py : Gestión de configuración mediante Pydantic

Herramientas disponibles

publicación kafka

Publica información en el tema de Kafka configurado.

Kafka-consumir

consumir información del tema de Kafka configurado.

  • Nota: una vez que se lee un mensaje del tema, no se puede volver a leer utilizando el mismo ID de grupo.
-
security - not tested
A
license - permissive license
-
quality - not tested

Permite que los modelos de IA publiquen y consuman mensajes de temas de Apache Kafka a través de una interfaz estandarizada, lo que facilita la integración de la mensajería de Kafka con LLM y aplicaciones de agente.

  1. Overview
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Usage
            1. Running the Server
            2. Integrating with Claude Desktop
          2. Project Structure
            1. Available Tools
              1. kafka-publish
              2. kafka-consume
            ID: 8ohdumy56r