MCPInstall

configuring-dbt-mcp-server

Generates MCP server configuration JSON, resolves authentication setup, and validates server connectivity for dbt. Use when setting up, configuring, or troubleshooting the dbt MCP server for AI tools like Claude Desktop, Claude Code, Cursor, or VS Code.

Installs
1K
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/dbt-labs/dbt-agent-skills --skill configuring-dbt-mcp-server
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads configuring-dbt-mcp-server automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Configure dbt MCP Server

Overview

The dbt MCP server connects AI tools to dbt's CLI, Semantic Layer, Discovery API, and Admin API. This skill guides users through setup with the correct configuration for their use case.

Decision Flow

flowchart TB
    start([User wants dbt MCP]) --> q1{Local or Remote?}
    q1 -->|dev workflows,<br>CLI access needed| local[Local Server<br>uvx dbt-mcp]
    q1 -->|consumption only,<br>no local install| remote[Remote Server<br>HTTP endpoint]
    local --> q2{Which client?}
    remote --> q2
    q2 --> claude_desktop[Claude Desktop]
    q2 --> claude_code[Claude Code]
    q2 --> cursor[Cursor]
    q2 --> vscode[VS Code]
    claude_desktop --> config[Generate config<br>+ test setup]
    claude_code --> config
    cursor --> config
    vscode --> config

Questions to Ask

1. Server Type

Ask: "Do you want to use the local or remote dbt MCP server?"

Local ServerRemote Server
Runs on your machine via uvxConnects via HTTP to dbt platform
Required for development (authoring models, tests, docs) but can also connect to the dbt platform for consumption (querying metrics, exploring metadata)Best for consumption (querying metrics, exploring metadata)
Supports dbt CLI commands (run, build, test, show)No CLI commands (run, build, test)
Works without a dbt platform account but can also connect to the dbt platform for development (authoring models, tests, docs)Requires dbt platform account
No credit consumptionConsumes dbt Copilot credits

2. MCP Client

Ask: "Which MCP client are you using?"

  • Claude Desktop
  • Claude Code (CLI)
  • Cursor
  • VS Code

3. Use Case (Local Server Only)

Ask: "What's your use case?"

CLI OnlyPlatform OnlyPlatform + CLI
dbt Core/Fusion usersdbt Cloud without local projectFull access to both
No platform account neededOAuth or token authRequires paths + credentials

4. Tools to Enable

Ask: "Which tools do you want enabled?" (show defaults)

Tool CategoryDefaultEnvironment Variable
dbt CLI (run, build, test, compile)EnabledDISABLE_DBT_CLI=true to disable
Semantic Layer (metrics, dimensions)EnabledDISABLE_SEMANTIC_LAYER=true to disable
Discovery API (models, lineage)EnabledDISABLE_DISCOVERY=true to disable
Admin API (jobs, runs)EnabledDISABLE_ADMIN_API=true to disable
SQL (text_to_sql, execute_sql)DisabledDISABLE_SQL=false to enable
Codegen (generate models/sources)DisabledDISABLE_DBT_CODEGEN=false to enable

Prerequisites

Local Server

  1. Install uv: https://docs.astral.sh/uv/getting-started/installation/
  2. Have a dbt project (for CLI commands)
  3. Find paths:
    • DBT_PROJECT_DIR: Folder containing dbt_project.yml
      • macOS/Linux: pwd from project folder
      • Windows: Full path with forward slashes (e.g., C:/Users/name/project)
    • DBT_PATH: Path to dbt executable
      • macOS/Linux: which dbt
      • Windows: where dbt

Remote Server

  1. dbt Cloud account with AI features enabled
  2. Production environment ID (from Orchestration page)
  3. Personal access token or service token

See How to Find Your Credentials for detailed guidance on obtaining tokens and IDs.

Credential Security

  • Always use environment variable references (e.g., ${DBT_TOKEN}) instead of literal token values in configuration files that may be committed to version control
  • Never log, display, or echo token values in terminal output
  • When using .env files, ensure they are added to .gitignore to prevent accidental commits
  • Recommend users rotate tokens regularly and use the minimum required permission set

Configuration Templates

Local Server - CLI Only

{
  "mcpServers": {
    "dbt": {
      "command": "uvx",
      "args": ["dbt-mcp"],
      "env": {
        "DBT_PROJECT_DIR": "/path/to/your/dbt/project",
        "DBT_PATH": "/path/to/dbt"
      }
    }
  }
}

Local Server - Platform + CLI (OAuth)

