Ravi Chandu Edru/ articles
← Back to articles

fabric-iq

Set up Fabric IQ MCP in Claude Code, step by step

Connect Claude Code to your Power BI semantic models with Microsoft's Fabric IQ MCP server: sign in, install the plugin, check the connection, work around the one gotcha, and ask your first question. Every command is copy and paste.

Oct 8, 2026 · 9 min read

Fabric IQ MCP lets Claude ask questions of your Power BI reports and semantic models, in plain English, using the measures and rules already in your model. This guide sets it up in Claude Code, one step at a time. Every command has a Copy button.

You'll do this once. After that it works in every folder you open Claude in.

How it fits together

PieceWhat it is
Claude CodeThe AI. It writes the queries and explains the answers
MCPModel Context Protocol: a standard way for an AI to use tools and data
Fabric IQ MCP serverMicrosoft's server. It gives Claude six read-only tools over your Power BI content
Fabric IQ skillInstructions that teach Claude how to use those tools well

The six tools:

ToolJob
DiscoverArtifactsFind a report or semantic model by name
ResolveFabricItemTurn a pasted report link into an item the other tools can use
GetReportMetadataRead how a report is built: pages, visuals, filters
GetSemanticModelSchemaRead tables, measures and the model's AI instructions
ValueSearchFind exact stored values, like a product or a reason
ExecuteQueryRun a DAX query and return the rows

All six are read-only. Claude can look, never change.

Before you start

  • A work or school account (Microsoft Entra). Personal Microsoft accounts and service principals aren't supported.
  • Access to at least one Power BI report or semantic model. Fabric IQ uses your existing permissions. If you can open the report, Claude can query it, and row-level security still applies.
  • A tenant in a region that supports all Fabric workloads. Fabric IQ MCP isn't offered in Power BI-only regions or sovereign clouds.
  • Claude Code and the Azure CLI installed.

You don't need Build permission or a Premium or Fabric capacity. If your model does sit on a Fabric capacity, the capacity has to be running: a paused capacity answers every call with CapacityNotActive.

Step 1: Sign in with the Azure CLI

az login --tenant <your-tenant-id> --allow-no-subscriptions

Why: Microsoft's plugin uses this sign-in to get a Fabric token for every call, so no keys or passwords go into a config file. --allow-no-subscriptions lets you sign in even if your account has no Azure subscription, which is common for Power BI users.

Check you're in the right tenant:

az account show --query tenantId --output tsv

Step 2: Add Microsoft's plugin marketplace

claude plugin marketplace add microsoft/skills-for-fabric

Why: think of this as adding an app store to your phone. Nothing is installed yet. It tells Claude Code where to find Microsoft's official Fabric plugins, from the microsoft/skills-for-fabric repo, which publishes a catalogue called fabric-collection.

Step 3: Install the Fabric skills plugin

claude plugin install fabric-skills@fabric-collection

Why: this installs the fabric-skills plugin from that fabric-collection store. One install gives Claude two things:

  • The Fabric IQ MCP server, the hands: the connection to your Power BI data, with the six tools.
  • The Fabric IQ skill, the know-how: read the model's rules first, check approved answers, match exact names, then write DAX, and never make up data.

It also adds two more servers you won't need for this guide: powerbi-modeling-mcp, which creates and edits semantic models through Microsoft's hosted Power BI modeling service, and fabric-sqlendpoint, which runs T-SQL against a warehouse or a SQL analytics endpoint, such as a lakehouse's. Microsoft packages all three in the one fabric-skills plugin.

Step 4: Open a folder, start Claude, check the connection

Fabric IQ reads your data from Microsoft Fabric, not from files on your computer, so any folder works. Use a folder of its own, not your home folder, so Claude doesn't ask to trust your whole user profile.

mkdir C:\fabric-iq-demo
cd C:\fabric-iq-demo
claude

Claude starts in the same terminal. At Claude's > prompt, type:

/mcp

You should see plugin:fabric-skills:FabricIQ connected. Select it and choose View tools to see the six tools, each marked read-only.

Why: installing only saves the settings. The connection happens when Claude starts, and it can fail quietly, for example if you aren't signed in. /mcp is the real check.

