Build Integration Test Deploy PyPI Downloads License Strimzi MCP Server

Strimzi CLI logo

Strimzi Kafka CLI

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 f k 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:

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).

Please take a look at the relevant article Strimzi Kafka CLI: Managing Strimzi in a Kafka Native Way for more details.

Installation

Using Python Package Installer

pip install strimzi-kafka-cli --user

Or to install Strimzi Kafka CLI in an isolated environment, you can simply use pipx:

pipx install strimzi-kafka-cli

To install with MCP server support:

pip install strimzi-kafka-cli[mcp] --user

Or with pipx:

pipx install strimzi-kafka-cli[mcp]

Using Homebrew

#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.

Project requires: Python >=3.11

Examples

MCP Server

Strimzi Kafka CLI includes an MCP (Model Context Protocol) server that allows AI assistants to manage Strimzi Kafka deployments on Kubernetes.

Starting the MCP Server

kfk mcp

Registering with Claude Code

claude mcp add strimzi-kafka-cli -- kfk mcp

Available Tools (42)

Category Tools
Kafka Clusters list_kafkas, get_kafka, get_kafka_status, create_kafka, delete_kafka, alter_kafka_config
Topics list_topics, get_topic, create_topic, delete_topic, alter_topic
Users list_users, get_user, create_user, delete_user, alter_user
Connect Clusters list_connects, get_connect, create_connect, delete_connect, alter_connect
Connectors list_connectors, get_connector, create_connector, delete_connector, alter_connector
MirrorMaker2 list_mirror_maker_2s, get_mirror_maker_2, create_mirror_maker_2, delete_mirror_maker_2
Backup backup_kafka, restore_kafka, backup_connect, restore_connect
ACLs add_or_remove_acls
Operator install_operator, uninstall_operator
Node Pools list_node_pools, get_node_pool, create_node_pool, delete_node_pool
Version get_version

Dependencies

Python Dependencies

Please see pyproject.toml file.

External Dependencies

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:

kfk --version