{
  "mcpServers": {
    "dbt": {
      "command": "uvx",
      "args": ["dbt-mcp"],
      "env": {
        "DBT_HOST": "https://your-subdomain.us1.dbt.com",
        "DBT_PROJECT_DIR": "/path/to/project",
        "DBT_PATH": "/path/to/dbt"
      }
    }
  }
}

Local Server - Platform + CLI (Token Auth)

{
  "mcpServers": {
    "dbt": {
      "command": "uvx",
      "args": ["dbt-mcp"],
      "env": {
        "DBT_HOST": "cloud.getdbt.com",
        "DBT_TOKEN": "${DBT_TOKEN}",
        "DBT_ACCOUNT_ID": "${DBT_ACCOUNT_ID}",
        "DBT_PROD_ENV_ID": "${DBT_PROD_ENV_ID}",
        "DBT_PROJECT_DIR": "/path/to/project",
        "DBT_PATH": "/path/to/dbt"
      }
    }
  }
}

Local Server - Using .env File

{
  "mcpServers": {
    "dbt": {
      "command": "uvx",
      "args": ["--env-file", "/path/to/.env", "dbt-mcp"]
    }
  }
}

.env file contents:

DBT_HOST=cloud.getdbt.com
DBT_TOKEN=<set-via-env-or-secret-manager>
DBT_ACCOUNT_ID=<your-account-id>
DBT_PROD_ENV_ID=<your-prod-env-id>
DBT_DEV_ENV_ID=<your-dev-env-id>
DBT_USER_ID=<your-user-id>
DBT_PROJECT_DIR=/path/to/project
DBT_PATH=/path/to/dbt

Remote Server

{
  "mcpServers": {
    "dbt": {
      "url": "https://cloud.getdbt.com/api/ai/v1/mcp/",
      "headers": {
        "Authorization": "Token ${DBT_TOKEN}",
        "x-dbt-prod-environment-id": "${DBT_PROD_ENV_ID}"
      }
    }
  }
}

Additional headers for SQL/Fusion tools:

{
  "headers": {
    "Authorization": "Token ${DBT_TOKEN}",
    "x-dbt-prod-environment-id": "${DBT_PROD_ENV_ID}",
    "x-dbt-dev-environment-id": "${DBT_DEV_ENV_ID}",
    "x-dbt-user-id": "${DBT_USER_ID}"
  }
}

Client-Specific Setup

Claude Desktop

  1. Click Claude menu in system menu bar (not in-app)
  2. Select Settings...
  3. Go to Developer tab
  4. Click Edit Config
  5. Add the JSON configuration
  6. Save and restart Claude Desktop
  7. Verify: Look for MCP server indicator in bottom-right of input box

Config location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Claude Code (CLI)

Run:

claude mcp add dbt -s user -- uvx dbt-mcp

This adds the server to your user scope/config (on this system: ~/.claude.json).

For a project-specific setup, run:

claude mcp add dbt -s project -- uvx dbt-mcp

This adds the server to .mcp.json in your project root.

Alternatively, you can use the manual configuration below.

Manual configuration: Edit ~/.claude.json (user scope) or create .mcp.json (project scope) in your project root:

  • ~/.claude.json: Global across all projects
  • .mcp.json: Project-specific, can be committed to version control for team sharing. If using token auth, use environment variable references — never commit literal tokens.

For project-specific dbt setups, use .mcp.json so your team shares the same configuration.

Once the config is created, make sure to add the JSON configuration under the mcpServers key.

Cursor

  1. Open Cursor menu → Settings → Cursor Settings → MCP
  2. Add the JSON configuration
  3. Update paths and credentials
  4. Save

VS Code

  1. Open Command Palette (Cmd/Ctrl + Shift + P)
  2. Run "MCP: Open User Configuration" (or Workspace for project-specific)
  3. Add the JSON configuration (note: VS Code uses servers not mcpServers):
{
  "servers": {
    "dbt": {
      "command": "uvx",
      "args": ["dbt-mcp"],
      "env": {
        "DBT_PROJECT_DIR": "/path/to/project",
        "DBT_PATH": "/path/to/dbt"
      }
    }
  }
}
  1. Open Settings → Features → Chat → Enable MCP
  2. Verify: Run "MCP: List Servers" from Command Palette

WSL Users: Configure in Remote settings, not local user settings:

  • Run "Preferences: Open Remote Settings" from Command Palette
  • Use full Linux paths (e.g., /home/user/project, not Windows paths)

Verification Steps

Test Local Server Config

Recommended: Use .env file

  1. Create a .env file in your project root directory and add minimum environment variables for the CLI tools:
DBT_PROJECT_DIR=/path/to/project
DBT_PATH=/path/to/dbt
  1. Test the server:
