Power BI Modeling MCP Server
Manage and modify Power BI semantic models using natural language and AI agents.
Data last scanned today · Reviewed yesterday
Overview
This server enables AI models to interact with Power BI semantic models through the Model Context Protocol. It supports complex operations including the creation and update of tables, columns, measures, and relationships within both Power BI Desktop and Fabric environments. Developers can use it to perform bulk refactoring, rename objects, and apply modeling best practices across large semantic models. Beyond basic modeling, the tool facilitates agentic workflows by supporting TMDL and Power BI Project files. It allows AI assistants to validate DAX queries and autonomously execute structured modeling tasks. All operations are designed to handle batch processing, turning repetitive model maintenance into automated workflows.
Our verdict
This server carries a high-risk profile with a security score of 25/100. The primary risk is the complete lack of an authentication method, meaning anyone with access to the server configuration can issue modeling commands. Furthermore, the server operates with full write access without a read-only mode, necessitating extreme caution when connecting to production models. It is recommended for development environments only, and users must maintain consistent model backups to mitigate the risk of unintended AI-driven changes.
- Supports batch modeling operations at scale
- Integrates with TMDL and Power BI Project files
- Zero direct dependencies reduce supply-chain surface
- Includes built-in DAX query validation capabilities
- No authentication method for server access
- Lacks a read-only mode for safe exploration
- Community-maintained rather than official vendor software
Tools
| Tool | Description | Risk |
|---|---|---|
| connection_operations | Connect to Power BI Desktop or Fabric workspaces | medium |
| database_operations | Manage semantic models - connect, create, update, list databases, import/export TMDL folders, deploy to Fabric | high |
| transaction_operations | Control database transactions (begin, commit, rollback, get status) | medium |
| model_operations | Work with the overall model (get, create, update, refresh, get stats, rename) | high |
| table_operations | Manage tables (create, update, delete, get, list, refresh, rename) | high |
| column_operations | Manage individual table columns (create, update, delete, get, list, rename) | high |
| measure_operations | Manage individual DAX measures (create, update, delete, get, list, rename, move between tables) | high |
| relationship_operations | Handle relationships between tables (create, update, delete, activate/deactivate, find) | high |
| dax_query_operations | Execute, validate, and generate DAX queries against the model | low |
| trace_operations | Perform trace operations on semantic model to capture and analyze Analysis Services events. | low |
| partition_operations | Manage table partitions (create, update, delete, refresh specific partitions) | high |
| user_hierarchy_operations | Work with user-defined hierarchies (create, update, delete levels, reorder) | high |
| calculation_group_operations | Manage calculation groups and calculation items for time intelligence and other calculations | high |
| security_role_operations | Configure security roles and row-level security (RLS) table permissions | high |
| perspective_operations | Manage perspectives and their members (filtered views of the model for different audiences) | medium |
| named_expression_operations | Work with named expressions and Power Query parameters (create, update, delete, get, list, rename) | medium |
| function_operations | Manage individual DAX user-defined functions | medium |
| culture_operations | Manage cultures for multi-language support (create, update, delete, get valid culture names) | medium |
| object_translation_operations | Handle translations for model objects across different cultures/languages | medium |
| calendar_operations | Manage calendar objects and time intelligence column groups | medium |
| query_group_operations | Organize and manage query groups for Power Query expressions | medium |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What types of Power BI metadata can this server modify?
This server can only execute modeling operations such as managing tables, columns, measures, and relationships. It cannot modify other metadata types like report pages or diagram layouts.
›Is it possible to use this server outside of Visual Studio Code?
Yes, it can be configured in any MCP-compliant client using NPX with Node.js or by manually downloading and executing the server binary.
›What are the recommended AI models for best performance?
Deep-reasoning models like GPT-5 or Claude Sonnet 4.5 are recommended to ensure higher quality and relevance of the modeling results.
›Are there any specific risks when using this server with AI agents?
AI agents may produce unexpected or inaccurate results that could lead to unintended changes, and they might unintentionally expose sensitive model information. You should always create a backup of your model before performing any operations.
›Why might the server not appear in GitHub Copilot even after installation?
Ensure that the 'MCP servers in Copilot' option is enabled in your GitHub.com account settings, as this is disabled by default for enterprise accounts.
Alternatives
Badge
Maintain this server? Add the live badge to your README.