Data Sources Intermediate

dbt Cloud MCP Integration

6 min read Updated June 02, 2026
Semantic Layer metrics, project model lineage, run history, and SQL execution against your dbt warehouse via the hosted dbt MCP server with OAuth + DCR. Enterprise and Enterprise+ accounts.

dbt Cloud is where many data teams define the canonical metrics and models the rest of the business reports against. Connecting dbt Cloud to clariBI lets your AI analyses call the dbt Semantic Layer directly — so when someone asks for MRR or churn, you get the analyst-team-approved definition instead of a re-derived approximation.

Why connect dbt Cloud

Most "what does this number mean?" disputes between teams happen because two systems calculated the same metric two different ways. dbt's Semantic Layer fixes this by making one definition the source of truth.

With dbt Cloud connected, you can ask "What is monthly active users by signup channel last quarter?" or "Show me our cumulative new ARR for FY26 by region", and the AI engine routes through the dbt Semantic Layer — so the number matches what your data team publishes. clariBI also reads model lineage + freshness, so questions like "is this dashboard up to date?" or "what changed upstream?" get accurate answers. The integration is read-only at the catalog level: write CLI tools (build, run, test, trigger_job_run, retry_job_run) are filtered out so clariBI cannot mutate dbt resources.

How the connection works

clariBI talks to dbt Cloud through its hosted MCP server at https://cloud.getdbt.com/api/ai/v1/mcp/. Authentication uses an OAuth flow that clariBI registers itself for (no developer console setup on your side). Tokens stay encrypted server-side and never leave clariBI in clear form.

sequenceDiagram
    actor U as You
    participant C as clariBI
    participant V as dbt Cloud
    U->>C: Click Authorize with dbt Cloud
    C->>V: Open OAuth authorization
    V-->>U: Grant read access?
    U->>V: Approve
    V-->>C: Authorization code
    C->>V: Exchange code for tokens
    V-->>C: Access + refresh tokens
    C->>C: Encrypt and store credentials
    C-->>U: Connection ready

Available tools

The AI engine selects from these read-only dbt Cloud tools during analyses. None of them modify data in dbt Cloud.

ToolReturnsExample question
list_metricsEvery metric defined in the dbt Semantic Layer with name, label, and description.What metrics has our data team defined in dbt?
list_saved_queriesSaved metric queries — pre-built analyses curated by the data team.List the saved queries our analysts published.
get_dimensionsDimensions available for specified metrics (channel, region, tier, etc.).What dimensions can I slice MRR by?
get_entitiesEntities (customer, order, etc.) available for specified metrics.Which entities are joinable on the bookings metric?
get_metrics_compiled_sqlCompiled SQL for a metric (without executing it).Show me the compiled SQL for monthly active users.
query_metricsExecutes a metric query against the dbt Semantic Layer with filters + grouping.Get monthly active users by signup channel for the last 12 months.
get_all_modelsEvery dbt model in the project with name + description.List all dbt models in our project.
get_mart_modelsMart-layer models (the analyst-facing layer).Which mart models are available?
get_model_detailsSingle model detail: compiled SQL, columns, schema, description.Show me the details for the fct_orders model.
get_model_healthHealth signals for a model: latest run status, test results, upstream freshness.Is the fct_revenue model healthy?
get_model_parentsUpstream dependencies of a model.What does fct_orders depend on?
get_model_childrenDownstream dependents of a model.What breaks if I change dim_customers?
get_model_performanceExecution history for a model with run times + test results.How long does the fct_orders run usually take?
get_lineageFull lineage graph (ancestors + descendants) for a node.Show the lineage from raw_stripe.invoices.
get_related_modelsSemantically similar models to a given one.Find models similar to fct_subscriptions.
get_all_sourcesAll source tables with freshness status.Are any of our sources stale right now?
get_source_detailsSingle source detail including columns + freshness.Show me details for the source raw_hubspot.contacts.
get_seed_detailsDetail for a specific seed.Show me the country_codes seed.
get_snapshot_detailsDetail for a specific snapshot.Show me the snp_subscription_status snapshot.
get_semantic_model_detailsDetail for a specific semantic model.Show me the orders semantic model.
get_exposuresAll exposures (downstream dashboards, apps, analyses).Which dashboards depend on our dbt project?
get_exposure_detailsSingle exposure with owner, parents, freshness status.Who owns the revenue dashboard exposure?
get_test_detailsDetail for a specific test.Show me the not-null test on fct_orders.order_id.
get_all_macrosAll macros, optionally filtered by package.List all macros in the dbt_utils package.
get_macro_detailsDetail for a specific macro.Show me the macro source for get_relation.
searchSearch across resources in the dbt project (alpha).Find anything related to "revenue" in the dbt project.
list_projectsAll projects in the dbt Cloud account.List our dbt projects.
list_jobsAll jobs in the account with schedule + trigger metadata.List all scheduled jobs.
get_job_detailsSingle job configuration including triggers, schedule, and commands.Show me the daily-refresh job configuration.
list_jobs_runsJob runs filtered by status, time, or job.List failed job runs in the last week.
get_job_run_detailsSingle run detail: status, timing, steps, artifacts.Show me the details for run 12345.
get_job_run_errorError and warning detail for a failed run.Why did the nightly run fail?
list_job_run_artifactsArtifacts available from a job run.List the artifacts from run 12345.
listResources in the dbt project, filterable by type + selector.List all models tagged "finance".
parseValidates project file syntax without running.Parse the project to check for syntax errors.
compileGenerates executable SQL from models/tests/analyses.Compile the fct_orders model.
docsGenerates documentation for the dbt project.Generate the dbt docs.
showExecutes ad-hoc SQL against the database (read-only by convention; verify with your team).Show me the top 10 rows of fct_orders.
search_product_docsSearches docs.getdbt.com for pages matching a query.How do I define a cumulative metric in dbt?
get_product_doc_pagesFull Markdown content of a docs.getdbt.com page.Get the full incremental-models doc.
get_mcp_server_versionVersion of the running dbt MCP server.What version of the dbt MCP server are we on?