uvx --env-file .env dbt-mcp

Alternative: Environment variables

# Temporary test (variables only last for this session)
export DBT_PROJECT_DIR=/path/to/project
export DBT_PATH=/path/to/dbt
uvx dbt-mcp

No errors = successful configuration.

Verify in Client

After setup, ask the AI:

  • "What dbt tools do you have access to?"
  • "List my dbt metrics" (if Semantic Layer enabled)
  • "Show my dbt models" (if Discovery enabled)

See Troubleshooting for common issues and fixes.

See Environment Variable Reference for the full list of supported variables.

FAQ

What does the configuring-dbt-mcp-server skill do?

Generates MCP server configuration JSON, resolves authentication setup, and validates server connectivity for dbt. Use when setting up, configuring, or troubleshooting the dbt MCP server for AI tools like Claude Desktop, Claude Code, Cursor, or VS Code.

How do I install configuring-dbt-mcp-server?

Run npx skills add https://github.com/dbt-labs/dbt-agent-skills --skill configuring-dbt-mcp-server in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/configuring-dbt-mcp-server/ (personal) or .claude/skills/configuring-dbt-mcp-server/ (project).

Which AI agents can use configuring-dbt-mcp-server?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is configuring-dbt-mcp-server safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains configuring-dbt-mcp-server?

It is published by dbt-labs in dbt-labs/dbt-agent-skills, and it is an official skill from the maker of the technology it covers. It has 1,034 recorded installs.

More from dbt-labs/dbt-agent-skills

View all →

using-dbt-for-analytics-engineering

dbt-labs/dbt-agent-skills

Builds and modifies dbt models, writes SQL transformations using ref() and source(), creates tests, and validates results with dbt show. Use when doing any dbt work - building or modifying models, debugging errors, exploring unfamiliar data sources, writing tests, or evaluating impact of changes.

OfficialData & Databases1.2K installs

fetching-dbt-docs

dbt-labs/dbt-agent-skills

Retrieves and searches dbt documentation pages in LLM-friendly markdown format. Use when fetching dbt documentation, looking up dbt features, or answering questions about dbt Cloud, dbt Core, or the dbt Semantic Layer.

OfficialData & Databases1.1K installs

adding-dbt-unit-test

dbt-labs/dbt-agent-skills

Creates unit test YAML definitions that mock upstream model inputs and validate expected outputs. Use when adding unit tests for a dbt model or practicing test-driven development (TDD) in dbt.

OfficialTesting & QA1.1K installs

running-dbt-commands

dbt-labs/dbt-agent-skills

Formats and executes dbt CLI commands, selects the correct dbt executable, and structures command parameters. Use when running models, tests, builds, compiles, or show queries via dbt CLI. Use when unsure which dbt executable to use or how to format command parameters.

OfficialData & Databases1.1K installs

Writes and executes SQL queries against the data warehouse using dbt's Semantic Layer or ad-hoc SQL to answer business questions. Use when a user asks about analytics, metrics, KPIs, or data (e.g., "What were total sales last quarter?", "Show me top customers by revenue"). NOT for validating, testing, or building dbt models during development.

OfficialData & Databases1K installs

building-dbt-semantic-layer

dbt-labs/dbt-agent-skills

Use when creating or modifying dbt Semantic Layer components — semantic models, metrics, dimensions, entities, measures, or time spines. Covers MetricFlow configuration, metric types (simple, derived, cumulative, ratio, conversion), and validation for both latest and legacy YAML specs.

OfficialData & Databases1K installs

Popular data & databases skills

View category →

Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pgcron, pgmq), vector/semantic search (pgvector), and restoring dumps (pgrestore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.

OfficialData & Databases462.2K installs

prisma-client-api

prisma/skills

Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".

OfficialData & Databases393.5K installs

Deprecated compatibility name for prisma-orm-setup. Use only when a user or existing integration explicitly invokes prisma-database-setup; otherwise select prisma-orm-setup.

OfficialData & Databases392.3K installs

prisma-cli

prisma/skills

Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.

OfficialData & Databases390.8K installs

prisma-postgres

prisma/skills

Deprecated compatibility name for prisma-postgres-setup. Use only when a user or existing integration explicitly invokes prisma-postgres; otherwise select prisma-postgres-setup.

OfficialData & Databases384.4K installs

Required reference for Prisma ORM 7 SQL driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter, Transaction, savepoint, result mapping, or DriverAdapterError behavior. Covers current transaction lifecycle, optional savepoint hooks, original database-error preservation, and verification.

OfficialData & Databases378.9K installs