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.
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
| Piece | What it is |
|---|---|
| Claude Code | The AI. It writes the queries and explains the answers |
| MCP | Model Context Protocol: a standard way for an AI to use tools and data |
| Fabric IQ MCP server | Microsoft's server. It gives Claude six read-only tools over your Power BI content |
| Fabric IQ skill | Instructions that teach Claude how to use those tools well |
The six tools:
| Tool | Job |
|---|---|
DiscoverArtifacts | Find a report or semantic model by name |
ResolveFabricItem | Turn a pasted report link into an item the other tools can use |
GetReportMetadata | Read how a report is built: pages, visuals, filters |
GetSemanticModelSchema | Read tables, measures and the model's AI instructions |
ValueSearch | Find exact stored values, like a product or a reason |
ExecuteQuery | Run 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-subscriptionsWhy: 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 tsvStep 2: Add Microsoft's plugin marketplace
claude plugin marketplace add microsoft/skills-for-fabricWhy: 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-collectionWhy: 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-democd C:\fabric-iq-democlaudeClaude starts in the same terminal. At Claude's > prompt, type:
/mcpYou 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:
- Open app.powerbi.com and go to the workspace that holds the report.
- Open the report.
- 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.pyStill at the PowerShell prompt, add it to Claude Code:
claude mcp add --scope user fabriciq-compat -- python C:\fabric-iq-demo\fabriciq_compat.pyStart Claude again from the same terminal, then check the servers at Claude's prompt:
claude/mcpIn 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 metadata | What it does for Claude |
|---|---|
| AI instructions | Your business rules, for example "Sales" means [Net Sales] or show money with two decimals |
| Verified answers | Approved questions with exact visuals and filters. Claude reproduces them as written |
| Descriptions and synonyms | Help 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 see | What to do |
|---|---|
FabricIQ not connected in /mcp | Run Step 1 again, then restart Claude (/exit, then claude) |
| Only the report name and link, no numbers | That's the gotcha: follow Step 6 |
CapacityNotActive | The model's Fabric capacity is paused: resume it |
| The report isn't found | Paste the report URL from your browser, or use a more specific name |
fabriciq-compat not in /mcp | Type /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 call | Check 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)