Manage Apache Kafka on Kubernetes via Strimzi. Clusters, topics, users, connectors, MM2.
io.github.SystemCraftsman/strimzi-kafka-cli MCP Server
This MCP server provides tooling to manage Apache Kafka on Kubernetes using Strimzi. It targets Kafka cluster lifecycle and related resources, including topics, users, and connectors, as well as MirrorMaker 2 (MM2). The server is described as a command-line interface focused on Kubernetes/OpenShift messaging workflows.
🛠️ Key Features
Manage Apache Kafka on Kubernetes via Strimzi
Operate on Kafka clusters
Manage topics, users, and connectors
Support MirrorMaker 2 (MM2)
🚀 Use Cases
Provision and manage Strimzi-based Kafka environments on Kubernetes/OpenShift
Administer Kafka resources such as topics and users
Configure connectors and MM2-related setups for messaging replication
⚡ Developer Benefits
Command-line interface for Kafka operations
Topic focus includes kafka, strimzi, kubernetes, and openshift
Categorized as an MCP and MCP server for developer integration
⚠️ Limitations
Limited description available beyond cluster/topic/user/connector/MM2 management; the excerpt does not specify additional capabilities.
Strimzi Kafka CLI is a CLI that helps traditional Apache Kafka users -both developers and administrators- to easily adapt to Strimzi,
a Kubernetes operator for Apache Kafka.
The main intention is to ramp up Strimzi usage by creating a similar CLI experience with the traditional Apache Kafka tools that mostly starts with kafka-* prefix under the bin directory in an ordinary Kafka package.
Strimzi Kafka CLI uses the kfk command as an abbreviation for "Kafka For Kubernetes" or simply "k a fk a" which reminds of the kafka-* prefix of the ordinary Kafka script file names.
While having similar set of commands or options for some of the common objects, Strimzi Kafka CLI has some extra capabilities for managing or configuring Strimzi related resources.
Following are the commands of the current version of Strimzi Kafka CLI, that are used for different purposes:
bash
Usage: kfk [OPTIONS] COMMAND [ARGS]...
Strimzi Kafka CLI.
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
acls Manages ACLs on Kafka.
backup Backs up and restores Strimzi resources.
kafka Backs up or restores a Kafka cluster and its resources.
connect Backs up or restores a Kafka Connect cluster and its connectors.
clusters Creates, alters, deletes, describes Kafka cluster(s).
configs Adds/Removes entity config for a topic, client, user...
connect Manages Kafka Connect clusters, connectors, and MirrorMaker2.
clusters Creates, alters, deletes, describes KafkaConnect cluster(s).
connectors Creates, alters, deletes, describes KafkaConnector(s).
mirror-maker Lists, describes, creates, deletes KafkaMirrorMaker2(s).
console-consumer Reads data from Kafka topics and outputs it to...
console-producer Reads data from standard input and publish it to Kafka.
mcp Starts the Strimzi MCP server.
node-pools Lists, describes, creates, deletes KafkaNodePool(s).
operator Installs/Uninstalls Strimzi Kafka Operator.
topics Creates, alters, deletes, describes Kafka topic(s).
users Creates, alters, deletes, describes Kafka users(s).
Or to install Strimzi Kafka CLI in an isolated environment, you can simply use pipx:
bash
pipx install strimzi-kafka-cli
To install with MCP server support:
bash
pip install strimzi-kafka-cli[mcp] --user
Or with pipx:
bash
pipx install strimzi-kafka-cli[mcp]
Using Homebrew
bash
#Tap the homebrew repository first.
brew tap systemcraftsman/strimzi-kafka-cli
#Install Strimzi Kafka CLI
brew install strimzi-kafka-cli
Installing the CLI by using Homebrew already uses a virtual environment, so you don't have to worry about your main Python environment. MCP server support is included by default.
Strimzi resources are automatically downloaded when the first kfk command is run. Strimzi Kafka CLI uses the Python Kubernetes client to interact with the cluster directly. You can check the dependency versions with: