Connect AI Agents to Dremio with MCP
Model Context Protocol (MCP) is an open-source standard developed by Anthropic that lets AI agents securely interact with external data systems. MCP provides a consistent mechanism for tool discovery and data retrieval, reducing integration complexity and enabling enterprise-grade governance over AI-to-data connections.
With MCP, your AI assistant becomes an intelligent extension of Dremio. Instead of switching between chat interfaces and SQL clients, you can explore data, investigate issues, and build data products through natural conversation. The AI agent reasons across your data catalog, writes and executes queries, and iterates based on results — turning multi-step data workflows into simple conversations.
Whether you're an analyst exploring unfamiliar datasets, an engineer debugging query performance, or a data architect building semantic layers, MCP enables an agentic data experience through the AI tools you already use.
Dremio's existing access controls are enforced — agents operate with the same permissions as the authenticated user.
Connection Options
Choose the connection method based on your AI client:
| Connection Type | AI Clients | Authentication | Best For |
|---|---|---|---|
| Dremio-Hosted MCP Server | Claude.ai, ChatGPT | OAuth 2.0 | Web-based AI clients with OAuth support |
| Self-Hosted MCP Server | Claude Code, Claude Desktop, Cursor, VS Code | Personal Access Token (PAT) | Local/CLI-based AI clients |
Use the Dremio-hosted MCP Server when possible. It provides OAuth support with guaranteed user identity propagation and requires no local installation.
Option 1: Dremio-Hosted MCP Server
Use this option to connect Claude.ai or ChatGPT to Dremio using OAuth authentication.
Prerequisites
Before you begin, ensure you have:
- A Dremio Cloud account with admin access to create OAuth applications
- An AI chat client subscription:
- Claude: Enterprise, Pro, Max, or Team plan (Claude pricing)
- ChatGPT: Plus or Enterprise plan
Review the official documentation for your AI client:
Step 1: Create a Native OAuth Application
- Log in to Dremio Cloud.
- Navigate to Organization Settings > OAuth Applications.
- Click Create OAuth Application.
- Select Native Application as the application type.
- Enter a Name for your application (e.g., "Claude MCP Connector").
- Add the Redirect URLs for your AI client (see below).
- Click Create.
- Copy the Client ID — you'll need this in Step 3.
Redirect URLs by AI Client
- Claude
- ChatGPT
- Custom Client
Add all of the following redirect URLs for Claude:
Claude redirect URLshttps://claude.ai/api/mcp/auth_callback,https://claude.com/api/mcp/auth_callback,http://localhost/callback,http://localhost
Add the following redirect URLs for ChatGPT:
ChatGPT redirect URLshttps://chatgpt.com/connector_platform_oauth_redirect,http://localhost
Contact your AI client administrator for the required redirect URLs.
Step 2: Get Your MCP Endpoint
Your MCP endpoint depends on your Dremio control plane region:
| Control Plane | MCP Endpoint |
|---|---|
| US | https://mcp.dremio.cloud/mcp/{project_id} |
| EU | https://mcp.eu.dremio.cloud/mcp/{project_id} |
To find your endpoint:
- Go to Project Settings > Project Overview.
- Copy the MCP endpoint value.
Replace {project_id} with your actual Dremio project ID.
Step 3: Configure Your AI Client
- Claude (Enterprise/Team)
- Claude (Pro/Max)
- ChatGPT
- In Claude, navigate to Admin Settings > Connectors.
- Click Add custom connector.
- Enter the following:
- Server name:
Dremio(or a descriptive name of your choice) - Remote MCP server URL: Your MCP endpoint from Step 2
- Server name:
- Expand Advanced settings and enter:
- OAuth client ID: The client ID from Step 1
- OAuth client secret: Leave blank
- Click Add.
- Open the Tools menu and enable the Dremio connector.
- In Claude, navigate to Settings > Connectors.
- Click Add custom connector.
- Enter the following:
- Server name:
Dremio(or a descriptive name of your choice) - Remote MCP server URL: Your MCP endpoint from Step 2
- Server name:
- Expand Advanced settings and enter:
- OAuth client ID: The client ID from Step 1
- OAuth client secret: Leave blank
- Click Add.
- Open the Tools menu and enable the Dremio connector.
- In ChatGPT, navigate to Settings > Connectors.
- Click Add connector.
- Select Custom MCP Server.
- Enter the following:
- Name:
Dremio - Server URL: Your MCP endpoint from Step 2
- Client ID: The client ID from Step 1
- Name:
- Click Connect.
- Complete the OAuth authentication flow when prompted.
Option 2: Self-Hosted MCP Server
Use this option to connect Claude Code, Claude Desktop, Cursor, or other local MCP clients using a personal access token (PAT).
Prerequisites
Before you begin, ensure you have:
- uv Package Manager installed
- Python 3.11 or later
- Git
- A PAT from Dremio
- Your Dremio project ID (found in Project Settings > Project Overview)
- Node.js (required for Claude Desktop)
Step 1: Install the Dremio MCP Server
Clone the repository and install dependencies:
Command for cloning the repository and installing dependencies# Clone the repository
git clone https://github.com/dremio/dremio-mcp.git
cd dremio-mcp
# Install dependencies
uv sync
Verify the installation:
Command for verifying the installationuv run dremio-mcp-server --help
You should see output showing available commands: run, tools, and config.
Step 2: Configure the Dremio Connection
Create the Dremio configuration file:
Command for creating the Dremio configurationuv run dremio-mcp-server config create dremioai \
--uri <dremio_uri> \
--pat <your_pat> \
--project-id <project_id>
Parameters:
| Parameter | Description | Example |
|---|---|---|
--uri | Dremio API endpoint | See table below |
--pat | Personal access token | dapi123... or @/path/to/token.txt |
--project-id | Your Dremio project ID | a843a0bb-2694-4426-9b94-9243bca9199e |
Dremio URI by Environment:
| Environment | URI |
|---|---|
| Dremio Cloud (US) | https://api.dremio.cloud or prod |
| Dremio Cloud (EU) | https://api.eu.dremio.cloud or prodemea |
| Self-managed | https://<coordinator-host>:<port> (default port: 9047) |
To avoid exposing your PAT in shell history, store it in a file and reference it with the @ prefix:
echo "your_pat_here" > ~/.dremio/token
chmod 600 ~/.dremio/token
uv run dremio-mcp-server config create dremioai \
--uri prod \
--pat @~/.dremio/token \
--project-id your_project_id
Verify the configuration:
Command for verifying the Dremio configurationuv run dremio-mcp-server config list --type dremioai
Step 3: Configure Your AI Client
- Claude Code
- Claude Desktop
- Cursor
- VS Code
- Other Clients
Claude Code is a command-line tool for agentic coding. Run the following command to add the Dremio MCP server:
Command for adding the Dremio MCP server to Claude Code# Navigate to your working directory
cd /path/to/your/project
# Add the Dremio MCP server
claude mcp add dremio \
--command "uv" \
--args "run,--directory,/path/to/dremio-mcp,dremio-mcp-server,run"
Replace /path/to/dremio-mcp with the actual path where you cloned the repository.
Verify the connection:
Command for verifying the Claude Code connection# Start Claude Code
claude
# Check MCP servers
/mcp
You should see dremio listed with available tools like GetUsefulSystemTableNames, GetSchemaOfTable, and RunSqlQuery.
Option A: Auto-generate configuration
Command for auto-generating the Claude Desktop configurationuv run dremio-mcp-server config create claude
This command automatically creates the Claude Desktop configuration file with the correct paths.
Verify the configuration:
Command for verifying the Claude Desktop configurationuv run dremio-mcp-server config list --type claude
Option B: Manual configuration
-
Locate your Claude Desktop configuration file:
Platform Configuration File Path macOS ~/Library/Application Support/Claude/claude_desktop_config.jsonWindows %APPDATA%\Claude\claude_desktop_config.jsonLinux ~/.config/Claude/claude_desktop_config.json -
Create or edit the configuration file:
Claude Desktop configuration{
"mcpServers": {
"dremio": {
"command": "uv",
"args": [
"run",
"--directory", "/path/to/dremio-mcp",
"dremio-mcp-server",
"run"
]
}
}
} -
Replace
/path/to/dremio-mcpwith the actual path where you cloned the repository. -
Restart Claude Desktop.
Add to your Cursor MCP settings (.cursor/mcp.json in your project or global settings):
{
"mcpServers": {
"dremio": {
"command": "uv",
"args": [
"run",
"--directory", "/path/to/dremio-mcp",
"dremio-mcp-server",
"run"
]
}
}
}
Replace /path/to/dremio-mcp with the actual path where you cloned the repository.
Add to your Continue extension configuration (~/.continue/config.json):
{
"mcpServers": [
{
"name": "dremio",
"command": "uv",
"args": [
"run",
"--directory", "/path/to/dremio-mcp",
"dremio-mcp-server",
"run"
]
}
]
}
Replace /path/to/dremio-mcp with the actual path where you cloned the repository.
For any MCP-compatible client, configure it to run the Dremio MCP server using the default configuration or a custom configuration file.
Command for running the default configuration fileuv run --directory /path/to/dremio-mcp dremio-mcp-server run
uv run --directory /path/to/dremio-mcp dremio-mcp-server run --config-file /path/to/config.yaml
Verify Your Connection
After configuration, test your connection with a simple query:
- Open your AI chat client.
- Start a new conversation.
- Ask: "List the datasets available in Dremio".
- If using OAuth (hosted server), complete the sign-in flow when prompted.
The AI should respond using Dremio MCP tools. You'll see tool calls like:
GetUsefulSystemTableNames— Lists system tablesGetSchemaOfTable— Gets table schema informationRunSqlQuery— Executes SQL queries
You: What tables are available in my Dremio instance?
Claude: I'll check what tables are available in your Dremio instance.
[Calling GetUsefulSystemTableNames]
Based on the Dremio system tables, here are the key tables available:
- sys.reflections — Information about data reflections
- sys.jobs — Query job history
- sys.materializations — Materialized view information
...
Server Modes
The Dremio MCP Server supports three modes that control what capabilities are exposed:
| Mode | Description | Use Case |
|---|---|---|
FOR_DATA_PATTERNS | Allows exploring tables and querying data | Data discovery, analytics, pattern analysis |
FOR_SELF | Enables Dremio system introspection | Workload analysis, performance monitoring |
FOR_PROMETHEUS | Connects to Prometheus for metrics | Enhanced insights with Dremio metrics |
Configure modes in your config.yaml:
tools:
server_mode: FOR_DATA_PATTERNS # Single mode
# server_mode: FOR_DATA_PATTERNS,FOR_SELF # Multiple modes
Advanced Configuration
Configuration File Reference
The full configuration file (~/.config/dremioai/config.yaml) supports these options:
dremio:
uri: https://api.dremio.cloud # Dremio API endpoint
pat: "@~/.dremio/token" # PAT (inline or file reference with @)
project_id: your-project-id # Required for Dremio Cloud
enable_search: false # Enable semantic search (optional)
allow_dml: false # Allow creating views (optional)
tools:
server_mode: FOR_DATA_PATTERNS # Server mode(s)
# Optional: Prometheus integration for self-managed deployments
# prometheus:
# uri: https://prometheus.example.com
# token: your-prometheus-token
Logging
Log files are stored in platform-specific directories:
| Platform | Log Location |
|---|---|
| Linux | ~/.local/share/dremioai/logs/dremioai.log |
| macOS | ~/Library/Logs/dremioai/dremioai.log |
| Windows | %LOCALAPPDATA%\dremioai\logs\dremioai.log |
Enable JSON logging:
Command for enabling JSON logginguv run dremio-mcp-server run --enable-json-logging
Disable file logging:
Command for disabling file logginguv run dremio-mcp-server run --no-log-to-file
Troubleshooting
Common Issues
| Issue | Cause | Solution |
|---|---|---|
| "Authentication failed" | Incorrect OAuth client ID or redirect URLs | Verify the client ID matches exactly and all redirect URLs are configured in the OAuth application |
| "Invalid redirect URI" | Missing redirect URL in OAuth app | Add all required redirect URLs to your OAuth application in Dremio |
| "Connection timeout" | Incorrect MCP endpoint URL | Ensure the URL includes https:// and the correct region |
| "Unauthorized" or "403 Forbidden" | User lacks project access | Verify your Dremio user has access to the specified project |
| "PAT invalid" or "401 Unauthorized" | Expired or revoked token | Generate a new PAT in Dremio |
| "Project not found" | Incorrect project ID | Copy the correct project ID from Project Settings > Project Overview |
| "MCP server not found" | Claude Desktop config path wrong | Verify the --directory path points to the cloned repository |
| "uv: command not found" | uv not installed or not in PATH | Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh |
| "Python version error" | Python < 3.11 | Run uv python install 3.11 or install Python 3.11+ |
Claude Code Specific Issues
| Issue | Cause | Solution |
|---|---|---|
| "Dynamic client registration failed" | Hosted MCP server doesn't support DCR | Use the self-hosted MCP server option with PAT authentication |
MCP server not appearing in /mcp | Configuration not loaded | Restart Claude Code or check the mcp.json configuration |
Diagnostic Commands
Command for checking the Dremio configurationuv run dremio-mcp-server config list --type dremioai
uv run dremio-mcp-server config list --type claude
uv run dremio-mcp-server tools list
- macOS
- Linux
- Windows
tail -f ~/Library/Logs/dremioai/dremioai.log
tail -f ~/.local/share/dremioai/logs/dremioai.log
Get-Content -Path "$env:LOCALAPPDATA\dremioai\logs\dremioai.log" -Wait
Related Topics
- Dremio MCP Server GitHub Repository – Refer to source code, issues, and contributions.
- Dremio University MCP Course – Learn MCP concepts and best practices.
- MCP Protocol Documentation – See the Model Context Protocol specification.
- Personal Access Tokens – Create and manage PATs.
- Helm Chart for Kubernetes Deployment – Deploy MCP server in production environments.
Support
The Dremio MCP Server is an open-source project and is not covered by Dremio Support Policies. For issues and feature requests, see:
- GitHub Issues: dremio/dremio-mcp/issues
- Community: Dremio Community
- Contributing: CONTRIBUTING.md