Skip to main content

Dremio MCP Server

The Dremio MCP Server is an open-source project that enables AI chat clients or agents to securely interact with your Dremio deployment using natural language. Connecting to the Dremio-hosted MCP Server is the fastest path to enabling external AI chat clients to work with Dremio. The Dremio-hosted MCP Server provides OAuth support, which guarantees and propagates the user identity, authentication, and authorization for all interactions with Dremio. Once connected, you can use natural language to explore and query data, perform analysis and create visualizations, create views, and analyze system performance. While you can fork the open-source Dremio MCP Server for customization or install it locally for use with a personal AI chat client account we recommend using the Dremio-hosted MCP Server available to all projects for experimentation, development and production when possible.

Configure Connectivity

Review the documentation below from AI chat client providers to verify you meet the requirements for creating custom connectors before proceeding.

To configure connectivity to your Dremio-hosted MCP Server, you first need to set up a Native OAuth application and provide the redirect URLs for the AI chat client you are using.

  • If you are using Claude, fill in https://claude.ai/api/mcp/auth_callback,https://claude.com/api/mcp/auth_callback,http://localhost/callback,http://localhost as redirect URLs for the OAuth Application
  • If you are using ChatGPT, fill in https://chatgpt.com/connector_platform_oauth_redirect,http://localhost as the redirect URLs for the OAuth Application
  • For a custom AI chat client, you will need to speak to your administrator.

Then configure the custom connector to the Dremio-hosted MCP Server by providing the client ID from the OAuth application and the MCP endpoint for your control plane.

  • For Dremio instances using the US control plane, your MCP endpoint is mcp.dremio.cloud/mcp/{project_id}.
  • For Dremio instances using the European control plane, your MCP endpoint is mcp.eu.dremio.cloud/mcp/{project_id}.
  • If you are unsure of your endpoint, you can copy the MCP endpoint from the Project Overview page in Project Settings.

MCP Server Tools

The Dremio MCP server exposes several tools that aid LLMs to interact effectively with Dremio:

  • GetUsefulSystemTableNames: Retrieves a dictionary of system tables with descriptions.
  • GetSchemaOfTable: Retrieves schema information for a table.
  • GetDescriptionOfTableOrSchema: Retrieves descriptions and tags for a table or schema.
  • GetTableOrViewLineage: Retrieves lineage information for a table or view.
  • RunSqlQuery: Run a SQL command and return the result in JSON format.

Before configuring the Dremio MCP Server, ensure you have satisfied all of the prerequisites:

  1. You have an MCP-supporting AI chat client on your computer. For example, Claude.
  2. You have access to a Dremio Cloud deployment.
  3. You have installed the uv Package Manager, which is required for installation and instantiation of the Dremio MCP Server.
  4. You have identified your URI endpoint.
    • For Dremio instances using the US Control Plane, your URI endpoint is https://app.dremio.cloud.
    • For Dremio instances using the European Control Plane, your URI endpoint is https://app.eu.dremio.cloud.
  5. You have identified your project ID.
  6. You have generated a personal access token (PAT). The Dremio MCP Server operates based on the permissions associated with the PAT.

Install Local Dremio MCP Server

For experimentation and development, you can install the Dremio MCP Server locally and connect using a personal access token (PAT) by cloning the associated GitHub repository. We do not recommend using this approach for a remote streaming production deployment as this forces all users to access Dremio through the same PAT. For a remote streaming production deployment we recommend using the Dremio Hosted MCP Server.

  1. Open your terminal.

  2. Navigate to your preferred directory.

  3. Clone the Dremio MCP Server project using the command below:

    Cloning the Dremio MCP Server repository
    git clone https://github.com/dremio/dremio-mcp
  4. Navigate to the new dremio-mcp directory:

    Navigating to the project directory
    cd dremio-mcp
  5. Validate a successful install by running the command below:

    Validating installation
    uv run dremio-mcp-server --help

    Your installation was successful if you see the following output:

    Expected output for successful installation
    Usage: 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 │
    ╰──────────────────────────────────────────────────────────────────────────────────╯

Configure 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.

Create Configuration Files

  1. 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 the dremioai configuration
    uv run dremio-mcp-server config create dremioai \
    --uri <dremio uri> \
    --pat <dremio pat> \
    --project-id <project id>
  2. Run the command in your terminal. Be sure to watch for spaces that you may have created by accident.

  3. Create the Claude configuration file:

    Creating the Claude configuration
    uv run dremio-mcp-server config create claude
  4. Validate the creation of the Claude config file by running the following command:

    Validating the Claude configuration
    uv run dremio-mcp-server config list --type claude

    Your config file was created successfully if you see the following output:

    Expected Claude configuration output
    Default 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'
    ]
    }
    }
    }
  5. Validate the creation of the dremioai config file by running the following command:

    Validating the dremioai configuration
    uv run dremio-mcp-server config list --type dremioai

    Your config file was created successfully if you see the following output:

    Expected dremioai configuration output
    Default config file: /Users/..../.config/dremioai/config.yaml (exists = True)
    dremio:
    enable_experimental: false
    pat: ....
    uri: ....
    project-id: ....
    tools:
    server_mode: FOR_DATA_PATTERNS