drio
Open app

dbt Semantic Layer MCP Server

Source

MCP Server for querying DBT Semantic Layer

Catalog onlyCatalog onlySTDIO

Overview

The dbt Semantic Layer MCP Server is a Model-Connector-Presenter server that facilitates seamless querying of the dbt Semantic Layer through AI assistants like Claude Desktop.

To use the MCP Server, install it via Smithery and configure it with your dbt Cloud account. Once set up, you can interact with the dbt Semantic Layer using natural language queries through your AI assistant.

  • 🔍 Metric Discovery: Browse and search available metrics in your dbt Semantic Layer. - 📊 Query Creation: Generate and execute semantic queries through natural language. - 🧮 Data Analysis: Filter, group, and order metrics for deeper insights. - 📈 Result Visualization: Display query results in an easy-to-understand format.
  1. Querying business metrics directly through natural language.
  2. Analyzing data trends and metrics with dimensional breakdowns.
  3. Visualizing results within AI assistant interfaces for better decision-making.

Add to your AI client

Use these steps to connect dbt Semantic Layer MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.

Cursor

Add this to your .cursor/mcp.json file in your project root, then restart Cursor.

.cursor/mcp.json

{
  "mcpServers": {
    "dbt-semantic-layer-mcp-server-tommybez": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-dbt-semantic-layer-mcp-server-tommybez"
      ]
    }
  }
}

Claude Desktop

Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "dbt-semantic-layer-mcp-server-tommybez": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-dbt-semantic-layer-mcp-server-tommybez"
      ]
    }
  }
}

Claude Code

Add this to your project's .mcp.json file. Claude Code will detect it automatically.

.mcp.json (project root)

{
  "mcpServers": {
    "dbt-semantic-layer-mcp-server-tommybez": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-dbt-semantic-layer-mcp-server-tommybez"
      ]
    }
  }
}

VS Code (Copilot)

Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.

.vscode/mcp.json

{
  "servers": {
    "dbt-semantic-layer-mcp-server-tommybez": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-dbt-semantic-layer-mcp-server-tommybez"
      ]
    }
  }
}

Windsurf

Add this to your Windsurf MCP config file, then restart Windsurf.

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "dbt-semantic-layer-mcp-server-tommybez": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-dbt-semantic-layer-mcp-server-tommybez"
      ]
    }
  }
}

Cline

Open Cline settings, navigate to MCP Servers, and add this server configuration.

Cline MCP Settings (via UI)

{
  "mcpServers": {
    "dbt-semantic-layer-mcp-server-tommybez": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-dbt-semantic-layer-mcp-server-tommybez"
      ]
    }
  }
}

FAQ

**What do I need to use this server?**

You need a dbt Cloud account with Semantic Layer enabled and API access to your dbt Cloud instance.

**How do I install the MCP Server?**

The recommended way to install is via Smithery using the command: `npx -y @smithery/cli install @TommyBez/dbt-semantic-layer-mcp --client claude`.

**What can I ask the MCP Server?**

You can ask about available metrics, query specific metrics, and analyze trends using natural language.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":1865,"uuid":"bdf061ff-bf47-47b4-b2aa-ebf50046cbbf","name":"dbt-semantic-layer-mcp-server","title":"dbt Semantic Layer MCP Server","description":"MCP Server for querying DBT Semantic Layer","avatar_url":"https://avatars.githubusercontent.com/u/65722261?v=4","created_at":"2025-03-05T05:46:10.147Z","updated_at":"2025-03-12T10:21:16.218Z","status":"created","author_name":"TommyBez","author_avatar_url":"https://avatars.githubusercontent.com/u/65722261?v=4","tags":"dbt,semantic-layer,mcp-server","category":"research-and-data","is_featured":false,"sort":1,"url":"https://github.com/TommyBez/dbt-semantic-layer-mcp-server","target":"_self","content":"$29","summary":"$2a","img_url":"https://camo.githubusercontent.com/6e082e419edf6d4a6aa870ca9bea9c27c165cd4f52074c0c2270d52cc0e47403/68747470733a2f2f736d6974686572792e61692f62616467652f40546f6d6d7942657a2f6462742d73656d616e7469632d6c617965722d6d6370","type":null,"metadata":"{\"star\":\"1\",\"license\":\"MIT license\",\"language\":\"TypeScript\",\"is_official\":false,\"latest_commit_time\":\"2025-03-02 19:28:52\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]