Data flow during analysis

When you ask a question that maps to dbt Cloud, the AI engine routes to the right tool, reads the result, and pairs the answer with a chart you can pin to a dashboard.

sequenceDiagram
    actor U as You
    participant C as clariBI
    participant AI as AI engine
    participant V as dbt Cloud
    U->>C: Ask a question about dbt semantic metrics, model lineage, and run history
    C->>AI: Plan the analysis
    AI->>V: Call the right tool
    V-->>AI: Tool result
    AI->>AI: Summarize and chart
    C-->>U: Answer plus visual

Setting up the connection

  1. {'title': 'Confirm your dbt plan supports remote MCP', 'description': 'Remote MCP with OAuth is available on dbt Cloud Enterprise and Enterprise+ accounts. Lower-tier accounts can still connect via a Personal Access Token; see the dbt MCP docs for the token flow.'}
  2. {'title': 'Copy your account-specific MCP endpoint URL', 'description': 'In dbt Cloud go to Account settings → Access URLs → MCP Endpoint URL. The URL is account-specific because multi-cell accounts use a per-account prefix (e.g. https://your-account.us1.dbt.com/api/ai/v1/mcp/) instead of the default cloud.getdbt.com.'}
  3. {'title': 'Paste the URL in the clariBI connect modal', 'description': 'Use the URL you copied. clariBI hands it to the OAuth flow; dbt opens a browser sign-in and shows you the requested scopes (Semantic Layer read + Discovery read).'}
  4. {'title': 'Authorize on the dbt consent screen', 'description': 'Review the scopes shown and confirm. clariBI never requests write scopes.'}

Permissions and data access

clariBI requests read-only scopes covering the Semantic Layer (metrics, dimensions, entities, saved queries) and Discovery (model metadata, lineage, freshness, test results). Job-run and project metadata are also read-only. Write CLI tools (build, run, test, clone, trigger_job_run, retry_job_run, cancel_job_run) and direct SQL execution (execute_sql) are filtered out at the catalog layer and never reachable through clariBI. Disconnect anytime from Settings → Integrations or revoke access from Account settings → Integrations → App integrations in dbt Cloud.

Troubleshooting

ErrorCauseFix
"Endpoint URL not recognised"Your account is multi-cell and the default URL was used instead of your account-specific prefix.Copy the URL from Account settings → Access URLs → MCP Endpoint URL in dbt Cloud and re-paste it in clariBI.
"Not available on your plan"Remote MCP with OAuth requires dbt Enterprise or Enterprise+. Your account is on a lower tier.Either upgrade your dbt plan or use a Personal Access Token connection — see dbt's MCP docs for the PAT setup.
"Metric returned 403"The connected user does not have permission for that metric or its underlying model.Adjust the user's role in dbt or reconnect with a user who has Semantic Layer + Discovery read access.

Related articles

Related Articles

Data Sources Intermediate

Microsoft Dataverse MCP Integration

Dataverse tables and records (including Dynamics 365 Sales, Service, and custom Power Apps schemas)…

5 min read
Data Sources Beginner

Plain MCP Integration

Threads (support conversations), customers, tenants, help-center articles, workspace data, and labe…

5 min read
Data Sources Beginner

Calendly MCP Integration

Event types, scheduled meetings, invitees, availability schedules, routing forms, and organization …

5 min read

Still Need Help?

Can't find what you're looking for? Our support team is here to help you succeed with clariBI.