---
title: "How to Connect AI Agents to Power BI With the Remote MCP Server"
url: "https://atlan.com/know/ai-agent/microsoft/connect-ai-agents-power-bi-remote-mcp-server/"
description: "Connect AI agents to Power BI semantic models: pick Fabric IQ MCP or the remote Consumption endpoint, paste the config, sign in, and fix common errors."
author: "Emily Winks"
author_role: "Data Governance Expert"
published: "2026-11-03"
updated: "2026-11-03"
---

## How do you connect AI agents to Power BI with the remote MCP server?

Register Fabric IQ MCP, generally available since September 2026, for read-only questions over Power BI reports and semantic models. Use the remote Consumption endpoint, now in preview, only for existing integrations or Copilot-generated DAX, since it also needs an admin-enabled tenant setting and Build permission. Sign in with Entra ID as yourself, then ask the agent to find a report by name to prove the connection.

The path in four stages:

- **Pick the endpoint:** Fabric IQ MCP for questions, Authoring only to change models.
- **Clear the prerequisites:** region, tenant setting, delegated scopes and model permission.
- **Register and sign in:** paste the config block and sign in with Entra ID.
- **Test, then query:** find a report by name first, then run one DAX query.

## Key takeaways

- Microsoft now calls the remote endpoint the Power BI Consumption MCP server, in preview, and says to prefer Fabric IQ MCP.
- Fabric IQ MCP has been generally available since September 2026 and needs no Build permission or MCP tenant setting.
- The Consumption endpoint needs an admin-enabled tenant setting, Build permission on the model, and the model's ID.
- On Fabric IQ the agent writes the DAX itself, working from your model's schema.

---

To connect AI agents to Power BI, register Microsoft's Fabric IQ MCP, [generally available since September 2026](https://learn.microsoft.com/en-us/fabric/fundamentals/whats-new), and sign in with Entra ID. Microsoft now calls the remote Power BI MCP server the Power BI Consumption MCP server, in preview. In the same client, Atlan's MCP server adds glossary definitions and lineage.

### Plan Your Power BI MCP Connection

Give it your goal, tenant region, MCP client, and who signs in. It returns the endpoint to use, the permission and tenant-setting checks, and the first read-only test. [Read the skill](/skills/power-bi-mcp-connection-plan.md).

*Paste into a new chat*

```
Use the skill at https://atlan.com/skills/power-bi-mcp-connection-plan.md to plan our Power BI MCP connection. Ask me for whatever it needs.
```

*Run once in a terminal*

```
curl -fsSL --create-dirs \
  -o ~/.agents/skills/power-bi-mcp-connection-plan/SKILL.md \
  https://atlan.com/skills/power-bi-mcp-connection-plan.md
```

*For an agent*

```
curl -fsSL https://atlan.com/skills/power-bi-mcp-connection-plan.md
```


    Human
    Agent


  ClaudeChatGPTGeminiCursorOther
  Copy

---

