getDatasourcesLABSCO 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 —
queryDruidSqlfor SQL,getDatasourcesfor datasources and their schemas,getSegments,getSegmentLoadQueueandgetLookupsfor 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,diagnoseClusterandcheckFunctionalityHealth, 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
USE CASES
Answering a question against Druid data
List the datasources, read the schema of the one you need, then run the SQL.
Running a query too big for the SQL endpoint
Submit it as a multi-stage task, poll its status, and cancel it if it runs away.
Working out why ingestion stopped
Look at the supervisors and running tasks, then read one task's execution report and log.
Checking the cluster before you're paged about it
Run a health sweep across servers, segments and active tasks, and a configuration audit alongside it.
29 tools
Listed in project docs. Your client may show a different list.
getLookupsgetSegmentsgetSegmentLoadQueuequeryDruidSqlgetCompactionConfiggetCompactionStatusmanageCompactionmanageDatasourceOrSegmentmanageLookupqueryDruidMultiStagequeryDruidMultiStageWithContextgetMultiStageQueryTaskStatuscancelMultiStageQueryTaskgetRetentionRulesmanageRetentionRulessubmitIngestiongetSupervisorsmanageSupervisorgetTasksgetTaskDetailsshutdownTaskgetClusterStatusgetNodesStatusdiagnoseClustercheckFunctionalityHealthmanageAuthenticationmanageAuthorizationmanageSecurityAssignmentsBEFORE YOU INSTALL
What to know first
Tools you get
29 tools named in the project's documentation.
Requires
- docker on PATH
- Java 25
- Maven 3.6+
INSTALLATION
Connect your client
Server setup
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:latestMCP Clients
Any MCP client — Docker
{
"mcpServers": {
"druid-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"DRUID_ROUTER_URL",
"-e",
"DRUID_COORDINATOR_URL",
"-e",
"DRUID_AUTH_USERNAME",
"-e",
"DRUID_AUTH_PASSWORD",
"-e",
"DRUID_SSL_ENABLED",
"-e",
"DRUID_SSL_SKIP_VERIFICATION",
"iunera/druid-mcp-server:2.0.0"
],
"env": {
"DRUID_ROUTER_URL": "http://host.docker.internal:8888",
"DRUID_COORDINATOR_URL": "http://host.docker.internal:8081",
"DRUID_AUTH_USERNAME": "",
"DRUID_AUTH_PASSWORD": "",
"DRUID_SSL_ENABLED": "false",
"DRUID_SSL_SKIP_VERIFICATION": "true"
}
}
}
}Other routes
HTTP server (Docker)
docker run -p 8080:8080 -e SPRING_PROFILES_ACTIVE=http,query -e DRUID_ROUTER_URL=http://<YOUR_DRUID_ROUTER>:8888 iunera/druid-mcp-server:latest