Building AI Agents with Fabric IQ MCP Server
An AI agent reaches Power BI reports and semantic models through one read-only, permission-aware MCP endpoint.
Most AI agents fail at business questions for a simple reason: they cannot reach the governed numbers. The Fabric IQ MCP server changes that for Power BI. It is a remote Model Context Protocol (MCP) endpoint that lets an AI agent find reports and semantic models, read their structure and run DAX queries, using the permissions of the person who signed in. Microsoft lists it as generally available.
This guide is for BI leaders and architects deciding whether to put agents in front of their semantic models. You will see what the server does, which tools it exposes, how security works, and the limits to plan around before you roll it out.
Why Agents Need Governed Access to BI
Without a governed route, teams copy data into prompts or build one-off connectors, and every copy escapes row-level security and the model owner's definitions of revenue, margin or churn. An agent that queries the semantic model itself inherits those definitions, so an answer about "last quarter's churn" uses the same measure as the executive dashboard.
MCP is the open standard that makes this repeatable. Instead of a custom integration per tool, any MCP-compatible client can call the same server. If you are weighing MCP against direct APIs or command-line tools, our MCP vs CLI vs API decision framework covers the trade-offs.
"An agent that queries the semantic model inherits your definitions. An agent that queries a copy invents its own."
What the Fabric IQ MCP Server Is
Fabric IQ MCP is an MCP server, not a REST API, so clients follow the MCP lifecycle and call tools. It is read-only and it has no built-in natural-language answering tool. The calling agent chooses which tools to use, writes the DAX and explains the result. That keeps the intelligence in your agent and the data access in Fabric.
It works with Power BI reports and semantic models only. A report does not need Fabric or Premium capacity to be reachable, but the tenant's home region must support all Fabric workloads. Sovereign clouds and Power BI-only regions are not supported.
The Six Tools an Agent Gets
Microsoft documents six tools. Clients should still call the server's tools/list at runtime rather than hard-coding names, because the list and its schemas are authoritative.
| Tool | What the agent uses it for |
|---|---|
| DiscoverArtifacts | Search reports and semantic models by name |
| ResolveFabricItem | Turn a supported Fabric item URL into an item the other tools can use |
| GetReportMetadata | Read a report's metadata |
| GetSemanticModelSchema | Read tables, columns and measures of a model |
| ValueSearch | Find stored values in a model, when available |
| ExecuteQuery | Run a DAX query against one semantic model |
A typical agent run is short: discover the model, read its schema, write a DAX query, run it, then explain the result. Because the schema comes from the model itself, well-named tables, measures and descriptions directly improve answer quality. This is the same discipline we recommend in our Power BI consulting work.
Microsoft also recommends pairing the server with the Fabric IQ skill, part of its Skills for Fabric package. The skill teaches the agent how to identify Power BI content, interpret report and model context, and sequence the six tools to answer a business question. The server works without it, but your client then has to supply that orchestration and those guardrails itself.
Anatomy of an Agent Session
The sequence below is an illustration, not a recorded transcript. Imagine an analyst asks an agent: "Which region had the biggest drop in on-time delivery last quarter?" A well-behaved agent works through the tools in a predictable order.
Notice that the server never decides what the answer means. It supplies discovery, structure and execution. That division of labour is why the quality of your model matters more than the choice of agent: the agent can only reuse measures and names that exist.
Making Semantic Models Agent-Ready
Microsoft documents the server, not model hygiene, so the following are our recommendations from Power BI delivery work. They cost little and they directly reduce wrong or ambiguous answers.
| Practice | Why it helps an agent |
|---|---|
| Use plain, consistent table and column names | The agent matches the question's words to the schema, so cryptic names cause wrong joins |
| Add descriptions to measures and key columns | Descriptions tell the agent what a measure means and when to use it |
| Hide technical and helper columns | A smaller visible schema leaves fewer wrong choices |
| Keep one definition per KPI | Duplicate measures with similar names produce inconsistent answers |
| Test row-level security with real roles | Agents inherit it, so gaps become visible to a wider audience |
| Monitor refresh success | Answers are only as current as the last successful refresh |
Security: Existing Permissions Still Apply
Authentication is delegated OAuth 2.0 through Microsoft Entra ID, with the Power BI Service permissions Item.Read.All and Item.Execute.All. The server grants no extra access: the agent sees what the signed-in user can see, and row-level and object-level security still apply. Service principals and application-only authentication are not supported, and there is no administrator-impersonation path, so there is no background identity with broad rights.
Two consequences matter for governance. First, agent answers are only as private as the user's own access. Microsoft notes that a user does not need a workspace role or Build permission on a semantic model to query it through the server, so review everyone who can open your sensitive models, not just the people who build on them. Second, the two permissions do not require administrator consent by default, which means users can usually consent themselves unless your tenant restricts user consent or routes requests through an approval workflow. Involve your identity team early to decide which of those you want. Our data governance consulting team helps set these rules.
Limits to Plan Around
Several constraints shape what you can promise your business users:
| Limit | What it means |
|---|---|
| Power BI reports and semantic models only | No dashboards, paginated (RDL) reports or Power BI apps. Fabric ontologies and data agents are not currently supported either; ontologies have a separate Ontology MCP server, which is in preview |
| One model per query | No cross-model joins in a single call; the agent can combine separate results |
| 250 rows by default | Use maxRows for more; large results return as embedded CSV, and client support varies |
| Refresh-bound freshness | Answers reflect the latest successful semantic model refresh |
| Power BI throttling | Rate-limit errors are retryable, so clients should back off |
| Read-only | No workspace administration or item creation; use Skills for Fabric with the broader Fabric MCP servers for that |
Microsoft's quickstart connects GitHub Copilot CLI to the endpoint https://fabriciq.svc.cloud.microsoft/v1/mcp/fabriciq using a preregistered Entra app, so no custom app registration is needed. Other clients must support Streamable HTTP and the OAuth flow, and some need a single-tenant Entra app registration. Check the current documentation before you standardise on a client.
Operational Details Admins Should Know
A few details from Microsoft's documentation affect how you deploy and support the server. If your organisation uses private links, the endpoint host differs from the standard one: use https://api.fabric.microsoft.com/v1/mcp/fabriciq instead, and confirm the address with your network team. Clients should also send the X-Variants header with the value Fabric.Routing.FabricIQ.V1 on every MCP request, including initialize, tools/list and tools/call, which pins the tool contract version. The v1 in the endpoint path is just the address, not the contract version.
Governance has one trap. The Power BI tenant setting for the Power BI MCP server endpoints (preview) does not control Fabric IQ MCP, so do not assume that switch governs agent access. Use Entra consent policy, Fabric permissions and your client approval rules instead.
| Symptom | What to check first |
|---|---|
| Sign-in window does not open | The client may lack OAuth discovery support or need a single-tenant app registration |
| Authentication fails | Token validity and audience, the two required permissions and tenant consent policy |
| Unexpected tool list | The X-Variants header, then restart the connection |
| Item not found | User access, a more specific name or a supported browser URL; do not use Power BI share links |
| Stale numbers | The semantic model's refresh history |
Finally, watch query load. Every question an agent asks becomes a DAX query against the semantic model, and Power BI throttling applies. If the model sits on Fabric or Premium capacity, that load lands on the capacity, so add agent traffic to your capacity monitoring from day one; our Fabric observability guide shows how.
Where It Fits in Your Analytics Stack
Think of Fabric IQ MCP as the question-answering path, and keep authoring elsewhere. Microsoft's separate Power BI Authoring MCP server (formerly the Modeling MCP server) is for building and changing semantic models, and our guide to the Power BI Authoring (formerly Modeling) MCP covers that side. A common pattern is to use the authoring server to build and document a model, then use Fabric IQ so that everyone else can ask it questions. Fabric IQ MCP is the right tool when a developer, analyst or agent needs to ask a trusted model a question.
Good early use cases are an analyst assistant inside a developer tool, a support agent that checks a metric before answering, and a testing agent that validates measures against expected values. Avoid exposing it to large audiences until you have measured the query load it creates.
- Fabric IQ MCP gives agents read-only, permission-aware access to Power BI reports and semantic models.
- The agent writes the DAX and explains the answer; the server supplies discovery, schema and execution.
- Row-level and object-level security still apply, and service principals are not supported.
- Plan for 250-row default results, one model per query and refresh-bound freshness.
- Pair the server with Microsoft's Fabric IQ skill, and invest in clean model naming and descriptions first.
A Practical Rollout Plan
Numlytics helps teams prepare semantic models for AI, from naming and security to AI and machine learning services. Speak with a certified consultant to plan a pilot.