Step 5: Ask your first question

Start with a test that proves sign-in, permissions and tools in one go:

Find the Sales report in Microsoft Fabric.

Use your own report's name. If Claude finds nothing, give it the report's link instead.

Get your report's link:

  1. Open app.powerbi.com and go to the workspace that holds the report.
  2. Open the report.
  3. Click the browser's address bar and copy the whole address.

It looks like this:

https://app.powerbi.com/groups/<workspace-id>/reports/<report-id>

Paste it into Claude with your question:

Use this report: https://app.powerbi.com/groups/<workspace-id>/reports/<report-id>
What were net sales last month?

Fabric IQ reads the IDs from the link itself, so you don't need to find them. A semantic model's link works too (.../groups/<workspace-id>/datasets/<model-id>).

Then ask a real question:

What were net sales last month, and how does that compare with the same month last year?

If Claude finds your report but its answer has no numbers, only the report's name and link, that's not your setup. It's a known issue in Claude Code, and Step 6 fixes it.

Step 6: The Claude Code gotcha (and the fix)

If your question in Step 5 came back with Claude saying that every query returned only the report's name and link, and no numbers, here's why. Fabric IQ puts the query results in one part of its reply and only a citation in another, the structured part. Claude Code passes the structured part to the model when it's present, so the model gets the citation and loses the data. It's tracked in microsoft/skills-for-fabric#99, and only a change to the server will fix it properly.

Until then, I use a small local adapter: fabriciq-compat. It sits between Claude Code and Fabric IQ, forwards only the six read-only tools, and folds the reply back together so Claude receives the rows, the DAX errors and the citation. It signs in with your Azure CLI account, needs only Python, and stores nothing.

Type /exit to leave Claude and get back to the PowerShell prompt. Then download the adapter into your folder:

Invoke-WebRequest -Uri https://gist.githubusercontent.com/RaviChanduEdru/6c4fb6edc17a4ee91658fca74c689d24/raw/fabriciq_compat.py -OutFile fabriciq_compat.py

Still at the PowerShell prompt, add it to Claude Code:

claude mcp add --scope user fabriciq-compat -- python C:\fabric-iq-demo\fabriciq_compat.py

Start Claude again from the same terminal, then check the servers at Claude's prompt:

claude
/mcp

In the list, select plugin:fabric-skills:FabricIQ and choose Disable. Then check that fabriciq-compat shows connected, with six tools.

Now ask your question from Step 5 again. This time Claude gets the numbers. Then follow the answer, one question at a time:

Where are we losing most of our revenue?
Why? Break that down by department and return reason.

Best tip: get your model ready for AI

Fabric IQ doesn't write the answer. Claude does, using what the schema tool hands it from your model:

Model metadataWhat it does for Claude
AI instructionsYour business rules, for example "Sales" means [Net Sales] or show money with two decimals
Verified answersApproved questions with exact visuals and filters. Claude reproduces them as written
Descriptions and synonymsHelp Claude find the right column or value, like a return reason called "Too small"

Add them in Power BI with Prep data for AI on the semantic model. Better metadata, better answers.

Troubleshooting

What you seeWhat to do
FabricIQ not connected in /mcpRun Step 1 again, then restart Claude (/exit, then claude)
Only the report name and link, no numbersThat's the gotcha: follow Step 6
CapacityNotActiveThe model's Fabric capacity is paused: resume it
The report isn't foundPaste the report URL from your browser, or use a more specific name
fabriciq-compat not in /mcpType /exit, run the claude mcp add command at the PowerShell prompt (not Claude's > prompt), then run claude again
A permission error on a tool callCheck you can open that report in Power BI with the same account

What you set up

  • The Azure CLI signed in to your tenant
  • Microsoft's Fabric skills plugin: the Fabric IQ MCP server and the Fabric IQ skill
  • The fabriciq-compat adapter, until the server fix lands
  • A working first question, answered from your own semantic model

Sources: Get started with the Fabric IQ MCP server (Microsoft Learn) · Skills for Fabric MCP setup (GitHub) · Fabric IQ skill (GitHub)

Discuss this post