Power BI MCP connector
Query your published Power BI semantic models from any MCP client
NL → DAX semantic layer
built specifically for you
Power BI MCP connector
input: DAX · free download
MCP client
Claude Desktop, Cursor, etc.
Your Power BI models
your data, your rules
- Persistent authentication
- RLS enforced
- No Fabric, no GitHub Copilot needed
- Runs locally, your data stays between you and your LLM
- Windows
- Power BI Pro license
One connector. Two users. Same DAX. Two answers.
Same question. Different answers. That's RLS.
- // Sign in once. Tokens cached and encrypted locally.
- // Plain English in. Real DAX out.
- // Same model. Different user.
- // Same question. RLS enforced by Power BI itself.
- // What you get.
- // Free. A Pro license is enough.
Setup instructions
Your IT admin completes these steps once per organization. After this, they hand users the PBIConnector.exe, a Client ID, and a Tenant ID.
Register an Entra ID app
- Go to Azure Portal > App registrations > New registration.
- Name it
PBI Connector, set to Single tenant only, leave redirect URI blank. - Copy the Application (client) ID and Directory (tenant) ID from the overview page.
- Under Authentication, add redirect URI: select Mobile and desktop applications, add
http://localhost. - On the same page, set Allow public client flows to Yes.
- Under API permissions, add Power BI Service (delegated):
Dataset.ReadWrite.AllandWorkspace.Read.All. - Click Grant admin consent. Both must show green "Granted" status. Consent can take up to 15 minutes to take effect.
No client secret needed. The connector uses a public client OAuth flow. Dataset.ReadWrite.All is required for XMLA connectivity even though the connector never writes; without it, queries fail with "workspace not found" for users who are not workspace members.
Enable XMLA endpoints
- Go to Power BI Admin Portal > Tenant settings.
- Find XMLA endpoints (under Integration settings).
- Set to Enabled (or enable for specific security groups).
Takes up to 15 minutes to propagate. XMLA ensures RLS is enforced server-side.
Assign user permissions
Each user needs:
- Power BI Pro license (or higher), assigned in M365 admin center.
- Read permission on the semantic model, or a workspace role (Viewer or higher).
Done? Distribute to each user:
- 1. The
PBIConnector.exefile - 2. The Client ID
- 3. The Tenant ID
Unblock the zip first: before extracting, right-click the downloaded zip > Properties > check Unblock > OK (or run Unblock-File in PowerShell). This removes the download flag so users don't see the Windows SmartScreen warning ("Windows protected your PC") when running the exe. If it appears anyway, it's safe to click More info > Run anyway.