How to Connect Claude to Microsoft Fabric Through MCP

Run a Fabric MCP server, authenticate it with a dedicated Microsoft Entra identity that has access only to the workspaces the agent needs, and register it with Claude Desktop or Claude Code. Start with read-only exploration of lakehouses and warehouses. Add write operations such as running pipelines only after you have logging and review in place.

What the connection is for

Microsoft Fabric brings lakehouses, warehouses, pipelines, notebooks, and reports into one platform organised by workspace. An MCP server for Fabric exposes that platform to an agent: list workspaces and items, inspect table schemas, run queries, and in some configurations create or modify items.

The value is speed on the tedious parts of data work. An analyst can ask which tables in a lakehouse hold customer order data, have the agent inspect the schemas, draft a query, run it against a small sample, and explain the result. Work that meant clicking through several panes becomes a conversation.

Setup, in order

Microsoft publishes a hosted Fabric Core MCP server, in public preview at the time of writing, that exposes the Fabric REST APIs as MCP tools and authenticates through browser-based OAuth with Microsoft Entra ID. Microsoft documents it as working with MCP clients including Claude Desktop. That is the shortest route: point the client at the hosted endpoint and sign in, rather than running a server yourself. Self-hosted and community servers remain an option where you need tools the hosted one does not expose, or where policy keeps the connection inside your own network.

Preview status matters for planning: endpoints, tool names, and configuration can change, so pin the current documentation rather than a blog post, and expect to revisit the setup.

Product screens and server options change, so follow this sequence and check the current server documentation for exact commands.

1. Create a dedicated identity

Register a service principal or dedicated account in Microsoft Entra ID for the agent. Do not reuse a personal or administrator account. Every action the agent takes will be attributed to this identity.

2. Grant workspace access narrowly

Add that identity to only the workspaces the agent should see, with the lowest role that supports the intended work. A viewer-level role is the right starting point for exploration.

3. Run the MCP server

Install and configure the Fabric MCP server with the identity's credentials. Keep secrets in environment variables or a secret store, not in a checked-in configuration file.

4. Register it with Claude

Add the server to Claude Desktop or Claude Code's MCP configuration, restart, and confirm the Fabric tools are listed. Ask for a list of workspaces as a first test; you should see exactly the ones you granted.

What to let it do first

  • Explore. List items, describe tables, find where a field lives. This is safe and immediately useful.
  • Draft queries. Have the agent write SQL against a warehouse or lakehouse endpoint, run it with a row limit, and explain what it returned.
  • Document. Ask for a summary of a workspace's items and how they connect. Agents are good at producing the documentation nobody wrote.

Hold back on writes. Creating items, modifying pipelines, or triggering runs can consume capacity and change production data flows. Add those abilities individually, with a human approving each action until you have a track record.

The gap the schema does not fill

The agent can see that a table has a column named status with values 1 through 5. It cannot see that 4 means refunded but only after March, when the codes changed, or that finance excludes internal test accounts from every revenue figure.

That knowledge lives in data dictionaries, wiki pages, old tickets, and people's heads. Without it the agent writes queries that run correctly and answer a slightly different question than the one asked, and returns a confident number anyway.

Write the definitions and caveats down, index them, and connect that index alongside the Fabric server. The agent then retrieves the relevant definition before drafting a query instead of inferring meaning from column names.

Guardrails worth having

  • Row limits by default. Instruct the agent to sample before running full queries, so exploration does not scan large tables or eat into capacity.
  • Logging. Keep the MCP server's logs and review what the agent ran in the first weeks.
  • Separate environments. Point the agent at development or test workspaces before production ones.
  • Sensitive data. If workspaces hold personal or regulated data, check whether results flowing to a hosted model are acceptable under your policies before connecting them at all.

None of these slow down the useful work much. They make the difference between an experiment that gets approved for wider use and one that gets shut down after its first surprise.

Frequently asked questions

Can Claude query Microsoft Fabric directly?
Through an MCP server, yes. The server authenticates to Fabric and exposes tools for listing items, inspecting schemas, and running queries. Claude Desktop or Claude Code connects to the server as an MCP client. What Claude can reach is exactly what the server's identity can reach, so scoping that identity is the key decision.
What permissions should the agent have in Fabric?
Start with a dedicated identity added to only the workspaces it needs, at the lowest role that supports exploration and queries. Avoid administrator or contributor roles until you have a specific need, logging, and a review process. Expand one capability at a time, and remove access the agent is not using.
How is this different from connecting an agent to Power BI?
Power BI connections usually target a semantic model with governed measures, which constrains how the agent aggregates data. Fabric exposes the broader platform: raw lakehouse tables, warehouses, pipelines, and notebooks. That is more powerful and less constrained, so business definitions and guardrails matter even more when the agent writes its own queries.
Does data leave Fabric when Claude queries it?
Query results are returned to the agent and become part of its context, which means they are sent to the model provider serving that agent. Check your data classification and provider agreements before connecting workspaces with personal or regulated data, and prefer aggregated or sampled results for exploratory work.