Skip to the page
Tecyfy

MCP servers for Databricks, Snowflake, BigQuery and Fabric

All 4 data platforms now host their own MCP servers, so Claude, ChatGPT, Cursor or your own agent can query them without a server of yours. They split into 2 kinds: servers that answer a question through the platform's semantic layer, and servers that hand your agent a SQL tool. Which server each platform offers, how to connect it, whose permissions it runs with, and the limits to know.

Tecyfy · Published · 9 min read

Blueprint drawing of a plug on a cable fitted into a wall socket, with a stack of database drums lit up above the socket

Databricks, Snowflake, BigQuery and Microsoft Fabric each host their own MCP servers now, so Claude, ChatGPT, Cursor or an agent you build can work with your data with no server of your own to run. They come in 2 kinds, and the kind matters more than the platform. Some answer a question through the platform's own semantic layer: Databricks' Genie One, a Snowflake Cortex Agent, a Fabric data agent. Others give your agent a SQL tool and leave the writing of the query to it: Databricks SQL, Snowflake's SQL execution tool, BigQuery, Fabric's Data Warehouse server.

Databricks says it plainly in its docs: answers grounded in its semantic layer are more accurate than an agent writing SQL directly against raw tables, because the layer already knows what "active customer" means. Snowflake gives the same advice for its Cortex Agents. BigQuery's server has no question-answering tool, so there the quality of the answers rests on how well your tables and columns are named and described.

The servers, by job

JobDatabricksSnowflakeBigQueryFabric
Answer a question in business wordsGenie One MCP, GACortex Agent tool on your MCP serverNone: the agent writes SQLPublished data agent (Fabric IQ, GA, has no answering tool: the agent writes DAX against Power BI models)
Run SQL you or the agent wrotesystem.ai.dbsql, BetaSYSTEM_EXECUTE_SQL toolexecute_sql, execute_sql_readonly, GAData Warehouse MCP, Preview
Manage the platformRegister your own serverYour stored procedures as toolsCloud CLI MCP (Preview), Data Transfer MCP (GA)Fabric Core MCP, GA
Who sets it upNothing to create; grants on each MCPYou create the server object and list its toolsOn with the BigQuery APIHosted addresses; a data agent must be published first

Snowflake is the odd one out in how it works. Its server is an object you create in a schema, with a YAML list of tools, so 2 teams can publish 2 servers with different tools and roles. The others host fixed servers, and you control them with grants and identity.

Pick a platform and a job to see the server, its address, the access it needs and the catch:

Try itWhich MCP server, and what it needs
Platform
Status
Generally available since 25 September 2026
Address
https://<workspace>/ai-gateway/mcp-services/system.ai.genie_one_mcp
Access
A grant on the MCP, which is a Unity Catalog securable, plus the caller's own rights on the data
Watch for
The old Beta address /api/2.0/mcp/genie stops on 31 October 2026

On Databricks, use Genie One MCP (system.ai.genie_one_mcp).

From each maker's own documentation, read 23 October 2026. Preview and Beta servers change; check the status before you build on one.

Connecting Claude Code, and the other clients

Each maker documents its own route, and they differ in who registers the OAuthOAuthThe standard way to let one app act for you at another service without giving it your password; the app gets a limited, revocable access token instead. MCP servers use it to let AI agents sign in. client.

Databricks ships ready OAuth clients for Claude Code, Claude, ChatGPT, Codex and Cursor (generally available since 27 October 2026), so no admin has to create one, and one command adds a server:

claude mcp add --transport http --scope user \
  --client-id https://claude.ai/oauth/claude-code-client-metadata \
  --callback-port 3118 \
  databricks-genie \
  "https://<workspace-hostname>/ai-gateway/mcp-services/system.ai.genie_one_mcp?o=<workspace-id>"

Then type /mcp in Claude Code and sign in with your Databricks account. Databricks' ug command (ug mcp add --agents claude) does the same and keeps the credentials fresh. If you used Genie over MCP during its Beta, move now: the old address, /api/2.0/mcp/genie, stops working on 31 October 2026.

