Labsco
MCP SERVER

Druid MCP server

by iunera

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

Relational SQL Databases
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