Data Warehouse MCP Servers in 2026: BigQuery, Databricks, Snowflake
Nikhil Tiwari
MCP Playground
๐ TL;DR
- A data warehouse MCP server hands an agent governed query tools, not a database connection.
- The warehouse is the highest-leverage system to connect. It already has the joined, cleaned truth.
- Use the semantic layer. Raw SQL makes the model guess what your columns mean, and it guesses confidently.
- Managed servers now ship from BigQuery, Databricks, Snowflake, Redshift, Fabric, dbt and Looker.
- This is not text-to-SQL renamed. A semantic tool answers from your definitions, not from column names.
- Read-only is enforced by the grant, not the prompt. Give the agent its own identity with nothing by default.
- Budget for compute, not tokens. An agent issues six queries where an analyst writes one.
- Check the real tool list in a browser tester before wiring anything up.
Every analytics team runs the same queue. Twenty people waiting on questions that are one query away from an answer.
"What did churn look like for accounts that opened a ticket last month?" That is ten minutes of work and four days of waiting.
A data warehouse MCP server is the thing that clears that queue. It gives a model governed query tools instead of a connection string.
The idea is not new. What changed in 2026 is that the warehouses started hosting these servers themselves.
BigQuery, Databricks and Snowflake all run managed endpoints now. No container to deploy, no wrapper to maintain, and your existing permission model does the enforcing.
This guide covers what these servers actually give an agent, the one design rule that decides whether answers are correct, and how to connect one without handing over the warehouse.
Quick answer
A data warehouse MCP server is a Model Context Protocol endpoint that exposes your warehouse to an AI agent as governed tools โ semantic query, retrieval, metadata and gated read-only SQL โ rather than as a database connection. BigQuery, Databricks, Snowflake, Redshift and Microsoft Fabric all publish one in 2026. The agent authenticates as its own identity, so the grants you already wrote decide what it can read.
What a Data Warehouse MCP Server Actually Is
An MCP server exposes tools with typed inputs that a model can call. If the protocol is new to you, start with what the Model Context Protocol is.
A warehouse server is a specific and unusually well-behaved case of that.
What it is not is a database driver with a chat interface. That distinction is the whole article.
A good warehouse MCP server exposes three kinds of tool:
- Semantic query โ ask a business question against definitions a human wrote
- Retrieval โ search unstructured text that lives alongside your tables
- Gated SQL โ raw queries, usually read-only, for exploration and engineering
Most also expose metadata tools. The agent lists datasets, describes a table, and reads column comments before it writes anything.
That discovery step matters more than it looks. An agent that reads the schema first writes far better SQL than one that guesses.
Why the Warehouse Is the Highest-Leverage Thing to Connect
People usually connect the flashy servers first. GitHub, Slack, a ticket tracker.
Those are useful. The warehouse is the one that changes what the agent can answer.
Three reasons, and they compound.
1. The joins already happened
Your warehouse is where six source systems were reconciled into one story. Customers, subscriptions, events, tickets, invoices.
Point an agent at Stripe and it sees billing. Point it at the warehouse and it sees why the billing changed.
That is the difference between a lookup tool and something that answers a real question.
2. The governance already exists
This is the underrated one. Your warehouse has spent years accumulating roles, grants, row filters and masking policies.
An agent connecting through the warehouse inherits all of it for free. Nobody has to invent a new permission model for AI.
Compare that to the usual alternative โ copying data into a vector store and rebuilding access control badly.
3. The answers are auditable
Every query the agent runs lands in query history, attributed to an identity, with a cost attached.
When someone asks how the agent got a number, you can show them the SQL. Try that with a model that summarised a spreadsheet.
The Semantic Layer Rule: Right Answers vs Plausible Ones
Here is where most warehouse agents quietly fail.
Give a model raw SQL access and it will answer everything. It sees a column called REV_NET_ADJ and decides that means revenue.
Maybe it does. Maybe it excludes refunds, or includes an intercompany adjustment that finance strips out every month.
The failure mode is not an error. It is a confident wrong number in a Slack thread. Nobody catches it until it reaches a board deck.
A semantic layer is the fix. Someone defines, once, what revenue means, which tables it comes from, and how it is filtered.
The agent asks the question. The semantic layer decides the SQL. The model never gets to invent your business definitions.
Every serious warehouse MCP server now leads with this. It goes by different names โ Genie, Cortex Analyst, semantic views, conversational analytics โ but it is the same idea.
The rule I use: semantic tools for anyone who will act on the number. Raw SQL for people who can read the query and catch a mistake. Never both on the same server, or the model will reach for SQL whenever the semantic tool returns nothing.
That last point is not theoretical. A model treats an empty semantic result as a dead end and retries with whatever else is available.
The Data Warehouse MCP Landscape in 2026
The shift this year is that warehouses stopped leaving this to the community. Three of the majors host their own servers now.
| Warehouse | Hosted? | Semantic layer | Endpoint |
|---|---|---|---|
| BigQuery | Yes, fully managed | Conversational Analytics, via a separate API | https://bigquery.googleapis.com/mcp |
| Databricks | Yes, per workspace | Genie spaces | Your workspace host, under /api/2.0/mcp/ |
| Snowflake | Yes, per account | Cortex Analyst | Your account URL, under /api/v2/databases/ |
| Amazon Redshift | Through the AWS MCP server | None | Agent Toolkit for AWS, or the awslabs Redshift server |
| Microsoft Fabric | Yes, in preview | Fabric IQ ontology, preview | Core remote server, Entra ID auth |
| dbt | Yes, on the dbt platform | dbt Semantic Layer | Remote HTTP, or uvx dbt-mcp locally |
| Looker | You host it | LookML plus Conversational Analytics | From MCP Toolbox for Databases |
| MotherDuck / DuckDB | Official server, local or cloud | None | MotherDuck MCP server |
| ClickHouse | No โ runs locally | None | Official open-source server |
| Postgres family | Varies by provider | None | Postgres, Neon, Supabase |
Two patterns fall out of that table, and both are worth naming.
Hosted servers are per-account, not per-vendor. Only BigQuery has one fixed URL. Databricks and Snowflake endpoints live on your own hostname, which is what makes inherited identity work.
Semantic layers are the dividing line. BigQuery, Databricks, Snowflake, dbt and Looker have one. The smaller engines hand you SQL and trust you to supervise it.
That is not a knock on ClickHouse or Postgres. A read-only Postgres server is a fine analytics agent โ the Postgres analytics agent recipe walks through one.
You just have to supply the missing guardrail yourself, usually as curated views the agent queries instead of base tables.
See what your warehouse server really exposes Paste the URL, complete auth, and read the real tool list and raw responses in your browser. Test any MCP server free โ
The BigQuery MCP Server: One URL, Six Tools
BigQuery is the only warehouse here with a single fixed address. Every project connects to https://bigquery.googleapis.com/mcp over Streamable HTTP.
You sign in with Google Cloud credentials, an OAuth client, or an agent identity. IAM decides the rest.
The managed BigQuery MCP server exposes six tools, and the split is worth reading closely:
list_dataset_idsandlist_table_idsโ discoveryget_dataset_infoandget_table_infoโ schemas, column descriptions, partitioningexecute_sql_readonlyโ SELECT onlyexecute_sqlโ any statement, DDL and DML included
Those last two are the entire security decision. An agent that can see execute_sql will call it eventually.
Close it at the identity, not in the prompt. A service account holding only roles/bigquery.dataViewer cannot write, whichever tool the model picks.
Where the semantic layer actually lives
Notice what is missing from that list. None of the six tools is a semantic tool.
Conversational Analytics is a separate surface. You reach it through the Conversational Analytics API, or through the Looker server described below.
That catches people out. They read that BigQuery has conversational analytics and assume the MCP endpoint speaks metrics.
It does not. Out of the box, the BigQuery server is metadata plus SQL. Pair it with a semantic source if non-engineers will act on the answers.
Google documents the managed endpoint in detail, and the BigQuery Migration Service ships a second, narrower server for translation work.
Databricks vs Snowflake MCP Servers
The two lakehouse vendors reached the same place from opposite directions, and the difference is worth one section.
Databricks splits by concern. Five managed servers already live in your workspace, and you scope an agent by choosing which URL it connects to.
There is one for Genie analytics across the workspace, one scoped to a single Genie space, one for Databricks SQL, one for AI Search indexes, and one that turns your Unity Catalog functions into tools.
That last one is underrated. A reviewed SQL function becomes a tool the model calls by name, instead of logic it rewrites from scratch each run. It also carries system.ai.python_exec, so the agent can compute on results rather than dragging rows into context.
Unity Catalog grants do the enforcing throughout, and each server has its own OAuth scope.
Snowflake composes by definition. You write one CREATE MCP SERVER statement listing exactly which tools it carries, and Snowflake hosts what you defined.
A specification can carry Cortex Analyst, Cortex Search, Cortex Agents, gated SQL that defaults to read_only: true, and your own procedures wrapped as generic tools.
Snowflake's own documentation gives good advice here: do not put raw SQL on the same server as a Cortex Agent, because a client can then bypass semantic validation entirely.
Worth knowing that there are two Snowflake servers. The managed one above, and Snowflake-Labs/mcp, an open-source server you run yourself over stdio for local work.
| Databricks | Snowflake | |
|---|---|---|
| Shape | Several fixed servers, one per concern | One server you define, tool by tool |
| Semantic tool | Genie, workspace-wide or one space | Cortex Analyst over semantic views |
| Raw SQL | Databricks SQL server, async, read and write | Gated SQL tool, read_only: true by default |
| Your own logic | Unity Catalog functions become tools | Stored procedures wrapped as generic tools |
| Enforcement | Unity Catalog grants, OAuth scope per server | RBAC on the server and on each tool |
| Scope an agent by | Choosing which server URL it connects to | Choosing which tools the definition carries |
Between the two platforms, pick on where your data already lives. Neither server is good enough to justify moving a warehouse, and both are good enough to build on.
dbt, Looker and the Semantic-Layer Servers
Your semantic layer may not live in the warehouse at all. For plenty of teams it lives in dbt or Looker.
Both ship an MCP server now, and both beat raw SQL as a starting point.
The dbt MCP server
dbt Labs runs a remote MCP server on the dbt platform, plus a self-hosted one you start with uvx dbt-mcp.
The remote server carries the Semantic Layer, Discovery metadata, the admin API, and a text_to_sql tool.
Pick it when your metrics already live in dbt. The definitions your BI tool reads become the definitions your agent reads.
The self-hosted one adds dbt CLI commands, so an agent can run and test models rather than only query them.
Watch two quotas. The remote server shares the dbt API rate limit, and text_to_sql draws on your dbt Copilot allowance.
The Looker MCP server
Looker's server ships inside Google's MCP Toolbox for Databases, which you run yourself over stdio or on Cloud Run.
It answers in natural language against LookML explores rather than base tables.
LookML has been a semantic layer for years. Pointing an agent at it means nobody writes the definitions twice.
Which layer should win
Pick the one your humans already trust. If finance argues about a number, they argue in front of one definition.
Connecting dbt and Cortex Analyst and Looker at once is the mistake here. Three semantic sources means three answers and no tiebreaker.
One semantic server, one SQL server, and a rule about who gets which.
Text-to-SQL vs a Warehouse MCP Server
People ask whether this is text-to-SQL with a protocol bolted on. It can be, and that is the version that burns you.
The difference is one question: who wrote the SQL that produced the number?
| Text-to-SQL | Semantic tool on an MCP server | |
|---|---|---|
| Who writes the SQL | The model, from column names | Your semantic layer, from reviewed definitions |
| Knows what revenue means | No, it infers | Yes, a human defined it once |
| How it fails | A confident wrong number | An empty result, which someone notices |
| Right audience | Engineers who read the query | Anyone who will act on the answer |
A warehouse MCP server can serve either. Which is why the tool list you connect matters more than the vendor you chose.
Text-to-SQL is not worthless. It is genuinely good at exploration, and at drafting a query an engineer then corrects.
The natural-language SQL assistant recipe walks through that flavour end to end.
Just do not put it behind a Slack bot that answers board questions. Failure there is silent.
Read-Only Is the Whole Game
Ask any data team what worries them about an agent on the warehouse. Nobody says hallucination first. They say writes.
The fix is boring and it works. Enforce it at the identity, never in the prompt.
Create a dedicated service identity for the agent. Not a shared account, and never a person's credentials.
Grant it nothing by default. Then add one object at a time, as the agent proves it needs each one.
A system prompt saying "do not modify data" is a preference. A role without write grants is a fact.
Most managed servers help here. Snowflake defaults its SQL tool to read-only. Databricks routes everything through Unity Catalog grants. BigQuery uses IAM.
Read-only still is not harmless
This is where teams stop too early. A read-only agent cannot corrupt your warehouse. It can still leak it.
If a tool description or a returned row carries injected instructions, the agent can be steered into reading data and forwarding it somewhere.
That class of attack is well documented โ the tool poisoning and OWASP MCP Top 10 breakdown covers how it plays out.
Warehouse servers raise the stakes. The blast radius of a poisoned tool is every table the role can see.
Which is one more argument for granting narrowly. The smallest useful grant is also the smallest possible leak.
Check the server before it reaches your data Scan tool descriptions, auth behaviour and injection surface against the OWASP MCP Top 10. Scan your MCP server โ
How to Connect a Warehouse MCP Server in Seven Steps
Every one of these servers is a remote HTTP endpoint with OAuth or a bearer token. The order below is the part people get wrong.
- Read
tools/listfirst. Before any code, paste the URL into a browser tester and read the real tools and schemas. - Create a dedicated identity. A service account or service user for the agent alone, never a person's credentials.
- Grant nothing, then add one object. Start from zero and widen only when a run fails on something it genuinely needs.
- Split semantic from raw SQL. Two servers, two audiences. A model falls back to SQL the moment a semantic call returns nothing.
- Cap the compute. A small dedicated warehouse, aggressive auto-suspend, a resource monitor, and a query timeout.
- Scan the server. Check tool descriptions and auth behaviour against the OWASP MCP Top 10 before it touches production data.
- Run a real model against it. Tool choice varies by model, so test the one you will ship in Agent Studio.
Step one saves the most time. Docs describe the server the vendor intended; tools/list describes the server your role can see.
Those are different documents more often than you would like, especially on Databricks, where each managed server carries its own OAuth scope.
Five Warehouse Agents Worth Building
A connected server does nothing on its own. These five earn the setup.
1. The analyst that answers in Slack
Warehouse server plus Slack. Someone asks a metric question in a channel and gets an answer grounded in the semantic layer.
This is the one that clears the queue. Model: Claude Sonnet 5, because the job is ask, then sanity-check the number before posting.
Cheaper models do the asking and skip the checking, which is the step that matters.
2. The metric watchdog
Same server, run on a schedule instead of a prompt. It queries the same six metrics every morning and reports only what moved.
Anomaly detection you can read. It reports the number, the delta, and the query that produced it.
3. The pipeline debugger
Warehouse plus GitHub. The agent reads the broken table, then reads the transform that wrote it, then proposes the fix.
This one justifies raw SQL access, because the audience is engineers who can check the query.
4. Retrieval inside the perimeter
Search support transcripts and internal docs where they already live, under the same grants as your tables.
No second copy of sensitive text in a third-party index. That argument is what gets these past a security review.
5. The schema explainer
The unglamorous one that pays off immediately. New joiners ask what a table means and which column is authoritative.
Metadata tools answer that without a single row of data leaving the warehouse.
Whatever you build, keep the connected server count low. Two or three is the ceiling before tool selection degrades โ the MCP agent use cases guide covers the pattern by role.
What a Warehouse Agent Actually Costs
Teams budget for tokens and get surprised by compute. The compute bill is the bigger one.
An analyst thinks, then writes one query. An agent writes six, three of which were wrong and re-run after an error.
Three controls handle it:
- A dedicated warehouse or compute pool, sized small, so agent spend is visible on its own line.
- Aggressive auto-suspend. Agent traffic is bursty, and idle compute is pure waste.
- A hard quota โ a resource monitor, a credit cap, a billing limit. A cap you set beats a bill you discover.
Add a query timeout wherever the server supports one. A runaway generated query is a routine event, not an edge case.
One more habit worth building: make the agent aggregate in SQL rather than returning rows. Ten thousand rows in context is expensive twice over.
Where Warehouse Agents Go Wrong
- Raw SQL when a semantic layer exists. You trade correct answers for flexible ones.
- Reusing a human's credentials. The agent inherits their grants and muddies their audit trail.
- Returning rows instead of answers. Aggregate in the warehouse, not in the context window.
- Connecting every server at once. Each tool schema costs context on every request โ see MCP context bloat.
- Assuming every call is synchronous. Some semantic tools generate SQL, run it, then return. Agents time out waiting.
- Trusting the docs over the server. Docs drift. The
tools/listresponse does not.
Warehouse MCP Glossary
Five terms do most of the work in this space, and vendors name them differently.
| Term | What it means |
|---|---|
| Semantic layer | Reviewed definitions of your metrics and dimensions. The agent asks; the layer writes the SQL. |
| Genie space | Databricks' semantic surface. A curated set of tables plus instructions, scoped to one subject area. |
| Cortex Analyst | Snowflake's semantic tool. Answers business questions against semantic views you define in the account. |
| Gated SQL | A raw query tool with limits attached, usually read-only plus a timeout and a row cap. |
| Metadata tool | Lists datasets and describes tables. Cheap, safe, and the reason generated SQL stops guessing. |
| Service identity | The agent's own account. Carries its own grants, its own audit trail, and its own cost line. |
How MCP Playground Helps
Managed warehouse servers are remote HTTP endpoints with bearer or OAuth auth, which means you can inspect one in a browser before writing any agent code. Paste the URL into the MCP server tester, complete auth, and read the real tool list, the real input schemas and the raw JSON-RPC responses. That is how you find out a semantic call is asynchronous, or that a tool you designed around is not visible to the role you connected with. From there you can open the Snowflake server page or the full server directory for setup details, then run a live model against your tools in Agent Studio.
Frequently Asked Questions
What is a data warehouse MCP server?+
Which data warehouses have official MCP servers?+
Should the agent use a semantic layer or raw SQL?+
How do I stop an agent writing to the warehouse?+
Is a read-only warehouse agent safe?+
What does running a warehouse agent cost?+
What tools does the BigQuery MCP server expose?+
Databricks vs Snowflake MCP server: which should I choose?+
Does dbt have an official MCP server?+
Is a data warehouse MCP server the same as text-to-SQL?+
Is there a Redshift MCP server?+
Can I connect a warehouse MCP server to Claude or ChatGPT?+
Start With One Question, Not a Platform
A warehouse MCP server is the highest-leverage thing you can hand an agent. The joins already happened, the governance already exists, and every answer is auditable.
Get two decisions right and the rest is detail. Ask through a semantic layer, and connect with an identity that can only read.
Pick the question your team waits on most this week and build that one agent. Inspect the server in a browser before it ever sees a production credential.
Test your warehouse MCP server in the browser Paste the URL, complete auth, and inspect every tool and raw response. No install, no sign-up. Test any MCP server free โ Scan your MCP server โ
Written by Nikhil Tiwari
15+ years in product development. AI enthusiast building developer tools that make complex technologies accessible to everyone.
Free MCP Tools (no install)
Build, compare & ship MCP agents
Connect any MCP server, run evals on it, compare 60+ models side-by-side, deploy hosted servers, and save reusable agents you can export as an API โ all in your browser.