Power BI Authoring MCP Server

Microsoft's local server for building and editing Power BI semantic models from an AI agent

Official · Microsoft C# Local · stdio Data and analyticsDatabases

86 popularity score ★ 1.3k ↓ 18k/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add power-bi-authoring -- npx -y @microsoft/powerbi-modeling-mcp@latest --start
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "power-bi-authoring": {
      "command": "npx",
      "args": [
        "-y",
        "@microsoft/powerbi-modeling-mcp@latest",
        "--start"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "power-bi-authoring": {
      "command": "npx",
      "args": [
        "-y",
        "@microsoft/powerbi-modeling-mcp@latest",
        "--start"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "power-bi-authoring": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@microsoft/powerbi-modeling-mcp@latest",
        "--start"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.power-bi-authoring]
command = "npx"
args = ["-y", "@microsoft/powerbi-modeling-mcp@latest", "--start"]
Gemini CLITerminal
gemini mcp add --scope user power-bi-authoring npx -- -y @microsoft/powerbi-modeling-mcp@latest --start

Settings 8

PBI_MODELING_MCP_ACCEPT_EULA Optional: Set to true to accept the EULA for unattended runs (or pass --accepteula).
AZURE_TENANT_ID Optional: Entra tenant ID; needed for service-principal sign-in or to pin a tenant.
AZURE_CLIENT_ID Optional: Service principal client ID, used with --authmode=serviceprincipal.
AZURE_CLIENT_SECRET Optional: Service principal secret, for secret-based sign-in.
AZURE_CLIENT_CERTIFICATE_PATH Optional: PFX/PEM certificate path, for certificate-based service principal sign-in.
AZURE_CLIENT_CERTIFICATE_PASSWORD Optional: Password for that certificate, if it has one.
PBI_MODELING_MCP_ALLOWED_CONNECTION_HOSTS Optional: Comma-separated custom XMLA hosts (Azure or SQL Server Analysis Services) it may connect to.
PBI_MODELING_MCP_AUDIT_LOG_PATH Optional: Folder for the local audit logs, kept seven days.

What it does

This is the local edition of Microsoft's Power BI Authoring MCP server. It runs on your own machine over stdio and gives an agent tools to read and change Power BI semantic models: tables, columns, DAX measures, relationships, partitions, hierarchies, calculation groups, security roles with row-level security, perspectives, Power Query parameters, cultures and translations. It can also run and check DAX queries, capture Analysis Services trace events, and wrap a batch of changes in a transaction that can be committed or rolled back.

It connects to three kinds of model: a file open in Power BI Desktop, a semantic model in a Fabric workspace (through the XMLA endpoint), or Power BI Project (PBIP) and TMDL folders on disk. Set the compatibility option to Full and it also works against Azure Analysis Services or SQL Server Analysis Services databases, once their hosts are on an allowlist. Typical uses are bulk renames, adding descriptions, translating a model, refactoring measures into calculation groups, and benchmarking a DAX query on two models.

Microsoft also runs a hosted version at a Fabric endpoint and recommends it for models in Fabric workspaces. The local one is the choice for Power BI Desktop, files on disk, service-principal sign-in in CI, or clients that cannot complete the hosted server's Entra OAuth sign-in. Although the repository is marked MIT, using the software is governed by a Microsoft EULA, and the npm build blocks every tool until that EULA is accepted. The software may send usage data to Microsoft.

What it needs

RuntimeNode.js 18+

Windows or Linux (macOS is not supported); Node.js 18 or later for the npx package, or the standalone executable taken from the VS Code extension package. A Power BI or Microsoft Entra account with Write permission on the semantic model (Build permission only allows DAX queries). For Fabric workspace models, the capacity's XMLA endpoint set to Read Write. The EULA must be accepted before tools run.

Limits

Only modelling operations: it cannot edit report pages or other Power BI metadata such as diagram layouts. Without Write permission it can only query. No macOS build. Custom Analysis Services hosts are refused unless listed in PBI_MODELING_MCP_ALLOWED_CONNECTION_HOSTS. Microsoft warns that the agent may make unintended changes and asks users to back up the model first; results depend strongly on the AI model used. No tenant admin setting blocks it; only turning off the XMLA endpoint does.

Who it suits

Suits Power BI developers who want an agent to do repetitive modelling work on a model in Power BI Desktop, in PBIP/TMDL files under source control, or in a Fabric workspace, including unattended runs with a service principal. People who only work against Fabric workspace models, or who use a Mac, should pick Microsoft's hosted Power BI Authoring endpoint instead, which needs no install but does need a tenant setting enabled and an Entra OAuth-capable client. Those who only need to read data or reports, not change models, will find most of its tools beyond what they need; it can be started with --readonly.

Tools 22

connection_operations
Connect to a model in Power BI Desktop or a Fabric workspace
database_operations
List, create, update and deploy semantic models; import and export TMDL folders
transaction_operations
Begin, commit or roll back a transaction and check its state
model_operations
Read, change, refresh, rename the model and get its statistics
table_operations
Create, edit, delete, list, rename and refresh tables
column_operations
Create, edit, delete, list and rename columns
measure_operations
Create, edit, delete, rename DAX measures or move them to another table
relationship_operations
Create, edit, delete, find and toggle relationships between tables
dax_query_operations
Run DAX queries against the model and check them for errors
trace_operations
Capture and inspect Analysis Services trace events
partition_operations
Create, edit, delete and refresh table partitions
user_hierarchy_operations
Manage user hierarchies and their levels and order
calculation_group_operations
Manage calculation groups and their items
security_role_operations
Set up security roles and row-level security filters
perspective_operations
Manage perspectives and which objects they show
named_expression_operations
Manage named expressions and Power Query parameters
function_operations
Manage DAX user-defined functions
culture_operations
Add, change or remove cultures for multi-language models
object_translation_operations
Set translated names and text for model objects
calendar_operations
Manage calendar objects and time intelligence column groups
query_group_operations
Organise Power Query expressions into query groups
accept_eula
Record the user's acceptance of the licence terms so other tools unlock

Similar servers