That endpoint, `https://api.fabric.microsoft.com/v1/mcp/powerbi`, still works, yet [Microsoft's setup page for it (2026)](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started) now says: "For semantic model consumption, prefer to use the Fabric IQ MCP server." On Fabric IQ, [the calling agent composes the DAX](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp), working from what your [Power BI semantic model](https://atlan.com/know/ai-agent/semantic-layer/power-bi-semantic-model/) exposes. Atlan [crawls Power BI datasets and measures](https://docs.atlan.com/apps/connectors/business-intelligence/microsoft-power-bi/references/what-does-atlan-crawl-from-microsoft-power-bi) and [extracts dataset-to-report lineage](https://docs.atlan.com/apps/connectors/business-intelligence/microsoft-power-bi/references/what-lineage-does-atlan-extract-from-microsoft-power-bi), so the same agent, over the [Model Context Protocol](https://atlan.com/know/what-is-model-context-protocol/), can read that context from your [enterprise context layer](https://atlan.com/know/what-is-the-enterprise-context-layer/) alongside the model.

| Endpoint | Status and date | Use it for | Source |
|---|---|---|---|
| Fabric IQ MCP: `https://fabriciq.svc.cloud.microsoft/v1/mcp/fabriciq` | Generally available, September 2026 | Read-only questions over reports and semantic models | [Get started with the Fabric IQ MCP server](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp), 2026-10-21; [What's New? - Microsoft Fabric](https://learn.microsoft.com/en-us/fabric/fundamentals/whats-new) |
| Power BI Consumption MCP, the remote Power BI MCP server: `https://api.fabric.microsoft.com/v1/mcp/powerbi` | Preview; Microsoft calls it the earlier endpoint | Existing integrations; Copilot-generated DAX | [Power BI Consumption MCP server setup](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started), 2026-09-17 |
| Power BI Authoring MCP, hosted: `https://api.fabric.microsoft.com/v1/mcp/powerbi/authoring` | Preview | Creating or changing models in Fabric workspaces | [Overview of the MCP Servers](https://learn.microsoft.com/en-us/power-bi/developer/mcp/mcp-servers-overview), 2026-09-24 |
| Power BI Authoring MCP, local (stdio) | Generally available | Power BI Desktop, PBIP files, service principal | [Overview of the MCP Servers](https://learn.microsoft.com/en-us/power-bi/developer/mcp/mcp-servers-overview), 2026-09-24 |

---

## Which Power BI MCP endpoint should you use?

Microsoft runs three hosted Power BI MCP endpoints and one local server; the agent's job picks one. For questions, [Microsoft's Consumption setup page (2026)](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started) points to [Fabric IQ](https://atlan.com/know/microsoft-fabric/what-is-fabric-iq/). Item creation belongs to [Fabric's own MCP servers](https://atlan.com/know/microsoft-fabric/fabric-mcp-servers/).

The Consumption endpoint fits two cases: an existing integration built on it, which Microsoft [still documents](https://learn.microsoft.com/en-us/power-bi/developer/mcp/mcp-servers-overview), or Power BI's own DAX generation. Generate Query [uses Copilot in Power BI and needs a Copilot license](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started), and [Fabric IQ's tool list](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp) doesn't include it.

Region is the hard stop: Fabric IQ MCP [isn't available in Power BI-only regions or sovereign clouds](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp). If the IQ names blur, see [Fabric IQ, Work IQ and Foundry IQ](https://atlan.com/know/microsoft-fabric/fabric-iq-vs-work-iq-vs-foundry-iq/); for a fixed integration, weigh [when to use MCP instead of an API](https://atlan.com/know/when-to-use-mcp-vs-api/).

| | Fabric IQ MCP | Consumption endpoint | Authoring, hosted | Authoring, local |
|---|---|---|---|---|
| Status | GA, September 2026 | Preview, the earlier endpoint | Preview | GA |
| Use for | Read-only questions | Existing integrations, Copilot DAX | Building or changing models | Desktop, PBIP files, service principal |
| Tenant setting | Doesn't apply | Admin must enable it | Admin must enable it | None blocks it |
| Sign-in | Delegated Entra ID only | Signed-in user; service principal skips RLS | Entra ID as the signed-in user | Supports service principal |
| Delegated scopes | Item.Read.All, Item.Execute.All | Dataset.Read.All, MLModel.Execute.All, Workspace.Read.All | SemanticModel.ReadWrite.All, Workspace.Read.All | Not applicable |
| Model permission | Access only; no Build | Build | Write to change; Build runs DAX only | Write to change; Build runs DAX only |
| Tools | DiscoverArtifacts, ResolveFabricItem, GetReportMetadata, GetSemanticModelSchema, ValueSearch, ExecuteQuery | Execute Query, Get Semantic Model Schema, Get Report Metadata, Generate Query | Model authoring tools; DAX for validation | Model authoring tools, plus transactions and traces |
| Limits that bite | 250 rows by default; one model per query | Stateless; large schema payloads | 100,000-row DAX cap; session header required | 100,000-row DAX cap; no macOS support |

Decide in three questions:

1. Changing models? Use Authoring: local (not on macOS) for Desktop, PBIP files or a service principal, hosted (preview) otherwise.
2. Answering questions on an existing integration, or need Copilot-generated DAX? Use the Consumption endpoint (preview).
3. Otherwise, if the tenant's home region supports all Fabric workloads, use Fabric IQ MCP (GA). If it doesn't, Fabric IQ MCP isn't available to your tenant.

### What changed in September and October 2026

- **September 2026:** Fabric's [What's New](https://learn.microsoft.com/en-us/fabric/fundamentals/whats-new) lists Fabric IQ MCP Server as generally available.
- **By 2026-09-17:** the [Consumption setup page](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started), last updated that day, titles the remote endpoint "Power BI Consumption MCP server (preview)" and points consumption to Fabric IQ.
- **By 2026-09-24:** the [MCP servers overview](https://learn.microsoft.com/en-us/power-bi/developer/mcp/mcp-servers-overview), last updated that day, lists Authoring as hosted (preview) and local (generally available).
- **By 2026-10-21:** the [Fabric IQ setup page](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp), last updated that day, documents a tool-contract pin and a private-link endpoint.

Each "by" date is the page's last-updated stamp; the change may have landed earlier. Reread the two preview pages before you build.

---

## What do you need before you connect an agent to Power BI?

Prerequisites differ by server. Two of them, a tenant setting and an app registration, can need an admin.

| Prerequisite | Fabric IQ MCP | Consumption endpoint |
|---|---|---|
| Tenant region | Home region supports all Fabric workloads | Prerequisites are on [the Consumption setup page](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started) |
| Tenant setting | None; the MCP setting doesn't apply | "Users can use the Power BI Model Context Protocol server endpoint (preview)" |
| Entra app | Preregistered in GitHub Copilot CLI; some clients need your own | Preregistered in VS Code and GitHub Copilot CLI; others need your own |
| Delegated scopes | Item.Read.All, Item.Execute.All | Dataset.Read.All, MLModel.Execute.All, Workspace.Read.All |
| Model permission | Access to the report or model; no Build | Build on at least one semantic model |
| Model identifier | Name or browser URL | Semantic model ID from the URL |

Fabric IQ's two scopes [don't require administrator consent by default](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp). If sign-in still fails, check consent and scopes first.

Both columns assume a person signs in; for when an agent should run under its own identity, see [AI agent identity](https://atlan.com/know/ai-agent/ai-agent-identity/). [Governance across Fabric and Power BI](https://atlan.com/know/ai-agent/microsoft/how-does-purview-govern-microsoft-fabric-and-power-bi/) covers the controls your admins already own.

---

## How to connect an agent to Fabric IQ MCP

Five steps take a client from no configuration to a query that returns data, with a check wherever something can fail. They follow [Microsoft's Fabric IQ setup page (2026)](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp), which uses GitHub Copilot CLI.

### Step 1: Confirm the region and your access to the model

Fabric IQ needs a tenant whose home region [supports all Fabric workloads](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp). No Fabric or Premium capacity, workspace role or Build permission is needed. Pick a report or semantic model: Fabric IQ [doesn't support Power BI dashboards, paginated (RDL) reports, or Power BI apps](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp).

Check: open that report in the Power BI service as yourself.

### Step 2: Add the Fabric IQ endpoint to your MCP client

On macOS or Linux, open or create `~/.copilot/mcp-config.json`. On Windows, use `%USERPROFILE%\.copilot\mcp-config.json`. Add the configuration from [Microsoft's setup page](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp):

```json
{
  "mcpServers": {
    "FabricIQ": {
      "type": "http",
      "url": "https://fabriciq.svc.cloud.microsoft/v1/mcp/fabriciq",
      "tools": ["*"]
    }
  }
}
```

With private links, use `https://api.fabric.microsoft.com/v1/mcp/fabriciq` instead. Leave out any `Authorization` header, because a configured one [overrides interactive OAuth and automatic token management](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp). In [MCP architecture](https://atlan.com/know/ai-agent/mcp-architecture-deep-dive/) terms, the CLI is the host, as in [connecting an AI coding agent to a data warehouse with MCP](https://atlan.com/know/ai-agent/how-to-connect-ai-coding-agent-to-data-warehouse-mcp/).

### Step 3: Sign in with Entra ID and accept the permissions

Fabric IQ uses [delegated OAuth 2.0 authentication through Microsoft Entra ID](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp) with `Item.Read.All` and `Item.Execute.All`. Service-principal and application-only authentication aren't supported. Start the CLI, run `/mcp show FabricIQ`, sign in with your work or school account, and accept the permissions.

Check: the server shows as connected and lists the Fabric IQ tools.

### Step 4: Run a read-only discovery test

Ask, with your own report name: "Find the Sales Analytics report in Microsoft Fabric." The client calls `DiscoverArtifacts`, and a result [verifies authentication, your Fabric permissions, tool discovery and execution, and access to the item](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp).

Check: the report comes back by name. A browser URL works too; a Power BI share link doesn't.

### Step 5: Query a model end to end and pin the tool contract

Ask a question that needs data. Depending on the question, the agent calls `DiscoverArtifacts` or `ResolveFabricItem`, then `GetReportMetadata` and `GetSemanticModelSchema`, `ValueSearch` when available, and `ExecuteQuery`, then explains the result. Each `ExecuteQuery` call [targets one semantic model and returns up to 250 rows](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp) unless you set `maxRows`. Large responses arrive as an embedded CSV resource.

Call `tools/list` at runtime instead of hard-coding a schema, the reason [MCP vs function calling](https://atlan.com/know/mcp-vs-function-calling/) matters here. To pin today's contract, send `X-Variants: Fabric.Routing.FabricIQ.V1` on `initialize`, `tools/list` and `tools/call`. Microsoft's sample configuration doesn't carry it, so add it wherever your client sets custom headers. Fabric IQ MCP [works best with the Fabric IQ skill from Skills for Fabric](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp), a split [agent skills and MCP servers](https://atlan.com/know/ai-agent/ai-agent-skills/agent-skills-vs-mcp/) explains.

---

## How to connect an agent to the remote Power BI MCP server (Consumption endpoint)

The Consumption endpoint needs an admin to turn on a tenant setting first. [Microsoft's setup page](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started), last updated 2026-09-17, labels it preview.

1. Ask a Power BI admin to turn on "Users can use the Power BI Model Context Protocol server endpoint (preview)" in [Integration admin settings](https://learn.microsoft.com/en-us/fabric/admin/service-admin-portal-integration).
2. Confirm Build permission on the model, and copy its ID from `https://app.powerbi.com/groups/{workspaceId}/datasets/{semanticModelId}`.
3. In VS Code, add the block below, from [Microsoft's setup page](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started), to your MCP configuration and open GitHub Copilot in agent mode. VS Code [ships a preregistered Entra app](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-external-clients), so sign-in needs no app registration.
4. Share the model ID and ask, as [Microsoft's setup page](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started) suggests: "What tables are in this semantic model?"

```json
{
    "servers": {
        "powerbi-remote": {
            "type": "http",
            "url": "https://api.fabric.microsoft.com/v1/mcp/powerbi"
        }
    }
}
```

The tools differ: [Execute Query, Get Semantic Model Schema, Get Report Metadata, and Generate Query](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started). The schema tool returns Copilot tooling metadata when configured, the same work behind [Power BI Copilot readiness](https://atlan.com/know/ai-agent/microsoft/power-bi-conversational-analytics-context/). Each query executes independently, and large models can produce large schema payloads.

---

## How do you connect MCP clients without a preregistered Entra app?

Microsoft Entra ID [doesn't currently support dynamic client registration](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-external-clients), so a client without its own Entra app needs one you register. For the hosted Power BI servers, VS Code and the GitHub Copilot CLI ship one; Microsoft names Claude Desktop and ChatGPT as clients that need an OAuth client ID. For Fabric IQ, the client must also [support Streamable HTTP and the required OAuth 2.0 flow](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp).

[Microsoft's registration guide (2026)](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-external-clients) covers the two hosted Power BI servers, Consumption and Authoring, in four moves:

1. Register a single-tenant app in the Microsoft Entra admin center.
2. Add a Public client/native redirect URI, exactly as your client documents it. Microsoft lists `https://claude.ai/api/mcp/auth_callback` for Claude Desktop.
3. Add the delegated Power BI Service scopes for your server.
4. Give the client ID to the MCP client. To test the Consumption server, ask: "What tables are in semantic model [ID of the semantic model]?"

For Fabric IQ, [its setup page](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp) gives the same single-tenant steps with the delegated permissions `Item.Read.All` and `Item.Execute.All`, plus the tenant ID if the client asks. No tenant setting applies, and the test is Step 4's find-a-report prompt.

Hosted Authoring has the same limit: clients that depend on dynamic registration [can't connect to it](https://learn.microsoft.com/en-us/power-bi/developer/mcp/power-bi-authoring-mcp).

---

## When should you use the Power BI Authoring MCP server instead?

The Authoring server builds and changes models, and Microsoft says [don't use the Power BI Authoring MCP server for consumption scenarios](https://learn.microsoft.com/en-us/power-bi/developer/mcp/mcp-servers-overview). The hosted endpoint, `https://api.fabric.microsoft.com/v1/mcp/powerbi/authoring`, is in preview. The local server, `npx -y @microsoft/powerbi-modeling-mcp@latest --start`, is generally available.

With only Build permission, the server [can only run DAX queries against the model](https://learn.microsoft.com/en-us/power-bi/developer/mcp/power-bi-authoring-mcp); changes need Write. DAX tools stop at 100,000 rows. The local server doesn't support macOS. The hosted server needs your client to return the `mcp-Session-Id` header on every request, and Microsoft says not to register local and hosted together.

An agent that creates objects also raises [who governs a Fabric item an agent created](https://atlan.com/know/microsoft-fabric/who-governs-agent-created-fabric-items/).

---

## How do row-level security and permissions shape what the agent sees?

With delegated sign-in, every route runs the query as the signed-in user, so the agent sees what that person sees. Service principals are the exception to watch. Consumption queries [execute in the context of the authenticated user](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started), and service principal authentication doesn't currently support RLS. On Fabric IQ, RLS and OLS [continue to restrict returned data](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp), with no administrator-impersonation path.

Test it with two users whose role filters you know differ: write down each one's expected rows, then ask the same question as each. Matching those rows is the pass. Different rows alone prove little.

According to [Microsoft's MCP servers overview (2026)](https://learn.microsoft.com/en-us/power-bi/developer/mcp/mcp-servers-overview), "An MCP server doesn't expand data access, but it does move data." Results reach the client and possibly its LLM provider. For the [questions about governing Fabric AI agents](https://atlan.com/know/microsoft-fabric/fabric-ai-agent-governance-questions/), answers sit in RLS roles, [Purview controls for AI agents](https://atlan.com/know/microsoft-fabric/purview-controls-for-ai-agents/), and [role-based access control in a context layer](https://atlan.com/know/ai-agent/context-layer/context-layer-role-based-access-control/).

---

## Common Power BI MCP connection errors and how to fix them

Every row comes from Microsoft's troubleshooting tables and documented limits. The sign-in rows come first, because no tool call works until sign-in does.

| Symptom | Likely cause | Fix | Server |
|---|---|---|---|
| Browser sign-in never opens | Client lacks OAuth discovery or needs an app registration | Register a single-tenant Entra app | Fabric IQ |
| Authentication fails | Token missing, expired or wrong audience; missing scopes; consent policy | Reauthenticate; check app registration, scopes and consent policy | Fabric IQ |
| Interactive sign-in stops appearing | An `Authorization` header overrides interactive OAuth | Remove the header | Fabric IQ |
| Tools don't match the documented list | `X-Variants` header missing or wrong | Set `Fabric.Routing.FabricIQ.V1`, then reconnect | Fabric IQ |
| Known report not found | No access, unsupported item type, ambiguous name or a share link | Use a precise name or browser URL | Fabric IQ |
| Permission error on a tool call | Identity can't access the content, or RLS or OLS restricts it | Verify access and roles | Fabric IQ |
| Rate-limit error | Request bursts or Power BI throttling | Back off, then narrow the query | Fabric IQ |
| Stale numbers | Model hasn't completed a recent refresh | Check refresh history, retry after refresh | Fabric IQ |
| Answer stops at 250 rows or shows only a preview | Default row limit, or the client's handling of the embedded CSV resource | Set `maxRows`, aggregate, or open the CSV resource | Fabric IQ |
| Sign-in to hosted Authoring fails | Tenant setting off, or client needs dynamic registration | Enable the setting; register an app or go local | Authoring, hosted |
| Agent reads the model but changes fail | Build permission without Write | If the agent should change the model, grant Write; for models in a Fabric workspace, confirm the XMLA endpoint is set to Read Write | Authoring |
| New session on every tool call | Client doesn't return `mcp-Session-Id` | Use a session-keeping client or the local server | Authoring, hosted |
| Service principal agent ignores RLS | RLS not enforced for service principals | Use delegated user sign-in | Consumption |
| Local and hosted Authoring both registered | Microsoft advises against running both | Register one | Authoring |

---

## Why does the semantic model decide the quality of the agent's answers?

On Fabric IQ, the agent reads the schema and writes the DAX, so whatever the model does not describe, the agent has to infer. Fabric IQ MCP [doesn't expose a natural-language answering tool](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp); table names, measures and descriptions, plus any AI instructions and verified answers the model owner has set, are what the agent maps your question onto.

[Prep data for AI](https://learn.microsoft.com/en-us/power-bi/create-reports/copilot-prepare-data-ai), a preview feature, adds AI data schemas, verified answers and AI instructions, and Microsoft says these features "can't ensure a specific output every time." On the MCP side, the [Consumption schema tool](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started) returns that Copilot tooling metadata when it is configured, and Microsoft's Fabric IQ skill, in the [skills-for-fabric repository](https://github.com/microsoft/skills-for-fabric), has the agent read custom AI instructions and verified answers through `GetSemanticModelSchema` before it writes DAX. Results are also [only as current as the latest successful refresh](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp).

If your definitions sit in a [Power BI semantic model rather than a dedicated semantic layer](https://atlan.com/know/ai-agent/semantic-layer/power-bi-semantic-model-vs-dedicated-semantic-layer/), the model already does that layer's job for the agent. The descriptions you write there are the machine-readable definitions a [semantic layer for AI agents](https://atlan.com/know/ai-agent/semantic-layer-for-ai-agents/) exists to supply. Ownership, certification and upstream sources often live outside the model, which is where [context engineering and a semantic layer](https://atlan.com/know/ai-agent/semantic-layer/context-engineering-vs-semantic-layer/) split the work.

---

## Checklist: verify your Power BI MCP connection

Run these eleven checks in order to confirm that a Power BI MCP connection works. Each one points back to a section of this page.

| ID | Check | Pass looks like |
|---|---|---|
| PBIMCP-01 | Endpoint matches the job | Fabric IQ for questions; Consumption only for an existing integration or Copilot DAX; Authoring only for model changes |
| PBIMCP-02 | Tenant region supports all Fabric workloads (Fabric IQ) | Not a Power BI-only region or sovereign cloud |
| PBIMCP-03 | Tenant setting enabled (Consumption, hosted Authoring) | Admin confirms the setting is on |
| PBIMCP-04 | Client has an Entra app | Preregistered client, or your own registered client ID |
| PBIMCP-05 | Delegated scopes granted and allowed by consent policy | Item.Read.All and Item.Execute.All for Fabric IQ |
| PBIMCP-06 | MCP handshake | `/mcp show FabricIQ` shows connected and lists tools |
| PBIMCP-07 | Read-only discovery test | The named report returns through DiscoverArtifacts |
| PBIMCP-08 | End-to-end data test | Agent calls schema tools, then ExecuteQuery, and explains the result |
| PBIMCP-09 | RLS sanity check | Two users with known, different role filters each get the rows written down beforehand |
| PBIMCP-10 | Freshness check | Result matches the model's latest successful refresh |
| PBIMCP-11 | Tool list from runtime | `tools/list` matches; if not, check `X-Variants` |

---

## How Atlan adds context alongside Power BI's MCP servers

Power BI's servers answer from one semantic model's own definitions; the [Atlan MCP server](https://atlan.com/know/what-is-atlan-mcp/) connects to the same client and supplies the context around that model. Before an agent trusts a measure called Revenue, it helps to know whether it is certified, what feeds it, and who owns it.

Atlan [crawls Power BI workspaces, reports, dashboards, datasets, dataflows and measures](https://docs.atlan.com/apps/connectors/business-intelligence/microsoft-power-bi/references/what-does-atlan-crawl-from-microsoft-power-bi) and [extracts dataset-to-report and dataflow lineage](https://docs.atlan.com/apps/connectors/business-intelligence/microsoft-power-bi/references/what-lineage-does-atlan-extract-from-microsoft-power-bi). Its MCP server exposes [41 tools across nine categories](https://docs.atlan.com/product/capabilities/atlan-ai/references/mcp-tools), some gated per tenant, including business glossary and lineage. An agent can walk that lineage the way [MCP for data lineage](https://atlan.com/know/mcp/mcp-for-data-lineage/) describes; [Power BI column-level lineage](https://atlan.com/know/data-catalog/microsoft/power-bi-column-level-lineage/) covers the finer grain.

The server is [hosted, with nothing to install, and every action respects the permissions you've already set in Atlan](https://docs.atlan.com/product/capabilities/atlan-ai/how-tos/atlan-mcp-overview). It [doesn't send your data to any LLM](https://docs.atlan.com/product/capabilities/atlan-ai/references/mcp-security) and processes only permission-scoped metadata, such as glossary names and descriptions and lineage relationships. Like any MCP server's output, that metadata still moves to your client and possibly its LLM provider.

Register it next to Fabric IQ, and the agent can resolve a definition in Atlan's Enterprise Data Graph, then query the number through Fabric IQ. Fabric IQ calls always run as the signed-in user. Atlan calls do too when the client connects [through OAuth](https://docs.atlan.com/product/capabilities/atlan-ai/references/mcp-security); with a service-account API token, they run as a service identity. The longer argument is [why AI agents need an enterprise context layer](https://atlan.com/know/why-ai-agents-need-an-enterprise-context-layer/).

If your most-asked measures have no owner or certified definition yet, that is the gap the agent's answers will expose first.

---

## FAQs about connecting AI agents to Power BI with MCP

### 1. Is the remote Power BI MCP server generally available?

No. Microsoft's Consumption setup page, last updated 2026-09-17, calls the remote endpoint the earlier Power BI Consumption MCP server, in preview. Fabric IQ MCP, which Microsoft recommends instead, is generally available as of September 2026.

### 2. What is the difference between the Power BI Consumption MCP server and Fabric IQ MCP?

The Consumption endpoint is in preview, needs a tenant setting, Build permission and a model ID, and includes Copilot-based Generate Query. Fabric IQ MCP is generally available, needs no Build permission or MCP tenant setting, finds models by name, and leaves DAX to the agent.

### 3. Do I need Build permission to query a semantic model through MCP?

On the Consumption endpoint, yes: Build on at least one semantic model. Fabric IQ MCP needs only access to the report or model, with no Build permission or workspace role. On the Authoring server, Build allows DAX queries and changes need Write.

### 4. Does the Power BI MCP server respect row-level security?

Yes, for signed-in users. Fabric IQ and the Consumption endpoint query as the authenticated user, and on Fabric IQ, RLS and OLS can give two users different results for one question. Service principals are the exception (see question 5).

### 5. Can a service principal connect to Fabric IQ MCP?

No. Fabric IQ MCP supports delegated OAuth 2.0 through Microsoft Entra ID only; service-principal and application-only authentication aren't supported. On the Consumption endpoint, an admin can let service principals connect, but service principal authentication doesn't currently support RLS.

### 6. Does Fabric IQ MCP turn natural-language questions into DAX?

The agent does. Fabric IQ MCP exposes no natural-language answering tool; the calling agent selects tools, composes DAX and explains results. The Consumption endpoint's Generate Query tool uses Copilot in Power BI and needs a Copilot license.

### 7. Why can't my MCP client sign in to the Power BI MCP server?

Usually the client has no preregistered Entra app. Entra ID doesn't currently support dynamic client registration, so a client such as Claude Desktop or ChatGPT needs an app you register, with the exact redirect URI and that server's scopes: Item.Read.All and Item.Execute.All for Fabric IQ. On Fabric IQ, also remove any Authorization header.

### 8. How many rows does Fabric IQ MCP return per query?

Up to 250 rows by default, according to Microsoft's Fabric IQ setup page. Set maxRows on ExecuteQuery for more. Large responses come back as an embedded CSV resource, which clients handle unevenly. Each call targets one semantic model, so a question that spans models needs separate queries.

---

## Sources

1. [Get started with the Fabric IQ MCP server, Microsoft Learn](https://learn.microsoft.com/en-us/fabric/iq/connectors/fabric-iq-mcp), last updated 2026-10-21
2. [Power BI Consumption MCP server setup, Microsoft Learn](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started), last updated 2026-09-17
3. [Overview of the MCP Servers, Microsoft Learn](https://learn.microsoft.com/en-us/power-bi/developer/mcp/mcp-servers-overview), last updated 2026-09-24
4. [Power BI Authoring MCP server, Microsoft Learn](https://learn.microsoft.com/en-us/power-bi/developer/mcp/power-bi-authoring-mcp), last updated 2026-09-17
5. [Register Power BI MCP servers for MCP clients, Microsoft Learn](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-external-clients), last updated 2026-09-17
6. [What's New? - Microsoft Fabric, Microsoft Learn](https://learn.microsoft.com/en-us/fabric/fundamentals/whats-new), last updated 2026-10-02
7. [Integration admin settings, Microsoft Learn](https://learn.microsoft.com/en-us/fabric/admin/service-admin-portal-integration), last updated 2026-05-17
8. [Prepare Your Data for AI to Improve Copilot Results (Preview), Microsoft Learn](https://learn.microsoft.com/en-us/power-bi/create-reports/copilot-prepare-data-ai), last updated 2026-05-30
9. [GitHub - microsoft/skills-for-fabric: A collection of skills and MCP systems to enable users of CLI, VSCode, Claude to operate over Microsoft Fabric / GitHub](https://github.com/microsoft/skills-for-fabric)
10. [Atlan MCP tools, Atlan Docs](https://docs.atlan.com/product/capabilities/atlan-ai/references/mcp-tools)
11. [Atlan MCP security, Atlan Docs](https://docs.atlan.com/product/capabilities/atlan-ai/references/mcp-security)
12. [Atlan MCP, Atlan Docs](https://docs.atlan.com/product/capabilities/atlan-ai/how-tos/atlan-mcp-overview)
13. [What does Atlan crawl from Microsoft Power BI?, Atlan Docs](https://docs.atlan.com/apps/connectors/business-intelligence/microsoft-power-bi/references/what-does-atlan-crawl-from-microsoft-power-bi)
14. [What lineage does Atlan extract from Microsoft Power BI?, Atlan Docs](https://docs.atlan.com/apps/connectors/business-intelligence/microsoft-power-bi/references/what-lineage-does-atlan-extract-from-microsoft-power-bi)