kafka-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KAFKA_CLIENT_ID | No | Client ID for connection | kafka-mcp |
| KAFKA_BOOTSTRAP_SERVERS | Yes | Comma-separated list of broker urls (e.g., localhost:9092). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| describe_clusterA | Returns information about the Kafka cluster (brokers, controller). |
| describe_brokersB | Returns a list of brokers with their details. |
| list_topicsB | Returns a list of all topic names in the cluster. |
| describe_topicB | Returns detailed information about a specific topic. |
| create_topicC | Creates a new topic. |
| delete_topicC | Deletes a topic. |
| create_partitionsB | Increases the number of partitions for a topic. Note: Partition count can only be increased, not decreased. |
| describe_configsB | Get dynamic configs for a resource. resource_type: "topic", "broker", or "group" (case insensitive) |
| alter_configsB | Update dynamic configs for a resource. resource_type: "topic", "broker", or "group" configs: Dictionary of config key-value pairs |
| consume_messagesB | Consumes messages from a topic. offset_spec: 'earliest', 'latest', or specific integer offset. timeout: seconds to wait for messages. |
| list_consumer_groupsB | Lists all consumer groups. |
| describe_consumer_groupC | Describes a specific consumer group. |
| get_consumer_group_offsetsA | Get the committed offsets and lag for a specific consumer group and topic. Returns the committed offset, high/low watermarks, and calculated lag for each partition. |
| reset_consumer_group_offsetA | Resets the offset of a consumer group using AdminClient. offset_spec: 'earliest', 'latest', or a specific integer offset string. dry_run: If True, only calculates and returns the proposed offset changes without applying them. force: If True, forces the modification even if the group is active or STABLE. |
| rewind_consumer_group_offset_by_timestampB | Rewinds consumer group offsets manually based on a specific timestamp. Finds offsets matching the timestamp using Consumer, then sets using AdminClient. dry_run: If True, only calculates and returns the proposed offset changes without applying them. force: If True, forces the modification even if the group is active or STABLE. |
| produce_messageC | Produces a message to a topic. |
| describe_cluster_healthB | Summarizes Kafka health signals exposed by Prometheus JMX Exporter. |
| get_broker_metricsB | Returns curated or filtered raw JMX Exporter metrics for one or all brokers. |
| get_topic_metricsB | Returns JMX Exporter metrics labeled for a Kafka topic. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Most tools have distinct purposes, but there is minor overlap between describe_brokers and describe_cluster (which also includes broker info), and between describe_cluster_health and get_broker_metrics (health summary vs raw metrics). Overall, an agent can reliably differentiate them.
All 19 tools follow a consistent verb_noun pattern (e.g., list_topics, create_topic, reset_consumer_group_offset). Verbs like describe, list, create, delete, get, reset, produce are used uniformly, making the naming predictable.
With 19 tools, the server is comprehensive but slightly on the heavier side. However, given Kafka's complexity (topics, partitions, configs, consumer groups, metrics), each tool serves a clear need and the count is justifiable.
The tool surface covers the core Kafka lifecycle: topic management (create/delete/describe), partition scaling, configs (describe/alter), message production and consumption, consumer group management (list/describe/offsets/reset/rewind), and cluster monitoring (brokers, health, metrics). No obvious gaps for standard operations.