druid-mcp-server — MCP-сервер для Claude Code
Подключает ИИ-ассистентов к кластеру Apache Druid для выполнения аналитических запросов, контроля приёма данных и проверки состояния узлов.
claude mcp add --env DRUID_ROUTER_URL=<DRUID_ROUTER_URL> --env DRUID_COORDINATOR_URL=<DRUID_COORDINATOR_URL> --env DRUID_AUTH_USERNAME=<DRUID_AUTH_USERNAME> --env DRUID_AUTH_PASSWORD=<DRUID_AUTH_PASSWORD> --env DRUID_SSL_ENABLED=<DRUID_SSL_ENABLED> --transport stdio druid-mcp-server -- docker run -i --rm -e DRUID_ROUTER_URL -e DRUID_COORDINATOR_URL -e DRUID_AUTH_USERNAME -e DRUID_AUTH_PASSWORD -e DRUID_SSL_ENABLED docker.io/iunera/druid-mcp-server:2.0.1Что делает druid-mcp-server
Сервер написан на Java на базе Spring AI и связывает модели с Apache Druid. Он предоставляет агенту инструменты для запуска SQL-запросов, мониторинга инфраструктуры и контроля задач загрузки сырых данных. Через протокол MCP клиент также получает схемы таблиц и готовые шаблоны промптов для работы с таймсериями.
Работать можно через STDIO или сетевой транспорт HTTP и SSE со стримингом. Для сетевого режима по умолчанию включена авторизация по протоколу OAuth 2.0: без передачи валидного Bearer-токена соединение будет сброшено, если не отключить параметр DRUID_MCP_SECURITY_OAUTH2_ENABLED. Для локальной сборки без контейнера требуется установленная Java 25.
Какие задачи решает
- Отправлять аналитические SQL-запросы к таблицам Apache Druid через чат
- Проверять состояние координатора и роутера кластера
- Отслеживать прогресс выполнения задач приёма данных
- Извлекать метаданные источников и структуру колонок без веб-консоли
Примеры запросов агенту
- Покажи список доступных таблиц в кластере Druid и типы колонок в них.
- Выполни запрос к таблице метрик за последние три часа с группировкой по сервисам.
- Проверь текущий статус задач загрузки данных на координаторе.
Как установить druid-mcp-server
Командой платформы
claude mcp add --env DRUID_ROUTER_URL=<DRUID_ROUTER_URL> --env DRUID_COORDINATOR_URL=<DRUID_COORDINATOR_URL> --env DRUID_AUTH_USERNAME=<DRUID_AUTH_USERNAME> --env DRUID_AUTH_PASSWORD=<DRUID_AUTH_PASSWORD> --env DRUID_SSL_ENABLED=<DRUID_SSL_ENABLED> --transport stdio druid-mcp-server -- docker run -i --rm -e DRUID_ROUTER_URL -e DRUID_COORDINATOR_URL -e DRUID_AUTH_USERNAME -e DRUID_AUTH_PASSWORD -e DRUID_SSL_ENABLED docker.io/iunera/druid-mcp-server:2.0.1Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Командой платформы
codex mcp add druid-mcp-server --env DRUID_ROUTER_URL=<DRUID_ROUTER_URL> --env DRUID_COORDINATOR_URL=<DRUID_COORDINATOR_URL> --env DRUID_AUTH_USERNAME=<DRUID_AUTH_USERNAME> --env DRUID_AUTH_PASSWORD=<DRUID_AUTH_PASSWORD> --env DRUID_SSL_ENABLED=<DRUID_SSL_ENABLED> -- docker run -i --rm -e DRUID_ROUTER_URL -e DRUID_COORDINATOR_URL -e DRUID_AUTH_USERNAME -e DRUID_AUTH_PASSWORD -e DRUID_SSL_ENABLED docker.io/iunera/druid-mcp-server:2.0.1Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Файл настроек
{
"mcpServers": {
"druid-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DRUID_ROUTER_URL",
"-e",
"DRUID_COORDINATOR_URL",
"-e",
"DRUID_AUTH_USERNAME",
"-e",
"DRUID_AUTH_PASSWORD",
"-e",
"DRUID_SSL_ENABLED",
"docker.io/iunera/druid-mcp-server:2.0.1"
],
"env": {
"DRUID_ROUTER_URL": "<DRUID_ROUTER_URL>",
"DRUID_COORDINATOR_URL": "<DRUID_COORDINATOR_URL>",
"DRUID_AUTH_USERNAME": "<DRUID_AUTH_USERNAME>",
"DRUID_AUTH_PASSWORD": "<DRUID_AUTH_PASSWORD>",
"DRUID_SSL_ENABLED": "<DRUID_SSL_ENABLED>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Файл настроек
{
"servers": {
"druid-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DRUID_ROUTER_URL",
"-e",
"DRUID_COORDINATOR_URL",
"-e",
"DRUID_AUTH_USERNAME",
"-e",
"DRUID_AUTH_PASSWORD",
"-e",
"DRUID_SSL_ENABLED",
"docker.io/iunera/druid-mcp-server:2.0.1"
],
"env": {
"DRUID_ROUTER_URL": "<DRUID_ROUTER_URL>",
"DRUID_COORDINATOR_URL": "<DRUID_COORDINATOR_URL>",
"DRUID_AUTH_USERNAME": "<DRUID_AUTH_USERNAME>",
"DRUID_AUTH_PASSWORD": "<DRUID_AUTH_PASSWORD>",
"DRUID_SSL_ENABLED": "<DRUID_SSL_ENABLED>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Командой платформы
gemini mcp add -e DRUID_ROUTER_URL=<DRUID_ROUTER_URL> -e DRUID_COORDINATOR_URL=<DRUID_COORDINATOR_URL> -e DRUID_AUTH_USERNAME=<DRUID_AUTH_USERNAME> -e DRUID_AUTH_PASSWORD=<DRUID_AUTH_PASSWORD> -e DRUID_SSL_ENABLED=<DRUID_SSL_ENABLED> druid-mcp-server docker run -i --rm -e DRUID_ROUTER_URL -e DRUID_COORDINATOR_URL -e DRUID_AUTH_USERNAME -e DRUID_AUTH_PASSWORD -e DRUID_SSL_ENABLED docker.io/iunera/druid-mcp-server:2.0.1Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о druid-mcp-server
Как установить druid-mcp-server в Claude Code?
Выполните команду в терминале: `claude mcp add --env DRUID_ROUTER_URL=<DRUID_ROUTER_URL> --env DRUID_COORDINATOR_URL=<DRUID_COORDINATOR_URL> --env DRUID_AUTH_USERNAME=<DRUID_AUTH_USERNAME> --env DRUID_AUTH_PASSWORD=<DRUID_AUTH_PASSWORD> --env DRUID_SSL_ENABLED=<DRUID_SSL_ENABLED> --transport stdio druid-mcp-server -- docker run -i --rm -e DRUID_ROUTER_URL -e DRUID_COORDINATOR_URL -e DRUID_AUTH_USERNAME -e DRUID_AUTH_PASSWORD -e DRUID_SSL_ENABLED docker.io/iunera/druid-mcp-server:2.0.1`. Подставьте адреса роутера и координатора Druid.
Что делает druid-mcp-server?
Он связывает языковую модель с интерфейсами роутера и координатора Druid, давая агенту доступ к аналитическим запросам, ресурсам схемы и системным метрикам.
Что нужно подготовить перед запуском сервера?
Нужен работающий кластер Apache Druid с доступными портами роутера и координатора. Для сборки из исходного кода потребуется среда Java 25 и Maven 3.6+, либо Docker.