Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The hosted Power BI MCP servers work with MCP clients that ship with a preregistered Microsoft Entra application, such as Visual Studio Code and the GitHub Copilot CLI. Other MCP clients, such as Claude Desktop and ChatGPT, require an OAuth client ID. Microsoft Entra ID doesn't currently support dynamic client registration, so these clients can't get a client ID on their own.
To work around this limitation, register a Microsoft Entra app yourself and give its application (client) ID to the MCP client as the OAuth client ID.
The following table shows the two hosted servers and their endpoints:
| Server | Endpoint |
|---|---|
| Power BI Authoring MCP server | https://api.fabric.microsoft.com/v1/mcp/powerbi/authoring |
| Power BI Consumption MCP server | https://api.fabric.microsoft.com/v1/mcp/powerbi |
This article shows you how to:
- Create and configure a Microsoft Entra app registration for an external MCP client.
- Register a hosted Power BI MCP server in the external client by using the Microsoft Entra app ID.
Prerequisites
- Administrator approval. Your Power BI admin must enable the tenant setting Users can use the Power BI Model Context Protocol server endpoint (preview).
- Permissions to register an app. You can either register apps in your Microsoft Entra tenant or work with a tenant administrator who can register the app for you.
Step 1: Create a Microsoft Entra app registration
Create a new app registration in the same Microsoft Entra tenant that hosts your Power BI environment.
- Sign in to the Microsoft Entra admin center as a user who can register applications.
- Go to App registrations, and then select New registration.
- Enter a meaningful name, for example
Power BI MCP - Claude Desktop. - Under Supported account types, select Accounts in this organizational directory only (Single tenant).
- Leave Redirect URI empty for now. You configure it in the next step.
- Select Register.
- On the app's Overview page, copy the Application (client) ID. You use it later when you configure the MCP client.
Step 2: Configure the redirect URI
External MCP clients act as public clients, so you must add a redirect URI of type Public client/native (mobile & desktop).
In your app registration, select Authentication > Add Redirect URI > Mobile and desktop applications.
Add the redirect URI that your MCP client provides. For example:
MCP client Redirect URI Claude Desktop https://claude.ai/api/mcp/auth_callbackChatGPT https://chatgpt.com/connector/oauth/Other clients Use the OAuth callback URL that the client documents Select Configure to save the platform configuration.
On the Authentication page, under Advanced settings, confirm that Allow public client flows is set to No unless your client documentation explicitly requires it.
Select Save.
Important
Always use the exact redirect URI that your MCP client documents. A mismatch causes the OAuth sign-in to fail.
Step 3: Add delegated Power BI API permissions
The hosted Power BI MCP servers call the Power BI REST APIs on behalf of the signed-in user. Grant the delegated permissions your scenario needs on the Power BI Service API.
In your app registration, select API permissions > Add a permission.
Select Power BI Service in Microsoft APIs.
Select Delegated permissions, and then add the permissions for the server you're registering.
Resource URI:
https://analysis.windows.net/powerbi/apiScope Description Needed for Dataset.Read.AllRead all semantic models you can access. Consumption server MLModel.Execute.AllExecute ML models. Consumption server Workspace.Read.AllRead the workspaces you can access. Authoring and Consumption server SemanticModel.ReadWrite.AllRead and write all semantic models you can access. Authoring server Select Add permissions.
If your tenant requires admin consent for these permissions, select Grant admin consent. Otherwise, the MCP client prompts you to consent the first time you sign in.
Step 4: Register the server in the MCP client
Use the Application (client) ID from step 1 as the OAuth client ID when you add a hosted Power BI MCP server to your client, and use the endpoint for the server you want. The exact configuration steps depend on the client.
If sign-in fails, verify that:
- The redirect URI in your Microsoft Entra app exactly matches the one the client expects.
- The required delegated Power BI permissions are granted, and admin-consented if your tenant requires it.
- The tenant setting Users can use the Power BI Model Context Protocol server endpoint (preview) is enabled.
Register a Power BI MCP server in Claude Desktop
Open Claude Desktop, and then go to Settings > Connectors > Add custom connector.
Enter the following values:
- Name:
Power BI - Remote MCP server URL: the endpoint for the server you want to register.
- OAuth Client ID: the Application (client) ID from step 1.
- Name:
Save the connector. Claude Desktop opens a browser window so that you can sign in with your Microsoft Entra account and consent to the requested Power BI permissions.
Register a Power BI MCP server in ChatGPT
In ChatGPT, go to Settings > Apps > Create App.
Fill in the New App dialog:
- Name:
Power BI - MCP Server URL: the endpoint for the server you want to register.
- Authentication: Select OAuth.
- Name:
Expand Advanced settings to review the discovered OAuth settings, and then configure:
- Registration method: Select User-Defined OAuth Client.
- OAuth Client ID: Enter the Application (client) ID from step 1.
Select Create. ChatGPT prompts you to sign in with your Microsoft Entra account and consent to the requested Power BI permissions.
Register a Power BI MCP server in other MCP clients
For other MCP clients, follow the client's documentation to add a remote MCP server.
Test your Power BI MCP server connection
After you register the server in the client, validate the setup:
- Start a new conversation in your MCP client.
- Ask a question that requires the server. For the Consumption server, try
What tables are in semantic model [ID of the semantic model]?. For the Authoring server, tryConnect to semantic model '[Semantic Model Name]' in Fabric Workspace '[Workspace Name]'. - Confirm that the client returns results from Power BI.