Back to Directory/Monitoring & Observability

io.github.Aguantar/kafka-dataops-mcp

DataOps Kafka MCP server with consumer lag diagnosis and broker monitoring

Monitoring & ObservabilityPythonv0.1.0

kafka-dataops-mcp

mcp-name: io.github.Aguantar/kafka-dataops-mcp

A DataOps-focused Kafka MCP server with consumer lag diagnosis and broker health monitoring. Diagnosis logic is based on actual CDC pipeline operational experience.

Features

  • kafka_consumer_lag — Consumer group lag with incident-pattern diagnosis
  • kafka_topic_info — Topic details with ISR/replication health checks
  • kafka_broker_status — Cluster health: brokers, controller, under-replicated partitions
  • kafka_list_topics — Topic catalog with built-in descriptions

Diagnosis based on real incidents

The diagnosis logic is not generic — it's based on actual operational experience:

  • Flink crash detection: "no active members" + growing lag = likely Flink Job failure (based on a 50-hour outage caused by MySQL DELETE → Debezium tombstone → Flink NPE)
  • Checkpoint vs consumer group: warns that Kafka consumer group reset alone is insufficient for Flink — checkpoints must be deleted first
  • ClusterIdMismatch: detects missing brokers and suggests Docker volume conflict as root cause
  • ISR monitoring: ISR < min.insync.replicas = write failures (critical)

Installation

pip install kafka-dataops-mcp

Usage with Claude Code

Add to your .mcp.json:

{
  "mcpServers": {
    "kafka": {
      "command": "kafka-dataops-mcp",
      "env": {
        "KAFKA_BOOTSTRAP_SERVERS": "localhost:9092"
      }
    }
  }
}

Environment Variables

VariableDefaultDescription
KAFKA_BOOTSTRAP_SERVERSlocalhost:9092Kafka bootstrap servers
KAFKA_COMMAND_TIMEOUT10Command timeout in seconds

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx kafka-dataops-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-aguantar-kafka-dataops-mcp": {
      "command": "uvx",
      "args": [
        "kafka-dataops-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

kafka-dataops-mcppypi

Compatible MCP Clients

io.github.Aguantar/kafka-dataops-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More