Snowflake needs 2 things first: the MCP server object and an OAuth security integration. For Claude Desktop, create the integration as a public client (PKCE, no secret) with the redirect address https://claude.ai/api/mcp/auth_callback, then add a custom connector with the server's address and the client id; clients that can store a secret, such as VS Code or Cursor, use a confidential client with the id and secret; Cursor takes the same in mcp.json. One detail breaks connections: write the account's hostname with hyphens, not underscores.

BigQuery works through Google's OAuth. For Claude Code and Claude Desktop, Google's docs say to create an OAuth client of type Web application with the redirect address https://claude.ai/api/mcp/auth_callback, then add https://bigquery.googleapis.com/mcp as a custom connector with that client id and secret.

Fabric signs you in with Microsoft Entra ID in the browser. Its Data Warehouse server, for one, is a single entry in VS Code's MCP settings:

{
  "servers": {
    "fabric-warehouse": {
      "type": "http",
      "url": "https://api.fabric.microsoft.com/v1/mcp/dataPlane/sqlEndpoint"
    }
  }
}

Whatever the client, test with a tool call, not a chat answer: ask the agent to list the server's tools and run one read. A fluent answer without a tool call does not prove the server is connected. If you are still choosing the client, our Claude Code vs Cursor vs Codex comparison covers how each handles MCP, and the Claude Code MCP guide covers scopes and sign-in.

Whose permissions run the query

None of these servers has rights of its own. Each acts as the person, or the service identity, that signed in. That is good news for governance, and a trap if the person who signs in is an admin.

Runs asWhere you limit it
DatabricksThe signed-in userGrants on each MCP in Unity Catalog, plus the user's rights on tables and warehouses
SnowflakeThe user's DEFAULT_ROLE (Claude cannot pick another role)Grants on the server and on every tool; ALLOWED_ROLES_LIST on the OAuth integration
BigQueryThe Google identity; Google recommends a separate one for agentsIAM roles; an IAM deny policy on execute_sql
FabricThe Entra ID userFabric workspace roles; Power BI row-level and object-level security still apply

The Snowflake row is the one to read twice. Claude requests the session:role:all scope, so the session uses whatever the user's default role is. If that is ACCOUNTADMIN, so is the agent. Snowflake's advice is a dedicated, least-privileged MCP access role, granted only to the people who need it and named in the OAuth integration's ALLOWED_ROLES_LIST, never PUBLIC.

Guardrails to set on the first day

  1. Keep SQL tools read-only. Snowflake's SQL tool is read-only unless you set read_only: false. BigQuery has a read-only tool and a read-write one, and execute_sql is the only one that can change data: block it with an IAM deny policy unless the agent truly needs it.
  2. Separate answering from raw SQL. Snowflake recommends a Cortex Agent as the only tool on a server for business questions, with raw SQL on a second server with a smaller role; otherwise the client can go around the semantic views. The same thinking applies to Genie One beside system.ai.dbsql.
  3. Watch the management servers. Fabric Core can create and delete workspaces and change who has access. Microsoft warns that a misconfigured client can do destructive things; keep your client's approval prompt on for it.
  4. Tag and trace. BigQuery tags every query the MCP server runs with goog-mcp-server:true, so you can find them in job history. Databricks' system.ai servers go through Unity Gateway, which traces each call; the legacy workspace addresses do not.
  5. Know where answers go. Microsoft says a Fabric data agent's replies may leave Fabric's compliance boundary and region once an outside MCP client receives them. That holds for every platform here: the answer ends up in the client's model provider.

Before adding any third-party server beside these, read how to vet an MCP server: Snowflake's own docs warn of tool poisoning and tool shadowing when servers are mixed without checking.

Limits worth knowing before you build

PlatformLimit
BigQueryBy default a query stops after 3 minutes; results are capped at 3,000 rows; no Google Drive external tables
Snowflake50 tools a server; SQL and custom tool replies cut at 250 KB; agent replies can reach 200 KB or more; no MCP resources, prompts or sampling; at most 10 nested agent calls
Databrickssystem.ai.dbsql, sandbox and web_search are Beta and need an account admin to turn them on; the sandbox has no network access
FabricThe Data Warehouse server is in preview; a data agent needs an F2 or larger capacity, or P1

