MCP Engine - Power BI MCP Server
Build, explore, and manage your Power BI models using natural language—right from VS Code.
This extension brings your Power BI models into GitHub Copilot Chat through the Model Context Protocol (MCP). Ask questions, create measures, document tables, analyze performance, and refactor your model—all without leaving your editor.
Pricing
This extension is free to use. All core features—model exploration, DAX queries, measure creation, bulk operations, and more—work without any license.
Pro features (PII masking, numeric masking, unit testing, policy engine, memories, impact analysis, and others) require a paid license. See www.mcpengine.dev/pricing for details.
Why use this extension?
- Natural language model building: "Create a Year-over-Year Sales measure" → done
- Instant documentation: Generate complete model docs including DAX formulas and relationships
- Bulk operations: Rename 50 measures, translate to 3 languages, or fix naming conventions in seconds
- Performance insights: Analyze VertiPaq statistics, query performance, and storage optimization
- Safe exploration: Read-only mode lets you explore and document without any changes
- Advanced features: Manage calculation groups, UDFs, security roles, hierarchies, and more
What can you do?
Build and modify models with AI assistance
Create and manage every part of your Power BI model:
- Measures: Create, update, delete with format strings and display folders
- Tables: Add new tables, modify schemas, configure partitions (M/SQL/DAX/Dataflow)
- Relationships: Create and configure with cardinality and cross-filter direction
- Calculation Groups: Build time intelligence and dynamic formatting
- Hierarchies: Set up drill-down paths with proper level ordering
- Security: Define row-level and object-level security roles
- Translations: Add multi-language support for global audiences
Analyze and optimize
Get deep insights into your model:
- Run DAX queries and see results instantly in chat
- Preview table data to verify your transformations
- Analyze VertiPaq statistics to find compression and performance issues
- Query performance analysis with detailed Storage Engine and Formula Engine metrics
- Column statistics including cardinality, distinct values, and null counts
Document everything automatically
Generate comprehensive documentation:
- Complete model schema with all tables, columns, and measures
- DAX formulas with explanations
- Relationship diagrams and cardinality info
- Data source connections and partition details
- Security roles and RLS/OLS filters
Bulk operations at scale
Stop doing repetitive work:
- Rename dozens of objects following naming conventions
- Generate translations for multiple languages at once
- Update descriptions for all measures in a table
- Apply consistent formatting patterns across measures
- Refactor DAX references after schema changes
Getting started
Prerequisites
- Windows 10/11 or macOS (Intel or Apple Silicon)
- Power BI Desktop (Windows) or Power BI Service with XMLA endpoint (macOS)
- VS Code 1.102+ with GitHub Copilot
Note: On macOS, only Power BI Service Premium/Fabric workspaces with XMLA endpoints are supported. Power BI Desktop is Windows-only.
Installation
Install the extension
Download from the VS Code Marketplace or install the VSIX file directly.
Open Power BI Desktop
Launch Power BI Desktop and open a PBIX file you want to work with.
Enable MCP tools in Copilot Chat
- Open GitHub Copilot Chat in VS Code
- Click the Tools button to enable MCP tools
- The MCP Engine server for Power BI will appear automatically
Connect to your model
In Copilot Chat, type:
List my available Power BI models and connect to the first one
Start building!
Now you can use natural language to work with your model.
Real-world examples
Create time intelligence measures
I need Year-over-Year growth measures for my Sales table. Create:
- Total Sales
- Sales Last Year
- Sales YoY Growth %
- Sales Year-to-Date
Put them in the "Time Intelligence" display folder with proper formatting.
Document your entire model
Generate complete documentation for my Power BI model including:
- All tables with descriptions
- Column data types and formats
- Measures with their DAX formulas
- Relationships and cardinality
- Data sources and refresh schedules
Format as Markdown with a table of contents.
Analyze and fix relationships
Review all relationships in my model and identify:
1. Any inactive relationships that might be needed
2. Bidirectional relationships that could cause issues
3. Missing relationships between related tables
4. Recommendations for optimization
Build customer retention metrics
Create a measure that calculates customer retention rate:
- Count unique customers this period
- Count customers who also bought last period
- Calculate retention percentage
- Handle edge cases and add error handling
- Format as percentage with 1 decimal
Add multi-language support
Add French (fr-FR) and German (de-DE) translations to my model.
Translate all table names, column names, and measure names.
Keep technical/system names in English but translate display names.
Analyze VertiPaq statistics for my model and identify:
- Columns with high cardinality that should be reviewed
- Tables with poor compression ratios
- String columns that could be converted to whole numbers
- Recommendations to reduce model size
Security implementation
Set up row-level security with these roles:
1. Sales Manager - see all regions
2. Regional Rep - filter to [Region] = USERPRINCIPALNAME()
3. Finance Team - read-only access with no filtering
Show me the DAX filters for each role.
Advanced configuration
Extension settings
Customize the server behavior in VS Code Settings (File > Preferences > Settings):
mcpEngine.serverPath
Path to a custom server executable (advanced users only)
mcpEngine.args
Additional command-line arguments like -NoAutoSelect or -Debug
mcpEngine.environmentVariables
Environment variables as comma-separated KEY=VALUE pairs
Read-only mode
To prevent any modifications to your model, set the environment variable:
MCP_ENGINE_MODE=readonly
In read-only mode, you can still explore, document, query, and analyze—but cannot create, update, or delete anything.
Privacy and data handling
⚠️ Important: Understand who collects what
This MCP server does NOT collect any data:
- The MCP server runs entirely on your local machine
- It does NOT send telemetry, analytics, or usage data anywhere
- It does NOT upload your Power BI model data to external servers (except optional formatting APIs)
- It does NOT log your queries or model metadata externally
Note: Some optional features connect to external services:
- License validation uses LemonSqueezy for activation/validation
- DAX/M formatting (when enabled) sends expressions to external formatting APIs
- XMLA/Power BI Service connectivity authenticates through Microsoft endpoints
However, GitHub Copilot DOES collect conversation data:
- GitHub Copilot is a separate service from this MCP server
- When you use this extension, your conversations and model data go to GitHub Copilot's AI services
- GitHub Copilot may collect, store, and process your prompts, model information, and queries according to their privacy policy
- Review GitHub's privacy documentation before sharing sensitive or confidential model data
Your responsibility
You are responsible for:
- Understanding what data you share with AI assistants
- Reviewing and accepting the privacy policies of GitHub Copilot
- Ensuring compliance with your organization's data governance policies
- Not sharing sensitive, confidential, or regulated data if prohibited
- Using read-only mode when you want to prevent model modifications
We are NOT responsible for:
- How GitHub Copilot or other AI services handle your data
- Any data collected or stored by AI assistants
- Compliance with your organization's policies
- Data breaches or privacy issues with third-party AI services
How data flows
- Power BI Desktop → MCP Server (local connection, no external communication)
- MCP Server → GitHub Copilot (your model data is sent to Copilot's AI services)
- GitHub Copilot → You (responses come back through the same path)
The MCP server is just a bridge—it doesn't collect or store data. But the AI assistant does.
Safety features
- The server uses the same local Analysis Services API that Power BI Desktop uses internally
- All MCP-to-Power BI connections are local-only (no internet required)
- No credentials or connection strings are exposed to the AI
- Use read-only mode (
MCP_ENGINE_MODE=readonly) to guarantee no modifications can be made
Limitations
- Windows: Works with Power BI Desktop (local PBIX files) and Power BI Service XMLA endpoints
- macOS: Power BI Service XMLA endpoints only (Premium/Fabric required). Power BI Desktop is not available on macOS.
- Active file required (Windows): Power BI Desktop must have a PBIX file open and loaded
- Query limits: DAX queries return up to 1,000 rows by default (configurable)
Troubleshooting
Having issues? Check the Output panel in VS Code (View > Output > MCP Servers) for detailed error messages.
Common issues:
- No models found: Ensure Power BI Desktop is running with a PBIX file open
- Connection failed: Wait for the model to fully load in Power BI Desktop
- Tools not appearing: Click the Tools button in Copilot Chat to enable MCP
For detailed troubleshooting steps, see the Getting Started page.
Support and feedback
Legal and disclaimers
Developed by: Maxim Anatsko (maxanatsko.com)
Not affiliated with Microsoft: This extension and MCP server are developed independently. They are not affiliated with, endorsed by, or connected to Microsoft Corporation. Power BI, Analysis Services, and other Microsoft product names are trademarks of Microsoft Corporation.
Third-party notices: See THIRD_PARTY_NOTICES.md included with this extension.
License and warranty disclaimer: This software is proprietary and provided "as is" without warranty of any kind, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, and non-infringement.
Limitation of liability: In no event shall the author or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including but not limited to procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
Use at your own risk: You are solely responsible for:
- Evaluating the suitability of this extension for your use case
- Backing up your Power BI models before making changes
- Understanding the privacy implications of using AI assistants
- Compliance with your organization's data governance and security policies
- Any consequences arising from modifications made to your Power BI models
Version: 3.3.10 | MCP Protocol: 2025-11-25 | Platforms: Windows 10/11, macOS (Intel + Apple Silicon)