# Conduktor

Connects AI assistants to Apache Kafka via Conduktor Console to inspect clusters, consumer groups, schemas, and governance rules.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Author: conduktor
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/conduktor/kafka-mcp
- Updated: 2026-10-12
- HTML: https://affpapa.org/en/nevibecode/mcp/conduktor

## What it does

The server turns an AI assistant into an operator for Apache Kafka infrastructure by connecting to Conduktor Console. Instead of streaming raw message logs to the model, it exposes control plane metadata covering topics, configurations, and connectors. Calls execute under the caller's console identity. This structure enforces existing access rules and logs every action.

Built-in actions let agents inspect broker health, track lagging consumer groups, verify schema evolution against the registry, and trace stream lineage. When debugging a stuck pipeline, the model can look up specific records by offset or check which certificates approach expiration.

Running this integration requires an active Conduktor Console deployment alongside a Personal Access Token. The npm launcher `@conduktor/mcp` acts as a client proxy to the console endpoint, meaning cluster records stay inside Kafka unless explicitly requested.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://{console_host}/api/mcp`
- Environment variables: `CONDUKTOR_CONSOLE_URL`, `CONDUKTOR_API_TOKEN` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI**
```bash
claude mcp add kafka-mcp -e CONDUKTOR_CONSOLE_URL=<CONDUKTOR_CONSOLE_URL> -e CONDUKTOR_API_TOKEN=<CONDUKTOR_API_TOKEN> -- npx -y @conduktor/mcp
```
Replace <…> with your own values

2. **Platform CLI: remote server**
```bash
claude mcp add --transport http conduktor https://{console_host}/api/mcp
```

### Codex

1. **Platform CLI**
```bash
codex mcp add conduktor --env CONDUKTOR_CONSOLE_URL=<CONDUKTOR_CONSOLE_URL> --env CONDUKTOR_API_TOKEN=<CONDUKTOR_API_TOKEN> -- npx -y @conduktor/mcp
```
Replace <…> with your own values

2. **Platform CLI: remote server**
```bash
codex mcp add conduktor --url https://{console_host}/api/mcp
```

### Cursor

1. **Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "conduktor": {
            "command": "npx",
            "args": [
                "-y",
                "@conduktor/mcp"
            ],
            "env": {
                "CONDUKTOR_CONSOLE_URL": "<CONDUKTOR_CONSOLE_URL>",
                "CONDUKTOR_API_TOKEN": "<CONDUKTOR_API_TOKEN>"
            }
        }
    }
}
```
Replace <…> with your own values

2. **Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "conduktor": {
            "url": "https://{console_host}/api/mcp"
        }
    }
}
```

### GitHub Copilot

1. **Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "conduktor": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@conduktor/mcp"
            ],
            "env": {
                "CONDUKTOR_CONSOLE_URL": "<CONDUKTOR_CONSOLE_URL>",
                "CONDUKTOR_API_TOKEN": "<CONDUKTOR_API_TOKEN>"
            }
        }
    }
}
```
Replace <…> with your own values

2. **Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "conduktor": {
            "type": "http",
            "url": "https://{console_host}/api/mcp"
        }
    }
}
```

### Gemini CLI

1. **Platform CLI**
```bash
gemini mcp add -e CONDUKTOR_CONSOLE_URL=<CONDUKTOR_CONSOLE_URL> -e CONDUKTOR_API_TOKEN=<CONDUKTOR_API_TOKEN> conduktor npx -y @conduktor/mcp
```
Replace <…> with your own values

2. **Platform CLI: remote server**
```bash
gemini mcp add -t http conduktor https://{console_host}/api/mcp
```

## When to use it
- detect consumer group lag and identify stuck offsets
- verify schema compatibility before publishing changes
- locate abandoned topics and assign ownership tags
- monitor certificate expirations across Kafka clusters

## Example prompts
- Show consumer group lag across the cluster and find the record blocking the stuck consumer.
- List topics without recent consumer activity and inspect their creator details.
- Check whether the updated schema is compatible with the current version in Schema Registry.

## Similar
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33989
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81163
- [Oh My Posh Validator](https://affpapa.org/en/nevibecode/mcp/oh-my-posh-validator.md) — MCP server · ★ 23654
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18779
- [Coder](https://affpapa.org/en/nevibecode/mcp/coder.md) — MCP server · ★ 17191
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12110

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
