MCP Hub
Back to servers

Imply Druid

A read-only Model Context Protocol server for Imply Cloud and Apache Druid, enabling AI assistants to explore schemas, run SQL queries, and access dashboards or data cubes.

Stars
1
Tools
12
Updated
Dec 7, 2025
Validated
Jan 11, 2026

imply-druid-mcp

PyPI version Python 3.10+ License: MIT

A read-only MCP (Model Context Protocol) server for Imply Cloud/Druid databases. Query and explore your Druid data through Claude and other AI assistants.

Features

Supported ✅

  • SQL Query Execution
    • Synchronous query execution
    • Asynchronous query execution (for large datasets)
  • Query Management
    • Check query status
    • Retrieve query results
    • Cancel running queries
  • Table Operations
    • List all tables in project
    • Get table schema details
  • Dashboard Operations
    • List all dashboards
    • Get dashboard details
  • Data Cube Operations
    • List all data cubes
    • Get data cube details
    • Execute Pivot SQL queries

Not Supported ❌

  • Data Ingestion
  • Table/Schema Creation or Modification
  • User/Permission Management
  • Supervisor Management

Tools

Query Tools

ToolDescription
execute_sql_queryExecute a SQL query synchronously and return results immediately
execute_async_queryExecute a SQL query asynchronously for large datasets. Returns a query ID
get_query_resultsRetrieve results from an async query using query ID
get_query_statusCheck the execution status of an async query
cancel_queryCancel a running async query

Table Tools

ToolDescription
list_tablesList all tables (datasources) in the Druid project
get_table_schemaGet detailed schema information for a specific table

Dashboard Tools

ToolDescription
list_dashboardsList all dashboards in the Imply project
get_dashboardGet detailed information about a specific dashboard

Data Cube Tools

ToolDescription
list_data_cubesList all data cubes in the Imply project
get_data_cubeGet detailed data cube information including dimensions and measures
query_data_cubeExecute Pivot SQL query against a data cube

API Mapping

This MCP server maps to the Imply Polaris API:

MCP ToolImply API Endpoint
execute_sql_queryPOST /v1/projects/{projectId}/query/sql
execute_async_queryPOST /v1/projects/{projectId}/query/sql/statements
get_query_resultsGET /v1/projects/{projectId}/query/sql/statements/{queryId}/results
get_query_statusGET /v1/projects/{projectId}/query/sql/statements/{queryId}
cancel_queryDELETE /v1/projects/{projectId}/query/sql/statements/{queryId}
list_tablesGET /v1/projects/{projectId}/tables
get_table_schemaGET /v1/projects/{projectId}/tables/{tableName}
list_dashboardsGET /v1/projects/{projectId}/dashboards
get_dashboardGET /v1/projects/{projectId}/dashboards/{dashboardId}
list_data_cubesGET /v1/projects/{projectId}/data-cubes
get_data_cubeGET /v1/projects/{projectId}/data-cubes/{cubeName}
query_data_cubePOST /v0/projects/{projectId}/pivot/data-cube-sql/query

Installation

Using uvx (Recommended)

uvx imply-druid-mcp

Using pip

pip install imply-druid-mcp
imply-druid-mcp

Using pipx

pipx install imply-druid-mcp
imply-druid-mcp

Configuration

Environment VariableRequiredDefaultDescription
IMPLY_ORGANIZATIONYes-Imply Cloud organization name
IMPLY_REGIONYes-Region (e.g., us-east-1)
IMPLY_CLOUD_PROVIDERYes-Cloud provider: aws, gcp, or azure
IMPLY_PROJECT_IDYes-Imply project ID
IMPLY_API_KEYYes*-Imply API key
IMPLY_ACCESS_TOKENYes*-OAuth access token (alternative)
LOG_LEVELNoINFOLogging level
DEFAULT_QUERY_TIMEOUT_MSNo30000Default query timeout (ms)
MAX_QUERY_LENGTHNo10000Maximum SQL query length

*Either IMPLY_API_KEY or IMPLY_ACCESS_TOKEN is required.

Claude Desktop Setup

Add to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "imply-druid": {
      "command": "uvx",
      "args": ["imply-druid-mcp"],
      "env": {
        "IMPLY_ORGANIZATION": "your-org",
        "IMPLY_REGION": "us-east-1",
        "IMPLY_CLOUD_PROVIDER": "aws",
        "IMPLY_PROJECT_ID": "your-project-id",
        "IMPLY_API_KEY": "your-api-key"
      }
    }
  }
}

Usage Examples

User: Show me all tables in my Druid project

Claude: [Uses list_tables]
- wikipedia (datasource)
- events (datasource)
- metrics (datasource)
User: Query the top 10 records from wikipedia table

Claude: [Uses execute_sql_query with "SELECT * FROM wikipedia LIMIT 10"]
[Results displayed]
User: Show me all data cubes

Claude: [Uses list_data_cubes]
- sales_cube: Sales Analytics (source: sales_table)
- events_cube: Events Tracking (source: events)
User: Query the sales data cube for top cities

Claude: [Uses query_data_cube with Pivot SQL syntax]
SELECT "DIM:city" AS "City", MEASURE_BY_ID('total_sales') AS "Sales"
FROM "datacube"."sales_cube"
ORDER BY 2 DESC
LIMIT 10

Development

git clone https://github.com/yeongbin-hwang/imply-druid-mcp.git
cd imply-druid-mcp
pip install -e ".[dev]"

License

MIT License - see LICENSE for details.

Resources

Reviews

No reviews yet

Sign in to write a review