Lets AI models publish messages to and consume messages from Apache Kafka topics.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add kafka-server-pavanjava --env KAFKA_BOOTSTRAP_SERVERS='<KAFKA_BOOTSTRAP_SERVERS>' --env TOPIC_NAME='<TOPIC_NAME>' -- python -m venv venv~/.codex/config.toml
[mcp_servers.kafka-server-pavanjava]
command = "python"
args = ["-m", "venv", "venv"]
env = { KAFKA_BOOTSTRAP_SERVERS = "<KAFKA_BOOTSTRAP_SERVERS>", TOPIC_NAME = "<TOPIC_NAME>" }
# codex mcp add kafka-server-pavanjava --env KAFKA_BOOTSTRAP_SERVERS='<KAFKA_BOOTSTRAP_SERVERS>' --env TOPIC_NAME='<TOPIC_NAME>' -- python -m venv venv~/.cursor/mcp.json
{
"mcpServers": {
"kafka-server-pavanjava": {
"command": "python",
"args": [
"-m",
"venv",
"venv"
],
"env": {
"KAFKA_BOOTSTRAP_SERVERS": "<KAFKA_BOOTSTRAP_SERVERS>",
"TOPIC_NAME": "<TOPIC_NAME>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"kafka-server-pavanjava": {
"type": "stdio",
"command": "python",
"args": [
"-m",
"venv",
"venv"
],
"env": {
"KAFKA_BOOTSTRAP_SERVERS": "<KAFKA_BOOTSTRAP_SERVERS>",
"TOPIC_NAME": "<TOPIC_NAME>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"kafka-server-pavanjava": {
"command": "python",
"args": [
"-m",
"venv",
"venv"
],
"env": {
"KAFKA_BOOTSTRAP_SERVERS": "<KAFKA_BOOTSTRAP_SERVERS>",
"TOPIC_NAME": "<TOPIC_NAME>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"kafka-server-pavanjava": {
"command": "python",
"args": [
"-m",
"venv",
"venv"
],
"env": {
"KAFKA_BOOTSTRAP_SERVERS": "<KAFKA_BOOTSTRAP_SERVERS>",
"TOPIC_NAME": "<TOPIC_NAME>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"kafka-server-pavanjava": {
"command": "python",
"args": [
"-m",
"venv",
"venv"
],
"env": {
"KAFKA_BOOTSTRAP_SERVERS": "<KAFKA_BOOTSTRAP_SERVERS>",
"TOPIC_NAME": "<TOPIC_NAME>"
}
}
}
}Environment variables
KAFKA_BOOTSTRAP_SERVERSTOPIC_NAME
Replace the placeholders with your own credentials and keep them out of version control.