pavanjava_kafka_mcp_server

pavanjava_kafka_mcp_server

by pavanjava
A Message Context Protocol (MCP) server that integrates with Apache Kafka for AI model communication.

Kafka Integration for MCP Server

A Message Context Protocol (MCP) server that integrates with Apache Kafka to provide publish and consume functionalities for LLM and Agentic applications.

Overview

This project implements a server that allows AI models to interact with Kafka topics through a standardized interface. It supports:

  • Publishing messages to Kafka topics
  • Consuming messages from Kafka topics

Prerequisites

  • Python 3.8+
  • Apache Kafka instance
  • Python dependencies (see Installation section)

Installation

  1. Clone the repository:

shell git clone <repository-url> cd <repository-directory>

  1. Create a virtual environment and activate it:

shell python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activate

  1. Install the required dependencies:

shell pip install -r requirements.txt

If no requirements.txt exists, install the following packages:

shell pip install aiokafka python-dotenv pydantic-settings mcp-server

Configuration

Create a .env file in the project root with the following 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"

Usage

Running the Server

You can run the server using the provided main.py script:

python main.py --transport stdio

Available transport options:

  • stdio: Standard input/output (default)
  • sse: Server-Sent Events

Integrating with Claude Desktop

To use this Kafka MCP server with Claude Desktop, add the following configuration to your Claude Desktop configuration file:

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

Replace <PATH TO PROJECTS> with the absolute path to your project directory.

Project Structure

  • main.py: Entry point for the application
  • kafka.py: Kafka connector implementation
  • server.py: MCP server implementation with tools for Kafka interaction
  • settings.py: Configuration management using Pydantic

Available Tools

kafka-publish

Publishes information to the configured Kafka topic.

kafka-consume

Consumes information from the configured Kafka topic.

  • Note: once a message is read from the topic it can not be read again using the same groupid

About

No description, website, or topics provided.

Resources

Readme

License

Apache-2.0 license

Activity

Stars

8 stars

Watchers

1 watching

Forks

0 forks

Report repository

Releases


No releases published

Packages 0


No packages published

Languages

Features & Capabilities

Categories
mcp_server model_context_protocol kafka python api_integration claude

Implementation Details

Stats

0 Views
8 GitHub Stars

Repository Info

pavanjava Organization

Similar MCP Servers

continuedev_continue by continuedev
25049
21423
9300