Conduktor MCP
Поручите ИИ-ассистенту управление вашей инфраструктурой Kafka.
Это не чат-окно для работы с кластером. Это способ для агентов — ваших или наших — видеть, что на самом деле происходит во всех ваших кластерах, и действовать: удалять неиспользуемые топики, распределять расходы между командами, находить сертификаты, срок действия которых истекает в следующем месяце, перезапускать коннектор, отказавший в три часа ночи, и назначать владельцев топикам, чьи прежние владельцы покинули компанию.
Конечная точка MCP встроена в Conduktor Console. Ничего не нужно развёртывать или дополнительно защищать: ассистент наследует уже настроенные вами RBAC, журнал аудита и модель владения.
Сначала попробуйте
Нет под рукой Kafka? demo/ запускает кластер, Console и конечную точку MCP командой
docker compose up -d. В демо заранее созданы топики и настроен поток сообщений, а одна группа потребителей намеренно отстаёт.
Настройка
Создайте персональный токен доступа в Console, затем укажите в клиенте MCP адрес своей Console:
{
"mcpServers": {
"conduktor": {
"command": "npx",
"args": ["-y", "@conduktor/mcp"],
"env": {
"CONDUKTOR_CONSOLE_URL": "https://console.acme-corp.com",
"CONDUKTOR_API_TOKEN": "your-personal-access-token"
}
}
}
}
Путь /api/mcp добавится автоматически. Можно также указать URL, который уже оканчивается на /api/mcp.
Подключение без пакета
Пакет @conduktor/mcp использует mcp-remote. Если предпочитаете, вызывайте его напрямую:
{
"mcpServers": {
"conduktor": {
"command": "npx",
"args": [
"mcp-remote",
"https://console.acme-corp.com/api/mcp",
"--header",
"Authorization: Bearer ${CONDUKTOR_API_TOKEN}"
],
"env": { "CONDUKTOR_API_TOKEN": "your-personal-access-token" }
}
}
}
Что можно спросить у ассистента
Задавайте вопросы на английском языке и получайте ответы, основанные на данных вашей инфраструктуры, а не на документации:
Какие топики не использовались уже месяц и кто их создал? Во сколько нам обошлась команда платежей в прошлом квартале и что повлияло на расходы? Эта группа потребителей застряла — какое сообщение её блокирует? Срок действия каких сертификатов истекает до марта и кому они принадлежат? У этих топиков нет владельцев. Можешь определить, кому их назначить, исходя из потока данных?
Это не просто демонстрационные примеры. Каждый вопрос соответствует инструментам, перечисленным ниже, и задачам, которые агент может выполнять без участия человека.
От ответов к действиям
Один и тот же набор инструментов доступен двум категориям пользователей: вашим инструментам — Claude Code, Cursor, скриптам, внутренней платформе разработчика — и агентам, работающим внутри Console по расписанию или в ответ на событие в журнале аудита, с собственной машинной идентичностью.
Именно во втором случае система перестаёт быть чат-ботом. Агент — это задача, идентичность и ограниченный набор инструментов. Он запускается в понедельник в 9 утра или сразу после отказа коннектора, разбирается с проблемой и возвращает результат, с которым можно работать: отчёт, рекомендацию или предлагаемое изменение, которое вы можете одобрить.
Каждый запуск отслеживается от начала до конца: запрос, каждый вызов инструмента, токены и результат. Эти данные можно приложить к заявке или передать аудитору.
Инструменты
Тридцать один инструмент для всей плоскости управления. Большинство предназначено для чтения данных; некоторые позволяют вносить изменения, и их число растёт.
Кластеры
| Инструмент | Назначение |
|---|---|
list-clusters | Все кластеры Kafka, которыми управляет эта Console, включая связанные Schema Registry, кластеры Connect и тип кластера |
get-cluster | Регистрационные данные отдельного кластера по его slug |
insights-cluster | Оценка состояния, количество топиков и разделов, распределение по форматам сериализации — общая картина кластера за один вызов |
Топики
| Инструмент | Назначение |
|---|---|
list-topics | Каталог топиков: имена, метки, описания, разделы, репликация и конфигурации |
get-topic | Данные одного топика по точному имени |
list-topics-with-usage | Топики с количеством сообщений, размером и пропускной способностью |
query-topics | Фильтрация топиков в кластере |
aggregate-topics | Группировка топиков и вычисление статистики для каждой группы: количества, суммы, среднего значения, минимума и максимума |
insights-topics | Перекос по разделам, проблемы с репликацией и скрытые неполадки |
set-topic-labels (запись данных) | Назначение топикам меток: владельцев, среды и других категорий из вашей таксономии |
Сообщения
| Инструмент | Назначение |
|---|---|
get-last-messages | Последние N сообщений из топика |
get-record-at | Получение конкретной записи по разделу и смещению — например, сообщения, блокирующего потребителя |
Группы потребителей
| Инструмент | Назначение |
|---|---|
list-consumer-groups | Группы с указанием состояния, отставания и количества участников |
get-consumer-group | Подробные сведения об одной группе |
list-consumer-groups-by-topic | Сведения о том, кто читает этот топик |
Схемы
| Инструмент | Назначение |
|---|---|
list-subjects · get-subject · list-subject-names | Каталог субъектов |
get-schema-version | Получение конкретной версии |
check-schema-compatibility | Проверка того, не нарушит ли изменение работу потребителей, до его выпуска |
Connect, Gateway
| Инструмент | Назначение |
|---|---|
list-connectors-detailed · get-connector | Коннекторы и их состояние |
list-interceptors | Перехватчики Gateway, настроенные в кластере |
Доступ, идентификация, управление и расходы
| Инструмент | Назначение |
|---|---|
list-acl-bindings | Сведения о том, кому и какие действия разрешены |
list-service-accounts · get-service-account | Идентификаторы, не связанные с людьми |
list-certificates | Сертификаты и сроки их действия |
list-applications | Приложения, зарегистрированные в каталоге |
get-stream-lineage | Сведения о потоках данных и их направлениях |
query-audit-log | Кто и когда выполнил действие |
get-chargeback-report | Распределение расходов по командам |
Безопасность делает это возможным
Давать агенту реальный доступ к рабочей среде допустимо только потому, что границы доступа уже настроены и применяются при каждом вызове.
Действуете вы. Каждый вызов выполняется с токеном Console и правами пользователя, определёнными RBAC. Агент не может видеть кластер, недоступный его владельцу. Если отозвать доступ владельца, агент мгновенно его потеряет.
Плоскость управления, а не плоскость данных. Модель получает метаданные: топики, конфигурации, смещения, группы, схемы, потоки данных и расходы. Ваши записи остаются в Kafka, если только задача явно не требует инструмента для их чтения.
Все действия регистрируются. Каждый вызов попадает в журнал аудита Console и связывается с идентификатором пользователя, который его выполнил.
Документация
Что находится в этом репозитории
Здесь размещены лаунчер, опубликованный как @conduktor/mcp, эта документация и метаданные реестра. Сам сервер работает внутри Console. Если вы нашли ошибку в сервере, обратитесь в службу поддержки Conduktor; если проблема связана с лаунчером или документацией, создайте здесь issue.