Dremio MCP Server
You can deploy the Dremio MCP Server open source project on your local machine to connect any MCP-supporting AI chat client such as Claude. You can then use natural language in your AI chat client to interact with the data and create views in your Dremio deployment. The LLM that is connected to the AI chat client will need to write SQL and interpret results; therefore, we recommend using Chain of Thought reasoning models for the best experience. Working with AI chat clients backed by LLM models means you are sharing data with the service, and the output is subject to LLM hallucination.
You can explore three modes with the Dremio MCP Server. For this guide, we have focused on FOR_DATA_PATTERNS
; you can explore the other modes by updating your configuration files.
FOR_DATA_PATTERNS
– the normal mode where the MCP server will allow LLM to look at tables and data to allow pattern discovery and other use casesFOR_SELF
– a mode which allows the MCP server to introspect the Dremio system, including workload analysis and so onFOR_PROMETHEUS
– a mode that allows the MCP server to connect to your Prometheus setup, if one exists, to enhance insights with Dremio-related metrics
The Dremio MCP Server open source project has additional architecture, settings, and configuration details. As this is an open-source project, you are welcome to contribute enhancements for review. For more education on MCP Server concepts, please visit our Dremio MCP Server course on Dremio University.
Prerequisites
Before configuring the Dremio MCP Server, ensure you have satisfied all of the prerequisites:
- You have an MCP-supporting AI chat client on your computer. For example, Claude.
- You have access to a Dremio deployment, either Dremio on Kubernetes or Dremio on Docker.
- You have installed the
uv
Package Manager, which is required for installation and instantiation of the Dremio MCP Server. - You have identified your URI endpoint.
- For Dremio instances based in the US region, use
https://app.dremio.cloud
. - For Dremio instances based in the EMEA region, use
https://app.eu.dremio.cloud
.
- For Dremio instances based in the US region, use
- You have identified your project ID.
- You have generated a personal access token (PAT).
Installing Dremio MCP Server
You can install the Dremio MCP Server by cloning the associated GitHub repository:
-
Open your terminal.
-
Navigate to your preferred directory.
-
Clone the Dremio MCP Server project using the command below:
Cloning the Dremio MCP Server repositorygit clone https://github.com/dremio/dremio-mcp
-
Navigate to the new
Navigating to the project directorydremio-mcp
directory:cd dremio-mcp
-
Validate a successful install by running the command below:
Validating installationuv run dremio-mcp-server --help
Your installation was successful if you see the following output:
Expected output for successful installationUsage: dremio-mcp-server [OPTIONS] COMMAND [ARGS]...
╭─ Options ───────────────────────────── ───────────────────────────────────────────╮
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy │
│ it or customize the installation. │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────╮
│ run Run the DremioAI MCP server │
│ tools Support for testing tools directly │
│ config Configuration management │
╰──────────────────────────────────────────────────────────────────────────────────╯
Configuring Dremio MCP Server
You can configure the Dremio MCP Server by creating a dremioai
config file to provide your URI endpoint, PAT token and Project ID:
- URI endpoint for the GET and POST commands submitted by the Dremio MCP Server.
- PAT for authentication to Dremio. If you do not want the PAT to leak into your shell history file, we recommend you create a file with your PAT in it and pass it as an argument to the
dremioai
config provided below instead of using the plain text PAT value. - Project ID for the MCP Server to route commands to the correct project in your cloud deployment.
Creating Configuration Files
-
Modify the command template below and replace the placeholder text with your URI endpoint, PAT, or path to a file with your PAT and your project ID.
Creating thedremioai
configurationuv run dremio-mcp-server config create dremioai \
--uri <dremio uri> \
--pat <dremio pat> \
--project-id <project id> -
Run the command in your terminal. Be sure to watch for spaces that you may have created by accident.
-
Create the Claude configuration file:
Creating the Claude configurationuv run dremio-mcp-server config create claude
-
Validate the creation of the Claude config file by running the following command:
Validating the Claude configurationuv run dremio-mcp-server config list --type claude
Your config file was created successfully if you see the following output:
Expected Claude configuration outputDefault config file: '/Users/..../Library/Application Support/Claude/claude_desktop_config.json' (exists = True)
{
'globalShortcut': '',
'mcpServers': {
'Dremio': {
'command': '/opt/homebrew/Cellar/uv/0.6.14/bin/uv',
'args': [
'run',
'--directory',
'...../dremio-mcp',
'dremio-mcp-server',
'run'
]
}
}
} -
Validate the creation of the
Validating thedremioai
config file by running the following command:dremioai
configurationuv run dremio-mcp-server config list --type dremioai
Your config file was created successfully if you see the following output:
Expecteddremioai
configuration outputDefault config file: /Users/..../.config/dremioai/config.yaml (exists = True)
dremio:
enable_experimental: false
pat: ....
uri: ....
project-id: ....
tools:
server_mode: FOR_DATA_PATTERNS
Exploring Using Claude
You can explore your Dremio data using Claude Desktop:
-
Open Claude Desktop.
-
Start a new chat.
-
Ask the following question:
Example query to explore Dremiowhat tables or views are available in Dremio?
You will see Claude instruct the Dremio MCP Server using resources GetUsefulSystemTableNames and GetSchemaOfTable to explore Dremio. You can observe the JSON responses that the Dremio MCP Server returns. For example:
Example JSON response from Dremio MCP Server{
"entityType": "dataset",
"id": "a0972414-3955-49b8-9c5a-a1dadbf285f0",
"type": "PHYSICAL_DATASET",
"path": ["INFORMATION_SCHEMA", "TABLES"],
"createdAt": "2025-06-11T14:23:44.678Z",
"tag": "9sugkzFYFX0=",
"approximateStatisticsAllowed": false,
"fields": [
{"name": "TABLE_CATALOG", "type": {"name": "VARCHAR"}},
{"name": "TABLE_SCHEMA", "type": {"name": "VARCHAR"}},
{"name": "TABLE_NAME", "type": {"name": "VARCHAR"}},
{"name": "TABLE_TYPE", "type": {"name": "VARCHAR"}}
],
"isMetadataExpired": false,
"lastMetadataRefreshAt": "2025-06-11T14:23:44.940Z",
"tags": [],
"description": ""
}
Querying Using Claude
You can query your data using Claude by asking specific questions about the tables and views you discovered:
In your chat, ask Claude the following question:
Example query for sample datafor the first table or view you found, return some sample data and summarize the data perspective this table provides
You will see Claude instruct the Dremio MCP Server using the RunSQLQuery
tool to query data in Dremio, and similarly, you will see JSON responses from the Dremio MCP Server back to Claude. You can continue to ask Claude questions about your data and watch Claude continue to submit commands to Dremio via the Dremio MCP Server.
Dremio MCP Server Support
As the Dremio MCP Server is an open-source project, it is not covered by Dremio Support Policies. If you need assistance, please create an issue in the Dremio MCP Server open source project or ask in our Dremio Community Forums.