The row limits shape what an agent can do. An agent that pulls 3,000 rows into its context to add them up has already gone wrong: the sum belongs in the SQL. Say so in your instructions to the agent: aggregate in the warehouse and bring back only the answer.

Which to start with

If your company already defines its metrics in a semantic layer, start with the server that answers through it: Genie One on Databricks, a Cortex Agent on Snowflake, a data agent on Fabric (Fabric IQ gives the agent read-only DAX tools on Power BI models, but the agent writes the query). The Semantic LayerSemantic LayerOne shared definition of business terms and metrics, such as revenue or active customer, that reports, dashboards and AI assistants all read instead of writing their own. is what makes those answers consistent, and Genie, Genie One and Genie Code explains the Databricks side in more depth.

If you want an engineer's assistant that writes and runs queries, a SQL tool is the right kind: BigQuery's server, system.ai.dbsql or Snowflake's SQL tool, with a read-only role. Expect it to make the mistakes of Text-to-SQLText-to-SQLA model turning a question in plain words into a database query, so people can ask the data directly. It is only as right as its knowledge of the tables and their meaning. on poorly described tables, and write column descriptions before you blame the model.

When none of these fits, build your own: how to build an MCP server in Python shows the steps, and the Model Context ProtocolModel Context ProtocolAn open standard for connecting AI applications to tools and data. A system offered once as an MCP server works in any application that speaks MCP. concept explains what a server can offer beyond tools.

Questions

Does Databricks have an MCP server?
Yes. Databricks hosts MCP servers in the system.ai schema of Unity Catalog, reached through Unity Gateway at https://<workspace>/ai-gateway/mcp-services/<name>. The Genie One MCP server (system.ai.genie_one_mcp) answers questions in business words and has been generally available since 25 September 2026; system.ai.dbsql runs SQL on a SQL warehouse and is in Beta.
How do I connect Claude Code to Databricks with MCP?
Run claude mcp add --transport http --scope user --client-id https://claude.ai/oauth/claude-code-client-metadata --callback-port 3118 databricks-tools followed by the server address, https://<workspace>/ai-gateway/mcp-services/system.ai.genie_one_mcp?o=<workspace-id> for Genie One. Then type /mcp in Claude Code and sign in with your Databricks account. Databricks' ug command can do the same setup for you.
Does Snowflake have an MCP server?
Yes. The Snowflake-managed MCP server is an object you create with CREATE MCP SERVER ... FROM SPECIFICATION, listing the tools it offers: Cortex Agents, Cortex Analyst on semantic views, Cortex Search, a SQL execution tool and your own UDFs or stored procedures. Clients connect to https://<account>/api/v2/databases/<db>/schemas/<schema>/mcp-servers/<name> with OAuth.
What is the BigQuery MCP server?
Google's remote BigQuery MCP server at https://bigquery.googleapis.com/mcp lets an AI application list datasets and tables, read table metadata and run SQL with execute_sql or execute_sql_readonly. It has been generally available since 20 April 2026, is on by default when the BigQuery API is on, and by default stops a query after 3 minutes, and returns at most 3,000 rows.
Does Microsoft Fabric have an MCP server?
Fabric has several. Fabric Core MCP (generally available) manages workspaces, items and permissions; Fabric IQ MCP (generally available) runs read-only DAX on Power BI semantic models; a published Fabric data agent becomes an MCP server with one tool; and the Data Warehouse MCP server, in preview, runs T-SQL.
Is it safe to let an AI agent query my data warehouse through MCP?
It is as safe as the identity it runs with. Every one of these servers acts with the signed-in user's own permissions, so give the agent a least-privileged role or a separate identity, prefer read-only tools, and block the read-write ones: an IAM deny policy on execute_sql in BigQuery, read_only on Snowflake's SQL tool, and grants on each Databricks MCP.