Kafka Sentinel

io.github.sanjay-amuPublished by GitHub account sanjay-amuv0.1.2Updated Oct 27, 2026

Read-only Kafka observability MCP server: cluster health, consumer lag, and replay-readiness.

Overview

AI-generated overview

Read-only Kafka observability MCP server that lets an assistant inspect cluster health, consumer lag, partition state and replay readiness.

What you can do
  • List topics and consumer groups to find names and states
  • Report cluster health: brokers, controller, under-replicated and offline partitions
  • Show per-group, per-topic, per-partition consumer lag with committed and end offsets
  • Audit topic durability settings and inspect partition leaders, ISR shrinkage and skew
  • Check replay readiness for a group and topic, and bundle everything into a timestamped incident snapshot
When to use it
Useful when diagnosing streaming incidents such as a stalled consumer group, lag spikes, rebalance storms or offset resets, and when you want an assistant to observe and correlate Kafka state without any write or admin access.
Requirements
Runs locally as a Python package installed with pip or uv, launched over stdio. Needs KAFKA_BOOTSTRAP; optional SASL/SSL settings via KAFKA_SECURITY_PROTOCOL, KAFKA_SASL_MECHANISM, KAFKA_SASL_USERNAME, KAFKA_SASL_PASSWORD and KAFKA_SSL_CA_LOCATION. Network access to the brokers is required.
Before you install
Requires Kafka credentials, including the secret KAFKA_SASL_PASSWORD, which are read from the environment. Use a least-privilege principal with Describe-only rights. Every tool call is logged with its parameters for audit. The project describes itself as early but tested.

Installation

In SourceWeft

  1. Open Kafka Sentinel in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

kafka-sentinel-mcp

[CI] [PyPI] [Python] [License: MIT]

Give AI agents safe, read-only eyes on your Kafka clusters.

An MCP (Model Context Protocol) server that exposes Kafka cluster health, consumer lag, partition state, and replay-readiness as structured tools — so LLM agents (Claude, or any MCP client) can diagnose streaming incidents without ever being able to break anything.

Built by an engineer who spent a decade running Kafka-based financial messaging at 99.999% availability, and got tired of every "AI + Kafka" demo assuming write access to production.

Why this exists

When a consumer group stalls at 3 a.m., the questions are always the same: Is it lag? A stuck partition? A rebalance storm? An offset reset gone wrong? These are pattern-matching questions — exactly what LLM agents are good at — but no operator will hand an agent admin rights on a production cluster.

kafka-sentinel-mcp draws a hard line: every tool is read-only by design, enforced at the client-config level (no admin operations are even imported). The agent can observe, correlate, and recommend; a human executes.

Tools

ToolWhat it returns
list_topicsAll non-internal topics with partition count and replication factor — start here if you don't know a topic name
list_consumer_groupsAll consumer group IDs with state — start here if you don't know a group name
cluster_healthBroker count, controller status, under-replicated / offline partition counts
consumer_lagPer-group, per-topic, per-partition lag with committed vs end offsets
topic_auditReplication factor, min.insync.replicas, retention, and flags configs that violate durability best practice
partition_stateLeaders, ISR shrinkage, skew across brokers
replay_readinessFor a group + topic: earliest available offsets vs committed, i.e., "can we still replay what we missed?"
incident_snapshotOne-call bundle of all the above, timestamped — designed for pasting into a postmortem

Quick start

bash
pip install kafka-sentinel-mcp   # (or: uv tool install)
# Run against your cluster (read-only credentials!)KAFKA_BOOTSTRAP=localhost:9092 kafka-sentinel-mcp

Add to Claude Desktop / any MCP client:

json
{  "mcpServers": {    "kafka-sentinel": {      "command": "kafka-sentinel-mcp",      "env": { "KAFKA_BOOTSTRAP": "broker1:9092,broker2:9092" }    }  }}

Then ask your agent: "Why is the payments-consumer group falling behind, and can we still replay from where it stalled?"

Security posture

  • Read-only by construction: no produce, no topic/config mutation, no offset commits, no ACL ops. The mutation APIs are never imported, and a test in CI greps the server source on every run to keep it that way.

  • The observer consumer runs with enable.auto.commit=False and never commits — verified against a real broker, not just asserted.

  • Supports SASL/SSL; credentials are read from the environment only and never logged.

  • Every tool call is logged with its parameters for audit.

  • Least privilege: run with a principal that has only Describe on the cluster and topics, and Describe on consumer groups. When an ACL denies an operation the tool returns a structured result rather than a stack trace:

    json
    {  "error": "permission_denied",  "operation": "list_consumer_groups",  "detail": "...",  "hint": "The Kafka principal in use lacks the ACL required for this operation. ..."}

    The agent can then tell the operator which ACL is missing instead of appearing broken. Non-authorization failures are deliberately not swallowed — they propagate, because silently degrading on an unrelated error would hide real problems.

Testing

bash
pip install -e ".[dev]"
pytest -m "not integration"   # fast, fully mocked — no Docker neededpytest -m integration         # starts a real Kafka via testcontainers (needs Docker)pytest                        # both

The unit suite mocks librdkafka entirely and covers tool logic. The integration suite starts an actual broker, produces real records, and asserts the tools return correct lag, ISR state, durability flags, and replay-readiness — including that the observer leaves no committed offsets behind. Both run in CI.

Status

Early but tested. See ROADMAP.md. Issues and PRs welcome — especially war stories about what you wish an agent could have told you during an incident.

Citing this work

If you reference this project in academic work, see CITATION.cff, or use the "Cite this repository" button on GitHub.

License

MIT

Source: README.md at commit 719153d

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

50% 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.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts