This report provides a detailed breakdown of power bi mcp server for managed service providers.
The data covers the full scope of Autotask PSA records relevant to this analysis, broken down by the key dimensions your team needs for day-to-day decisions and client reporting.
Who should use this: MSP operations teams and service delivery managers
How often: As needed for specific analysis or reporting requirements
A plain-English guide to the technology behind AI-generated Power BI reports. How it works, how you stay in control of your data, and what you need to build one for your own environment.
MCP stands for Model Context Protocol. It is an open standard, created by Anthropic and now adopted by Microsoft, GitHub, and others, that lets AI assistants talk to external tools and services in a structured, secure way.
By default, an AI assistant can only work with what you type into it. It can't log into Power BI, run a DAX query, or access anything behind a login screen. An MCP server bridges that gap. It's a small program that acts as a controlled middle layer between the AI and the data it needs. Microsoft has embraced this so fully that they now ship official MCP servers for Power BI. This isn't a workaround or a hack. It's the way Microsoft expects AI tools to connect to your data.
Imagine hiring a brilliant analyst. They can interpret any dataset, spot trends, and write reports, but they don't have your company login. You wouldn't give them your password. Instead, you'd have a trusted assistant sit next to them who does have access. The analyst says: "Get me last quarter's billable hours." The assistant logs in, pulls the data, and hands it over. The analyst never touches the system directly.
That assistant is the MCP server.
Here's the full journey when you ask a business question and get back a formatted report. Watch what happens to the data at each step, and notice how it transforms along the way.
The critical detail: the AI never has direct access to Power BI. It can only ask the MCP server to perform specific, predefined actions. The MCP server decides what's allowed, what data to return, and whether to filter anything before passing it along.
If your Power BI contains client names, ticket details, employee data, or financial numbers, you're right to ask how this works. The MCP approach is fundamentally different from pasting data into a web-based AI chatbot, and here's why it's safe for internal use with real data.
Local execution. The MCP server runs on your machine. API calls go directly from your computer to Microsoft's Power BI service. No data passes through any third-party server.
Scoped access. The MCP server only exposes specific, read-only capabilities. No file access, no write operations, no deletions. You define exactly what the AI is allowed to do. Nothing more.
Optional PII anonymisation. If you plan to share AI-generated output publicly (e.g. on a website or in a marketing report), you can enable a privacy filter that replaces personal data with placeholders before the AI sees it. For internal use, where you want to see real client names and employee data, you simply leave this off.
The AI sees your real data (client names, employee names, financial details) and generates reports you can use for client reviews, team meetings, and management decisions. That's the whole point.
When publishing reports externally, enable the privacy filter to strip personal identifiers before the AI processes the data. We use this at Proxuma for the demo reports on this site.
When you paste data into a web-based AI, that data travels to a cloud server you don't control. With an MCP server, the data stays on your machine and flows directly to Microsoft's API. You decide what the AI can access, what it can do, and whether any filtering happens in between. It's your infrastructure, your credentials, your rules.
An MCP server defines a specific set of tools, the actions the AI is allowed to perform. For Power BI, the typical set includes:
Run a DAX query against a dataset. The core workhorse. Every report depends on this.
Search for specific measures, columns, or tables in the data model.
Quick overview of all measure names in a dataset.
See which Power BI workspaces are accessible.
List all datasets within a workspace.
Browse items in a Microsoft Fabric workspace.
The AI cannot invent new tools or exceed this list. If the MCP server doesn't offer a "delete workspace" tool, the AI physically cannot perform that action. You decide what's possible.
Not every Power BI MCP server offers the same capabilities. Microsoft's own Remote MCP server focuses on querying data and generating insights — using the same Copilot engine that powers Power BI's built-in AI. Their Modeling MCP server lets you build and modify semantic models. And a custom-built server like ours adds report generation, custom business logic, and optional privacy filtering for public output. You pick the server — or combination of servers — that fits your workflow.
"What does our Professional Services team KPI dashboard look like? Show me hours available, billable hours, and revenue versus target."
It calls search_schema multiple times, searching for measures related to "billable", "revenue", "utilisation". It maps out what data exists before writing a single query.
Based on what it found, the AI constructs targeted DAX queries and sends each through execute_dax. The MCP server authenticates with your credentials, runs the query against Power BI, and returns the results.
With all data collected, the AI produces a formatted report: KPI cards, comparison tables, trend analysis, and written insights explaining what the numbers mean.
The entire process, from question to publish-ready report, takes less time than opening Power BI Desktop.
The MCP ecosystem for Power BI has matured rapidly. Microsoft now ships official MCP servers, and several community-built options exist. Here's how they compare, and when to use each.
A hosted endpoint by Microsoft that uses the same Copilot engine powering Power BI's built-in AI. You connect your AI tool (Claude, GitHub Copilot, etc.) and it can query your datasets, generate insights, and answer questions without running anything locally. Best for teams that want instant setup with zero infrastructure.
Requires a Power BI Pro or Premium license. Works with any AI client that supports MCP.
An open-source server that runs locally and lets AI tools build and modify semantic models. Write measures, create calculated columns, define relationships, all through natural language. Best for developers and data modelers who want AI assistance with model development.
Open source on GitHub. Runs locally alongside Power BI Desktop or SSMS.
A single Python file that you control completely. Add custom report generation, Fabric integration, business logic, or optional privacy filtering for public-facing output. This is what we use at Proxuma. It gives us full control over output format, access scope, and what the AI can do with your data.
Full flexibility. Requires Python and a one-time Microsoft login.
If the official servers don't cover your needs, or you want full control over what the AI can do, here's exactly how to build your own. It's a single Python file.
Three packages to get started. Add the optional privacy packages only if you need anonymisation for public output.
# Core (required)
pip install mcp azure-identity requests
# Optional: only needed for PII anonymisation
pip install presidio-analyzer presidio-anonymizer
python -m spacy download en_core_web_lg
On first run, a browser window opens for Microsoft login. After that, tokens are cached automatically. No login needed again.
from azure.identity import InteractiveBrowserCredential
credential = InteractiveBrowserCredential(
cache_persistence_options=cache_options
)
token = credential.get_token(
"https://analysis.windows.net/powerbi/api/.default"
)
Each tool is a Python function decorated with @server.tool(). You decide exactly what the AI can do. Here's the core one: executing a DAX query.
@server.tool()
async def execute_dax(dataset_id: str, dax_query: str):
"""Run a DAX query against a Power BI dataset."""
response = requests.post(
f"https://api.powerbi.com/v1.0/myorg/datasets/{dataset_id}/executeQueries",
headers={"Authorization": f"Bearer {token}"},
json={"queries": [{"query": dax_query}]}
)
return response.json()
If you plan to publish AI-generated reports publicly (on a website or in external communications), you can add Microsoft Presidio as a privacy layer. It scans responses for personal data and replaces it with safe placeholders. For internal use, skip this step entirely. You want your real data.
# Only needed for public-facing output
# For internal reports, return data as-is
# Scan for personal data using NLP
results = analyzer.analyze(text=response, score_threshold=0.4)
# Replace with safe placeholders
safe_text = anonymizer.anonymize(text=response, analyzer_results=results)
# "John Smith logged 142 billable hours"
# becomes: "<PERSON> logged 142 billable hours"
Point your AI assistant (Claude, GitHub Copilot, Cursor, etc.) to your server. One line of config and you're live.
claude mcp add powerbi python /path/to/server.py
That's it. Your AI can now query Power BI, explore data models, and generate reports, all through a secure, local connection using your own credentials.
The open-source community has built several alternatives, each with a different focus. These are worth exploring if you're evaluating your options.
| Server | Focus |
|---|---|
| pbixray-mcp-server | Reads and inspects .pbix files directly — useful for auditing models offline |
| mcpbi | Lightweight query server focused on DAX execution and dataset exploration |
| powerbi-mcp | Full-featured server with workspace management, report access, and dataset queries |
| pbi-desktop-mcp | Connects directly to a running Power BI Desktop instance for local development |
Data flows directly between your machine and Microsoft. No third-party servers involved.
For internal use, the AI works with your full data: real client names, real numbers, real context. Need to share publicly? Add an optional privacy filter to anonymise output. You choose. Read the full report →
Only the tools you define are available. Read-only by default. No file access, no write operations, no surprises.
MCP is not proprietary. Microsoft now ships official Power BI MCP servers, and the protocol works with Claude, GitHub Copilot, and any other AI tool that supports it.
Browse our AI-generated reports. Every one was built using this approach. Or get in touch to discuss setting this up for your environment.
View AI-Powered Reports Get Started with Power BIConnect Proxuma Power BI to your PSA, RMM, and M365 environment, use an MCP-compatible AI to ask questions, and generate custom reports - in minutes, not days.
See more reports Get started