LabscoMCP early access ↗
iuneraMCP SERVER

Druid MCP server

Query, operate and diagnose an Apache Druid cluster from your assistant.

by iunera ↗Relational SQL DatabasesCommunity

LABSCO SUMMARY

The active profile decides how much of your cluster is reachable.

Out of the box only the query profile is on — five read tools and nothing that can change the cluster. Adding ops brings compaction, retention, ingestion and segment management into range; permissions adds user and role administration. Each tool documents the Druid endpoint behind it, so you can see exactly what a profile opens up before you enable it.

What it is

A Java MCP server for Apache Druid, split into Spring profiles: query is active by default, while ops, permissions and health add cluster operations, security administration and diagnostics.

What you get

  • Querying — queryDruidSql for SQL, getDatasources for datasources and their schemas, getSegments, getSegmentLoadQueue and getLookups for metadata
  • Multi-stage queries as tasks — queryDruidMultiStage, queryDruidMultiStageWithContext, getMultiStageQueryTaskStatus, cancelMultiStageQueryTask
  • Ingestion and supervisors — submitIngestion, getTasks, getTaskDetails, getSupervisors, manageSupervisor, shutdownTask
  • Data lifecycle — getCompactionConfig, getCompactionStatus, manageCompaction, getRetentionRules, manageRetentionRules, manageDatasourceOrSegment
  • Health — getClusterStatus, getNodesStatus, diagnoseCluster and checkFunctionalityHealth, each with modes from a quick check to a comprehensive sweep
  • Basic-security administration — manageAuthentication, manageAuthorization, manageSecurityAssignments

Requirements

Java 25 and a reachable Druid cluster with its router on port 8888. DRUID_ROUTER_URL is required; DRUID_COORDINATOR_URL, DRUID_AUTH_USERNAME, DRUID_AUTH_PASSWORD and the SSL settings are optional. Run iunera/druid-mcp-server:2.0.0 under Docker or the jar from Maven Central. The default profile is stdio plus query; SPRING_PROFILES_ACTIVE=http,query serves Streamable HTTP at /mcp. HTTP and SSE require an OAuth 2.0 Bearer token unless you set DRUID_MCP_SECURITY_OAUTH2_ENABLED to false.

Setup effort

One command — docker run --rm -i -e DRUID_ROUTER_URL=http://<YOUR_DRUID_ROUTER>:8888 -e DRUID_COORDINATOR_URL=http://<YOUR_DRUID_COORDINATOR>:8081 iunera/druid-mcp-server:latest