cluster_info
Cluster info
Describe the Kafka cluster: brokers, controller, and cluster id.
Takes no parameters.

io.github.dockndevaiPublished by GitHub account dockndevaiv0.3.3Updated Oct 28, 2026
Apache Kafka monitoring & management for AI agents (with consumer lag) — governed.
Local MCP server for Apache Kafka that lets an assistant inspect clusters, topics, offsets and consumer lag, with optional governed write and admin actions.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
A Model Context Protocol server for Apache Kafka. It lets an MCP-capable client (Claude Desktop, Claude Code, etc.) monitor and manage Kafka clusters — topics, partitions, configs, and consumer groups (including lag) — with behaviour controlled entirely by flags.
Safe by default: it starts read-only, can be scoped to an allowlist of topics, protects internal/critical topics from mutation, and gates destructive operations behind an explicit opt-in.
read-only → read-write → admin, layered so a mode never exposes tools above its level.Read (read-only+): cluster_info, list_topics, describe_topic, topic_offsets, list_consumer_groups, describe_consumer_group (with lag)
Write (read-write+): create_topic, create_partitions, alter_topic_config, reset_consumer_group_offsets
Admin (admin): delete_topic, delete_consumer_group (both need KAFKA_ALLOW_DELETE)
Published on npm as @dockndevai/mcp-kafka. No clone or build needed — your MCP client runs it on demand with npx. Start in read-only mode; see .env.example for every variable and docs/CLIENTS.md for the full per-client guide.
Claude Code (CLI)
Claude Desktop · Cursor · Windsurf — same block in claude_desktop_config.json, .cursor/mcp.json, or ~/.codeium/windsurf/mcp_config.json:
OpenAI Codex CLI — in ~/.codex/config.toml:
VS Code (GitHub Copilot, Agent mode) — in .vscode/mcp.json:
orders topic and show its offsets."events with 6 partitions and 7-day retention." (needs read-write)Prefer the published package above. To run from a clone:
This server ships a server.json for the official MCP registry and an mcpName for npm ownership validation. See PUBLISHING.md for publishing to npm and listing on the MCP registry, Smithery, Glama, Cursor, and PulseMCP.
MIT
Source: README.md at commit 4996b18
Cluster info
Describe the Kafka cluster: brokers, controller, and cluster id.
Takes no parameters.
List topics
List topic names. Topics outside the allowlist are filtered out.
includeInternalDescribe topic
Partitions, replicas, in-sync replicas, and non-default configs for a topic.
topicrequiredTopic offsets
Earliest and latest offsets per partition for a topic (message backlog view).
topicrequiredList consumer groups
List consumer groups and their protocol types.
Takes no parameters.
Describe consumer group (with lag)
Describe a consumer group's state and compute per-partition and total lag across its topics.
groupIdrequired90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
claude mcp add kafka -e KAFKA_BROKERS="localhost:9092" -e KAFKA_MODE="read-only" -- npx -y @dockndevai/mcp-kafka{ "mcpServers": { "kafka": { "command": "npx", "args": [ "-y", "@dockndevai/mcp-kafka" ], "env": { "KAFKA_BROKERS": "localhost:9092", "KAFKA_MODE": "read-only" } } }}[mcp_servers.kafka]command = "npx"args = ["-y", "@dockndevai/mcp-kafka"]env = { KAFKA_BROKERS = "localhost:9092", KAFKA_MODE = "read-only" }{ "servers": { "kafka": { "type": "stdio", "command": "npx", "args": [ "-y", "@dockndevai/mcp-kafka" ], "env": { "KAFKA_BROKERS": "localhost:9092", "KAFKA_MODE": "read-only" } } }}npm installnpm run buildnode dist/index.js # with the environment variables setnpm run devnpm testnpm run typecheck