GetFailedJobDetailsLABSCO SUMMARY
The server mode is the access control, so set it deliberately.
server_mode decides which family of tools loads: FOR_DATA_PATTERNS gives the agent tables and data for exploration, FOR_SELF turns it inward onto job history and workload analysis, and FOR_PROMETHEUS adds cluster metrics. That is a useful boundary — an analyst and a platform engineer want different halves of this and should not both get everything. Writes are off until you set allow_dml, so the default posture is read-only.
What it is
Dremio's own MCP server. It connects to a Dremio Cloud project or a software cluster and exposes two different jobs: querying the semantic layer, and introspecting the cluster's own workload. Which of those an agent can see is decided by a server mode you set in the config, not by the agent.
What you get
- Run SELECT statements against the cluster and read the rows back — RunSqlQuery
- Understand a dataset before querying it — GetSchemaOfTable and GetTableOrViewLineage
- Find the right dataset by describing it, when semantic search is switched on — SemanticSearch
- Investigate failures: GetFailedJobDetails covers failed and canceled jobs over the past seven days
- Report on usage grouped by engine or project — BuildUsageReport
- Get at Dremio's own system tables — GetUsefulSystemTableNames and GetNameOfJobsRecentTable
- Pull cluster metrics from an attached Prometheus — GetRelevantMetrics, GetMetricSchema and RunPromQL
Requirements
A Dremio deployment and a personal access token. Running it locally needs Python 3.11 or later and the uv package manager; dremio-mcp-server config create dremioai writes ~/.config/dremioai/config.yaml, which holds the API URI, the PAT — readable from a file with an @ prefix so it stays out of shell history — and, for Dremio Cloud, the project id. Two switches decide how much the server can do: enable_search turns on SemanticSearch, and allow_dml is what lets it create views. For a shared deployment there is a Helm chart that runs it in streaming HTTP mode with OAuth instead of a PAT.
Setup effort
Build from source — clone the repository, then follow the steps on this page and add the configuration for your client
USE CASES
Answering a business question without knowing the warehouse
Describe the dataset you want, read its schema, then run the SELECT against it.
A dashboard broke and nobody knows which upstream changed
Trace the view back through its lineage to the tables it is built on.
Working out why queries keep failing
Pull the failed and canceled jobs from the past week and look for what they have in common.
Reporting on who is consuming the cluster
Build a usage report grouped by engine or project, and cross-check it against the system tables.
Correlating a slow query with cluster load
Read the metric labels, then run a PromQL query for the window the query ran in.
12 tools
Listed in project docs. Your client may show a different list.
BuildUsageReportGetRelevantMetricsRunSqlQueryGetSchemaOfTableGetTableOrViewLineageSemanticSearchGetNameOfJobsRecentTableGetUsefulSystemTableNamesGetMetricSchemaRunPromQLGetDescriptionOfTableOrSchemaBEFORE YOU INSTALL
What to know first
Tools you get
12 tools named in the project's documentation. Only tools matching tools.server_mode register: the default config uses FOR_DATA_PATTERNS, FOR_SELF shows three, and EXPERIMENTAL tools also need experimental_enabled: true.
Requires
- uv on PATH
- Python 3.11 or later
- A Dremio URI and personal access token (PAT), saved with dremio-mcp-server config create dremioai
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Clone the repository, then follow the steps on this page and add the configuration for your client. This one is built from source rather than installed with a single command.
Server setup
Clone or download this repository (git clone https://github.com/dremio/dremio-mcp; cd dremio-mcp)
Install the uv package manager — Python 3.11 or later is required; if you install uv for the first time, restart your terminal afterwards
Ensure Python is available: uv python find (or simply run uv python install)
Sanity check only, not an install action: uv run dremio-mcp-server --help should print the usage banner with the run / tools / config commands
Create the Dremio server config: uv run dremio-mcp-server config create dremioai --uri <YOUR_DREMIO_URI> --pat <YOUR_DREMIO_PAT> (add --project-id for Dremio Cloud; --pat @<YOUR_PATH_TO_TOKENFILE> avoids leaking the PAT into shell history)
Download and install Claude Desktop
Create the Claude config: uv run dremio-mcp-server config create claude — this writes the mcpServers block for you, so hand-editing claude_desktop_config.json is only the manual alternative
Validate both: uv run dremio-mcp-server config list --type claude and uv run dremio-mcp-server config list --type dremioai
Kubernetes / remote HTTP alternative: docker build -t dremio-mcp:0.1.0 . then helm install my-dremio-mcp ./helm/dremio-mcp --set dremio.uri=<YOUR_DREMIO_URL>:9047 (OAuth recommended for production; --set dremio.pat=<YOUR_PAT> is dev/testing only)
MCP Clients
Claude Desktop
{
"globalShortcut": "",
"mcpServers": {
"Dremio": {
"command": "uv",
"args": [
"run",
"--directory",
"<YOUR_TOPLEVEL_GIT_DIRECTORY>",
"dremio-mcp-server",
"run"
]
}
}
}The block does not carry your Dremio URI or personal access token: step 5 (config create dremioai --uri … --pat …) saves them to $HOME/.config/dremioai/config.yaml, which the server reads when it starts.