Use an MCP-capable AI client to connect to the Microsoft Power BI Authoring MCP server when you need to change a semantic model, or use Fabric IQ when you want an agent to work with trusted Power BI data and report context. Hosted Authoring MCP is Microsoft’s recommended option for supported Fabric workspace models. A local Authoring server is better for Power BI Desktop, PBIP/TMDL files, local traces, transactions, or service-principal authentication. Consumption MCP remains a documented preview route for querying existing models.
MCP (Model Context Protocol) is the connection pattern: an AI client discovers tools exposed by an MCP server, then calls those tools with your identity and permissions. The client—not Power BI alone—decides which language model processes the conversation, metadata, and query results.
Choose the Power BI workflow before configuring MCP
“Power BI MCP” describes two different jobs. Select the job first because Microsoft provides different server paths and permissions.
Author or validate a semantic model
The Power BI Authoring MCP server can create, update, and delete model objects, including tables, columns, measures, relationships, hierarchies, calculation groups, partitions, and security roles. It can also execute and validate DAX queries. It does not edit report pages or the layout of a semantic-model diagram. Start with Microsoft’s Authoring MCP documentation.
Recommended Free Tools
#1 Best Overall
Ask questions of existing data
Microsoft’s overview identifies Fabric IQ as the primary MCP route for bringing trusted business data and context from Power BI semantic models and reports into AI clients. The older Power BI Consumption MCP endpoint is still documented as a preview integration. Its tools can execute a query, return semantic-model schema, return report metadata, and generate a query. See the MCP servers overview and the Consumption MCP setup guide.
Consumption MCP’s Generate Query tool uses Copilot’s DAX-generation engine and requires a Copilot license for the user or organization. A client may disable that tool and have its own model generate DAX instead.
Hosted versus local Authoring MCP
Microsoft says to use the hosted server when your environment supports it: there is nothing to install and Microsoft manages updates. Register only one Authoring deployment in a client; hosted and local servers expose overlapping tools, which can make an agent’s selection ambiguous and add request overhead.
| Decision | Hosted Authoring | Local Authoring |
|---|---|---|
| Best fit | Semantic models in supported Fabric workspaces | Power BI Desktop models, PBIP/TMDL files on disk, local development, or service-principal workflows |
| Transport | Streamable HTTP | stdio |
| Installation and updates | No installation; Microsoft manages updates | You install and update the extension, package, or executable |
| Authentication | Microsoft Entra ID as the signed-in user | Interactive Microsoft Entra ID or service principal |
| Notable capabilities | Fabric workspace models | Desktop/PBIP access, transactions, and Analysis Services traces |
| Important gate | Fabric administrator enables the preview MCP endpoint setting | Local configuration; XMLA must be Read Write for Fabric workspace models |
Prerequisites and permissions
- An MCP-capable client with agent mode. The exact registration screen and configuration syntax depend on the client.
- Access to the target semantic model and workspace.
- For hosted Authoring, a Fabric administrator must enable Users can use the Power BI Model Context Protocol server endpoint (preview).
- Write permission on the semantic model is required to create or change model objects. Build permission alone allows DAX queries.
- For a local connection to a Fabric workspace model, the capacity’s XMLA endpoint must be set to Read Write.
- For Consumption MCP’s documented VS Code example, use VS Code with GitHub Copilot in agent mode and Build permission on at least one semantic model.
Set up Authoring MCP step by step
- Identify the target. Record the exact Fabric workspace and semantic-model names. For local work, identify the Power BI Desktop file or PBIP/TMDL definition folder.
- Choose hosted or local. Select hosted for a supported Fabric workspace and managed updates. Select local when the agent must reach Desktop, files on disk, local transactions or traces, or a service principal.
- Get the administrator setting enabled. Hosted use cannot work until the Fabric administrator enables the preview tenant setting. Do not confuse this tenant setting with model permissions.
- Register the server in your client. Follow the hosted or local setup path for that client. Microsoft’s local documentation includes an
npxinstallation example; package names and authentication prompts are client- and environment-specific, so copy the current command from Microsoft’s guide rather than reusing an old snippet. - Authenticate. Hosted uses Microsoft Entra ID for the signed-in user. Local supports interactive Entra ID or service-principal authentication.
- State the target in the first prompt. Ask the agent to connect to the named workspace and model, or to the named Desktop/PBIP location. Explicit names reduce the chance of editing a similarly named model.
- Run a read-only smoke test. Ask the agent to list tables and measures, and run a small DAX query. Confirm that the returned schema belongs to the intended model before granting or using write operations.
- Back up and review. Export or otherwise back up the model first. Keep PBIP files under Git when suitable so generated changes can be inspected, reviewed, and reverted.
- Make one scoped change. Ask for a single measure, relationship, or other bounded modification. Have the agent show the proposed DAX and object changes, then validate them with a read-only query.
- Recheck downstream behavior. Refresh or validate affected measures and security roles in the normal Power BI workflow. Authoring MCP changes model objects, not report-page layout.
Query data with Fabric IQ or Consumption MCP
Start with Fabric IQ for new consumption scenarios
Fabric IQ is Microsoft’s primary current route for supplying AI clients with trusted context from Power BI semantic models and reports. Follow the current Fabric guidance for your client and tenant, then restrict the models and workspaces exposed to the agent.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchRank #2
Use the documented Consumption preview when it matches an existing integration
The Consumption setup guide describes a hosted preview endpoint and tools for schema, report metadata, query execution, and query generation. Queries are independent and stateless. Complex natural-language requests can produce incorrect DAX, and performance depends on model size, design, and query complexity. Keep generated DAX visible and test it against known totals.
The remote setup also requires a stable MCP session header. Microsoft notes that a client which fails to return mcp-Session-Id can start a new session for every call, causing confusing authentication or continuity problems.
Permissions, security, and data handling
Use least privilege
MCP tools act within the connected user’s Fabric RBAC permissions, but an autonomous client can still make destructive model changes if that identity has them. Give write access only to an account and workspace that need it. For routine analysis, Build permission and read-only tools are safer than broad authoring rights.
Review service-principal query access carefully
For the Consumption endpoint, Microsoft documents that Power BI does not enforce row-level security when service-principal authentication is used for queries. The principal can access data it is authorized to access. Do not expose a service-principal-backed agent to end users until you have assessed that behavior and segmented the accessible models appropriately.
Protect prompts, metadata, and results
Model metadata and query results enter the MCP client conversation and may be processed by the LLM provider selected by that client. Check your organization’s data-handling requirements, retention terms, regional rules, and logging policy before sending sensitive business data through an agent.
Back up like code
Use PBIP source control where appropriate. Review the diff, preserve a known-good copy, and require human approval for changes to relationships, calculation groups, partitions, or security roles.
Limits and operational considerations
- The Authoring MCP DAX execution tools have a hard limit of 100,000 rows. Aggregate or filter large results instead of asking an agent to return an entire fact table.
- Large models and complex DAX increase latency and the chance of generated-query errors. Begin with schema discovery and narrow validation queries.
- Consumption queries are stateless; do not assume one call will retain conversational context unless your client explicitly does so.
- Hosted updates are managed by Microsoft. Local deployments require you to monitor and apply updates yourself.
- Authoring MCP does not provide report-page or diagram-layout editing. Use Power BI’s normal report authoring tools for those tasks.
Troubleshooting common failures
The client cannot discover the server
Verify that the client supports MCP agent mode, that you registered the correct hosted URL or local executable, and that only one Authoring server is enabled. Restart the client after changing its configuration.
Hosted connection is unauthorized
Confirm that the Fabric administrator enabled the preview tenant setting and that you authenticated with the Entra account that has access to the workspace and model. A tenant setting does not grant model permissions.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #4
The agent can query but cannot edit
Build permission supports DAX queries; it does not grant model-authoring rights. Request Write permission on the intended semantic model, then reconnect so the client refreshes its token and tool list.
Local Fabric model operations fail
Check that the capacity XMLA endpoint is Read Write. Also verify that the local process is pointed at the correct workspace/model and that its Entra or service-principal credentials are valid.
The agent selects the wrong model
Stop the operation, name the workspace and model explicitly, and run a table/measure listing. Avoid similarly named targets and remove duplicate hosted/local registrations.
Queries return incorrect answers
Inspect the generated DAX, validate filter context and relationships, and compare the result with a known Power BI visual or hand-checked query. Complex natural-language logic can be translated incorrectly.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Every Consumption call creates a new session
Inspect the client’s HTTP handling and ensure it returns the server’s mcp-Session-Id header on subsequent calls, as required by the documented remote setup.
A query exceeds the result limit
Reduce columns, add filters, or aggregate in DAX. The Authoring query tools cannot return more than 100,000 rows.
Or skip the browser setup
If your automation also needs screenshots of Power BI reports or web pages, ScreenshotNeo provides a one-request screenshot API and an MCP server for AI clients such as Claude and Cursor. It removes cookie banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP tools are take_screenshot, get_page_info, and capture_pdf.
cURL:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
See the ScreenshotNeo API documentation for capture options. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Create a free ScreenshotNeo account.
Frequently Asked Questions
Can Power BI MCP edit report pages?
No. Authoring MCP changes semantic-model objects and runs DAX; report-page and diagram-layout editing remains outside its documented scope.
Do I need Write permission to ask a DAX question?
No. Build permission is sufficient for DAX queries. Write permission is required to create or change model objects.
Should I register hosted and local Authoring servers together?
No. Their overlapping tools can make agent selection ambiguous and increase request overhead; choose the deployment that matches your files, workspace, and authentication needs.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




