The Kafka MCP Server offers efficient way to convert prompts into actions into Kafka ecosystem. It is a natural language interface designed for agentic applications to efficiently manage Kafka operations and integrate seamlessly with MCP Clients enabling AI driven workflows to interact with processes in Kafka. Using this MCP Server, you can ask questions like:
- Publish message 'i am using kafka server' on the topic 'test-kafka'
- Consume the message from topic 'test-kafka'
- List all topics from the kafka environment
- Natural Language Queries: Enables AI agents to query and update Redis using natural language.
- Seamless MCP Integration: Works with any MCP client for smooth communication.
- Full Kafka Support: Handles producer, consumer, topics, broker, partitions and offsets.
- Scalable & Lightweight: Designed for high-performance data operations.
This MCP Server offers various tools for Kafka:
consumer and producer tools allow to consumer and publish message on topics
topic tools allow to list, create, delete and describe topics in Kafka.
broker allows to get broker info.
partition tools allow to get partitions and partition offsets.
group_offset tools allow to get and reset offsets in Kafka.
set the following in .env file or export manually
BOOTSTRAP_SERVERS=your_kafka_server
MCP_TRANSPORT=stdio
Create a virtual environment
# Using venv (built-in)
python3 -m venv .venv
# Activate the virtual environment
# On Windows
.venv\Scripts\activate
# On macOS/Linux
source .venv/bin/activateInstall Dependencies
# Using pip
pip install -r requirements.txt
# Or using uv (faster)
uv pip install -r requirements.txtSet Configurations in terminal/env
BOOTSTRAP_SERVERS=<your_kafka_url>
MCP_TRANSPORT=stdio
Run the application
python3 src/main.py
# OR
uv run python3 src/main.pyTo interact with server,
Add the following configuration to your MCPO server's config.json file (e.g., in Claude Desktop):
{
"mcpServers": {
"kafka-mcp": {
"command": "python3",
"args": ["/Users/I528600/Desktop/mcp/kafka-mcp/src/main.py"],
"env": {
"BOOTSTRAP_SERVERS": "localhost:9092",
"MCP_TRANSPORT": "stdio"
}
}
}
}- List all topics in the kafka cluster
- Create topic 'my-kafka' in kafka cluster
- Publish a message 'hello from mcp' to the topic 'my-kafka' in cluster
- Consume 2 messages from the topic 'my-kafka' in kafka cluster
- Describe the topic 'my-kafka'