Home / MCP / Power BI MCP Server
Enterprise-grade server enabling AI-assisted Power BI queries, PBIP editing, and secure model management across Desktop and Service.
Configuration
View docs{
"mcpServers": {
"powerbi": {
"command": "python",
"args": [
"C:/path/to/powerbi-mcp-v2/src/server.py"
],
"env": {
"PYTHONPATH": "C:/path/to/powerbi-mcp-v2/src"
}
}
}
}You will run a powerfully integrated Power BI MCP Server that bridges AI assistants with Power BI Desktop and Power BI Service. It supports semantic model querying, bulk model edits via PBIP, security controls, and RLS testing, all while keeping visuals intact during safe edits.
You interact with the server through an MCP client to connect to either Power BI Desktop or Power BI Service, and to perform model queries, DAX execution, and bulk edits. Use PBIP safe editing to rename tables, columns, and measures without breaking reports. Start by loading a PBIP project, then apply renames, and finally reopen Power BI to see updated visuals and model references.
1. Connect to a local Power BI Desktop instance or a cloud Power BI Service endpoint.
2. Discover model structure: list tables, columns, and measures to understand current references.
3. Run DAX queries or perform bulk operations to rename elements, all while the PBIP layer keeps visuals and cultures in sync.
4. For bulk edits, use PBIP safe editing commands to load a project, apply renames, and reopen Power BI to validate visuals.
Close Power BI Desktop if it is open. Load your PBIP project, perform renames for tables and related entities, then reopen Power BI Desktop to verify that visuals and report bindings remain intact.
Typical commands you will use include discovering instances, connecting to a model, listing tables, and running DAX. You will also run PBIP rename operations to safely update model names across both the semantic model and the report visuals.
Auto-discover running Power BI Desktop instances on the local machine.
Connect to a specific Power BI Desktop instance with optional Row-Level Security (RLS) role for testing.
List all tables in the connected Power BI model.
List columns for a specific table in the connected model.
List all measures and their DAX expressions in the current model.
Execute a DAX query against the connected model with security processing.
Retrieve comprehensive metadata about the Power BI model.
List accessible Power BI Service workspaces.
List datasets within a Power BI Service workspace.
List tables via XMLA endpoint for cloud datasets.
List columns for a specific table in cloud datasets.
Execute DAX queries against cloud datasets.
Retrieve model information using INFO.VIEW-like queries against the cloud model.
View current security configuration, including PII masking settings.
Query recent audit log entries for compliance and debugging.
List RLS roles defined in the local model for testing.
Activate a specific RLS role for testing in the local model.
Get the current RLS testing status.
Load a PBIP project for editing and safe operations.
Return project structure information and detect PBIR format.
Comprehensive rename across model and report layer with automatic quoting and visuals updates.
Rename columns across both model and report visuals.
Rename measures with model and report layer updates.
Repair visual references after renames performed outside PBIP.
Fix any remaining unquoted table names in DAX expressions.
Scan project for broken references by comparing model against visuals.
Validate TMDL syntax, identify quoting issues, and fix invalid references.