Dremio MCP Server

Dremio's own MCP server for browsing lakehouse tables, running SQL and analysing cluster usage

Official · Dremio Python Local · stdio DatabasesData and analytics

29 popularity score ★ 53

Connect your client

Local (from source)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

It needs DREMIOAI_DREMIO__URI, DREMIOAI_DREMIO__PAT. Replace each <NAME> with your value.

FirstTerminal
git clone https://github.com/dremio/dremio-mcp.git <REPO_DIR>
cd <REPO_DIR>
uv run dremio-mcp-server config create dremioai --uri <DREMIO_URI> --pat <DREMIO_PAT>
Claude CodeTerminal
claude mcp add dremio -e DREMIOAI_DREMIO__URI=<DREMIOAI_DREMIO__URI> -e DREMIOAI_DREMIO__PAT=<DREMIOAI_DREMIO__PAT> -- uv run --directory '<REPO_DIR>' dremio-mcp-server run
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "dremio": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "<REPO_DIR>",
        "dremio-mcp-server",
        "run"
      ],
      "env": {
        "DREMIOAI_DREMIO__URI": "<DREMIOAI_DREMIO__URI>",
        "DREMIOAI_DREMIO__PAT": "<DREMIOAI_DREMIO__PAT>"
      }
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "dremio": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "<REPO_DIR>",
        "dremio-mcp-server",
        "run"
      ],
      "env": {
        "DREMIOAI_DREMIO__URI": "<DREMIOAI_DREMIO__URI>",
        "DREMIOAI_DREMIO__PAT": "<DREMIOAI_DREMIO__PAT>"
      }
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "dremio": {
      "type": "stdio",
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "<REPO_DIR>",
        "dremio-mcp-server",
        "run"
      ],
      "env": {
        "DREMIOAI_DREMIO__URI": "<DREMIOAI_DREMIO__URI>",
        "DREMIOAI_DREMIO__PAT": "<DREMIOAI_DREMIO__PAT>"
      }
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.dremio]
command = "uv"
args = ["run", "--directory", "<REPO_DIR>", "dremio-mcp-server", "run"]

[mcp_servers.dremio.env]
DREMIOAI_DREMIO__URI = "<DREMIOAI_DREMIO__URI>"
DREMIOAI_DREMIO__PAT = "<DREMIOAI_DREMIO__PAT>"
Gemini CLITerminal
gemini mcp add --scope user -e DREMIOAI_DREMIO__URI=<DREMIOAI_DREMIO__URI> -e DREMIOAI_DREMIO__PAT=<DREMIOAI_DREMIO__PAT> dremio uv -- run --directory '<REPO_DIR>' dremio-mcp-server run

Settings 4

DREMIOAI_DREMIO__URI Required: Dremio API endpoint: https://api.dremio.cloud (or prod), https://api.eu.dremio.cloud (prodemea), or your coordinator URL; can be set in config.yaml instead.
DREMIOAI_DREMIO__PAT Required: Dremio personal access token; can also be set in config.yaml, or from a file with an @ prefix.
DREMIOAI_TOOLS__SERVER_MODE Optional: Tool sets to enable: FOR_DATA_PATTERNS, FOR_SELF, FOR_PROMETHEUS, EXPERIMENTAL, comma-separated.
JSON_LOGGING Optional: Set to 1 for structured JSON log output.

What it does

Dremio MCP Server is a Python program from Dremio that connects an MCP client to a Dremio lakehouse, either Dremio Cloud (US or EMEA) or a self-managed Dremio cluster. Through it an assistant can look up table and view schemas, read table descriptions and lineage, search the catalog, and run SQL against the data.

What it offers depends on the mode set in its config file. FOR_DATA_PATTERNS is the everyday mode for exploring tables and finding patterns in data. FOR_SELF turns it on Dremio itself, with access to system tables and usage reports by engine or project. FOR_PROMETHEUS adds tools that query a Prometheus server watching the cluster. Modes can be combined, and a further set of tools passes calls through to extra tools that a Dremio server exposes, when that is enabled.

It runs in two ways. Locally, it is cloned from GitHub and started with uv as a stdio server beside a desktop client such as Claude Desktop, and a built-in config command writes both its own settings file and the Claude config. For teams, the repository ships a Dockerfile and a Helm chart that run it on Kubernetes as a streaming-HTTP service with OAuth sign-in. The repository says it is open source and not part of Dremio product support.

What it needs

RuntimePython 3.11+

A Dremio Cloud project or a self-managed Dremio cluster, with a personal access token (plus the project ID for Dremio Cloud). Python 3.11 or later and the uv package manager, with a local clone of the repository. The remote option needs Docker, Kubernetes and Helm; Prometheus tools need a Prometheus endpoint.

Limits

SQL is limited to SELECT-style queries unless allow_dml is switched on; results are capped at a size the server sets, and an oversized result returns an error asking for a narrower query. Not published as a package: it runs from a cloned repository, and the Docker image is built yourself. The repository states it is not covered by Dremio product support. Some tools sit behind an experimental flag, and semantic-layer tools return nothing unless that feature is configured.

Who it suits

Suits Dremio users who want an assistant to explore their lakehouse catalog and query data with SQL, and Dremio administrators who want help reading system tables, job usage and Prometheus metrics. Read-only by default, so it fits analysis work; turn on allow_dml only when views or other changes are wanted. Teams can host it centrally on Kubernetes with OAuth instead of handing out personal tokens. Not useful without a Dremio deployment; for other warehouses pick a server made for that database.

Tools 14

RunSqlQuery
Run a SQL query on Dremio; non-SELECT statements only when allow_dml is on
GetSchemaOfTable
Return the column schema of one or more tables
GetDescriptionOfTableOrSchema
Return the description recorded for a table or schema
GetTableOrViewLineage
Show which tables and views a table or view comes from
GetUsefulSystemTableNames
List the Dremio system tables most worth querying
SearchTableAndViews
Search the catalog for tables and views matching a query
BuildUsageReport
Summarise cluster usage grouped by engine or project
GetRelevantMetrics
List Prometheus metrics that relate to the Dremio cluster
GetMetricSchema
Show the labels and sample values of a Prometheus metric
RunPromQL
Run a PromQL query against the configured Prometheus server
SearchMetrics
Find semantic-layer metrics from a plain-language description
GetTableRelationships
Fetch semantic-layer relationship data for a table or view
DiscoverDynamicTools
List the extra tools the Dremio server makes available
CallDynamicTool
Call one of those server-provided tools by name with arguments

Similar servers