mcp-конфлюэнтный
Реализация сервера MCP, которая позволяет помощникам ИИ взаимодействовать с API REST Confluent Cloud. Этот сервер позволяет инструментам ИИ, таким как Claude Desktop и Goose CLI, управлять темами Kafka, коннекторами и операторами Flink SQL посредством взаимодействия на естественном языке.
Демо
Гусь CLI
Клод Десктоп
Оглавление
Руководство пользователя
Начиная
Создайте файл скопируйте пример структуры файла
.env
(показанный ниже) в новый файл с именем.env
в корневом каталоге вашего проекта.Заполните файл заполните необходимые значения для вашей среды Confluent Cloud. Подробности по каждой переменной см. в разделе «Конфигурация» .
Установите Node.js (если еще не установлен)
Мы рекомендуем использовать NVM (Node Version Manager) для управления версиями Node.js.
Установите и используйте Node.js:
nvm install 22 nvm use 22
Конфигурация
Создайте файл .env
в корневом каталоге вашего проекта со следующей конфигурацией:
Справочник переменных среды
Переменная | Описание | Значение по умолчанию | Необходимый |
HTTP_ХОСТ | Хост для привязки к HTTP-транспорту (строка) | "локальный хост" | Да |
HTTP_PORT | Порт для использования для HTTP-транспорта (номер (мин.: 0)) | 3000 | Да |
СЕРВЕРЫ_ЗАГРУЗКИ | Список адресов брокеров Kafka в формате host1:port1,host2:port2, используемых для установления начального соединения с кластером Kafka (строка) | Нет | |
CONFLUENT_CLOUD_API_KEY | Главный ключ API для администрирования платформы Confluent Cloud, позволяющий управлять ресурсами в вашей организации (строка (мин.: 1)) | Нет | |
CONFLUENT_CLOUD_API_SECRET | Главный секрет API в паре с CONFLUENT_CLOUD_API_KEY для комплексного администрирования платформы Confluent Cloud (строка (мин.: 1)) | Нет | |
CONFLUENT_CLOUD_REST_ENDPOINT | Базовый URL для служб REST API Confluent Cloud (по умолчанию) | Нет | |
FLINK_API_KEY | Ключ аутентификации для доступа к службам Flink Confluent Cloud, включая вычислительные пулы и управление SQL-выражениями (строка (мин.: 1)) | Нет | |
FLINK_API_SECRET | Секретный токен в паре с FLINK_API_KEY для аутентифицированного доступа к службам Flink Confluent Cloud (строка (мин.: 1)) | Нет | |
FLINK_COMPUTE_POOL_ID | Уникальный идентификатор для вычислительного пула Flink, должен начинаться с префикса «lfcp-» (строка) | Нет | |
FLINK_DATABASE_NAME | Имя связанного кластера Kafka, используемого в качестве ссылки на базу данных в операциях Flink SQL (строка (мин.: 1)) | Нет | |
FLINK_ENV_ID | Уникальный идентификатор для среды Flink, должен начинаться с префикса «env-» (строка) | Нет | |
FLINK_ENV_NAME | Удобочитаемое имя для среды Flink, используемое для идентификации и отображения (строка (мин.: 1)) | Нет | |
FLINK_ORG_ID | Идентификатор организации в Confluent Cloud для управления ресурсами Flink (строка (мин.: 1)) | Нет | |
FLINK_REST_ENDPOINT | Базовый URL-адрес для конечных точек API Flink REST Confluent Cloud, используемых для SQL-выражений и управления вычислительным пулом (строка) | Нет | |
KAFKA_API_KEY | Для установления безопасного соединения с кластером Kafka требуются учетные данные аутентификации (имя пользователя) (строка (мин.: 1)) | Нет | |
KAFKA_API_SECRET | Учетные данные аутентификации (пароль) в паре с KAFKA_API_KEY для безопасного доступа к кластеру Kafka (строка (мин.: 1)) | Нет | |
KAFKA_CLUSTER_ID | Уникальный идентификатор кластера Kafka в экосистеме Confluent Cloud (строка (мин.: 1)) | Нет | |
KAFKA_ENV_ID | Идентификатор среды для кластера Kafka должен начинаться с префикса «env-» (строка) | Нет | |
KAFKA_REST_ENDPOINT | Конечная точка REST API для управления и администрирования кластера Kafka (строка) | Нет | |
SCHEMA_REGISTRY_API_KEY | Ключ аутентификации для доступа к службам реестра схем для управления и проверки схем данных (строка (мин.: 1)) | Нет | |
SCHEMA_REGISTRY_API_SECRET | Секрет аутентификации в паре с SCHEMA_REGISTRY_API_KEY для безопасного доступа к реестру схем (строка (мин.: 1)) | Нет | |
SCHEMA_REGISTRY_ENDPOINT | Конечная точка URL для доступа к службам реестра схем для управления схемами данных (строка) | Нет |
Использование
Этот сервер MCP предназначен для использования с различными клиентами MCP, такими как Claude Desktop или Goose CLI/Desktop. Конкретная конфигурация и взаимодействие будут зависеть от используемого вами клиента. Однако общие шаги таковы:
Запуск сервера: Вы можете запустить сервер MCP одним из двух способов:
Из источника: Следуйте инструкциям в Руководстве разработчика , чтобы собрать и запустить сервер из источника. Обычно это включает:
Установка зависимостей (
npm install
)Сборка проекта (
npm run build
илиnpm run dev
)
С помощью npx: Вы можете запустить сервер напрямую с помощью npx (сборка не требуется):
npx -y @confluentinc/mcp-confluent -e /path/to/confluent-mcp-server/.env
Настройте свой MCP-клиент: у каждого клиента будет свой собственный способ указания адреса сервера MCP и любых требуемых учетных данных. Вам нужно будет настроить своего клиента (например, Claude, Goose) для подключения к адресу, где работает этот сервер (вероятно,
localhost
с определенным портом). Порт, на котором работает сервер, может быть настроен переменной среды.Запустите MCP Client: После того, как ваш клиент настроен на подключение к MCP-серверу, вы можете запустить свой mcp-клиент, и при запуске он поднимет экземпляр этого MCP-сервера локально. Этот экземпляр будет отвечать за управление схемами данных и взаимодействие с Confluent Cloud от вашего имени.
Взаимодействие с Confluent через Клиент: После подключения клиента вы можете использовать интерфейс клиента для взаимодействия с ресурсами Confluent Cloud. Клиент будет отправлять запросы на этот сервер MCP, который затем будет взаимодействовать с Confluent Cloud от вашего имени.
Настройка рабочего стола Claude
Более подробную информацию об установке Claude Desktop и серверов MCP смотрите здесь .
Чтобы настроить Claude Desktop для использования этого сервера MCP:
Открыть конфигурацию рабочего стола Claude
На Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
В Windows:
%APPDATA%\Claude\claude_desktop_config.json
Редактировать файл конфигурации
Откройте файл конфигурации в предпочитаемом вами текстовом редакторе.
Добавьте или измените конфигурацию одним из следующих способов:
{ "mcpServers": { "confluent": { "command": "node", "args": [ "/path/to/confluent-mcp-server/dist/index.js", "--env-file", "/path/to/confluent-mcp-server/.env", ] } } }{ "mcpServers": { "confluent": { "command": "npx", "args": [ "-y" "@confluentinc/mcp-confluent", "-e", "/path/to/confluent-mcp-server/.env" ] } } }Замените
/path/to/confluent-mcp-server/
на фактический путь, по которому вы установили этот сервер MCP.Перезагрузить рабочий стол Клода
Закройте и снова откройте Claude Desktop, чтобы изменения вступили в силу.
Сервер MCP автоматически запустится при запуске Claude Desktop.
Теперь Claude Desktop будет настроен на использование вашего локального сервера MCP для взаимодействий Confluent.
Настройка Goose CLI
Подробные инструкции по установке Goose CLI смотрите здесь .
После установки выполните следующие действия:
Выполните команду конфигурации:
goose configureСледуйте интерактивным подсказкам:
Выберите
Add extension
Выберите
Command-line Extension
Введите
mcp-confluent
в качестве имени расширения.Выберите один из следующих методов настройки:
node /path/to/confluent-mcp-server/dist/index.js --env-file /path/to/confluent-mcp-server/.envnpx -y @confluentinc/mcp-confluent -e /path/to/confluent-mcp-server/.env
Замените /path/to/confluent-mcp-server/
на фактический путь, по которому вы установили этот сервер MCP.
Использование CLI mcp-confluent
Сервер MCP предоставляет гибкий интерфейс командной строки (CLI) для расширенной конфигурации и управления. CLI позволяет вам указывать файлы среды, транспорты и настраивать, какие инструменты включены или заблокированы.
Базовое использование
Вы можете просмотреть все варианты CLI и получить помощь по следующим вопросам:
Пример: Развертывание с использованием всех транспортов
Пример: разрешить только определенные инструменты
Пример: блокировка определенных инструментов
Пример: использование списков инструментов из файлов
Пример: список всех доступных инструментов
Совет: список разрешений применяется до списка блокировок. Если ни один из них не указан, все инструменты включены по умолчанию.
Руководство разработчика
Структура проекта
Строительство и запуск
Установить зависимости:
npm installРежим разработки (следите за изменениями):
npm run devЭта команда компилирует код TypeScript в JavaScript и автоматически перестраивает его при обнаружении изменений в каталоге
src/
.Производственная сборка (однократная компиляция):
npm run buildЗапустите сервер:
npm run start
Тестирование
Инспектор МКП
Для тестирования серверов MCP вы можете использовать MCP Inspector — интерактивный инструмент разработчика для тестирования и отладки серверов MCP.
Добавление нового инструмента
Добавьте новое перечисление в класс перечисления
ToolName
.Добавьте новый инструмент в карту обработчиков в классе
ToolFactory
.Создайте новый файл, экспортирующий класс, расширяющий
BaseToolHandler
.Реализуйте метод
handle
базового класса.Реализуйте метод
getToolConfig
базового класса.
После того, как вы все удовлетворены, добавьте его в набор
enabledTools
вindex.ts
.
Генерация типов
Внося вклад
Сообщения об ошибках и отзывы приветствуются в форме Github Issues. Для рекомендаций по внесению вклада см. CONTRIBUTING.md
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Реализация сервера MCP, созданная для взаимодействия с API-интерфейсами REST Confluent Kafka и Confluent Cloud.
Related Resources
Related MCP Servers
- -securityAlicense-qualityMCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.Last updated -34MIT License
- -securityAlicense-qualityMCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.Last updated -63MIT License
- -securityAlicense-qualityAn MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.Last updated -8MIT License
- AsecurityFlicenseAqualityAn MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.Last updated -3935