# Power BI Authoring MCP

> Microsoft's local MCP server for Power BI: your agent builds and changes semantic models, runs DAX queries and applies best practices.

The Power BI Authoring MCP Server lets your agent work on Power BI semantic models in plain words. It connects to models in Power BI Desktop, in a Fabric workspace or in Power BI Project (PBIP and TMDL) files.

What you can do with it
- Create and change tables, columns, measures, relationships, hierarchies and partitions
- Make bulk changes across many objects at once, such as renames and refactors, inside transactions you can roll back
- Run and validate DAX queries, and benchmark a query against more than one model
- Add descriptions and translations across the model, and set up row-level security roles
- Refactor measures into calculation groups or DAX user-defined functions
- Document a model as Markdown and check it against modeling best practices

How it connects
It runs on your machine with npx @microsoft/powerbi-modeling-mcp@latest --start, or through its VS Code extension with GitHub Copilot. Before first use you accept its license (EULA); the server blocks its other tools until you do. For models in a Fabric workspace, Microsoft recommends its hosted Power BI Authoring MCP server instead.

Good to know
Back up your model before making changes, since the agent may make edits you didn't expect. It only changes the semantic model, not report pages or diagram layouts.

- Type: Plugin
- Made by: Microsoft
- Category: Data & analytics
- Formats: Local MCP
- Version: 1.0.0
- Website: https://github.com/microsoft/powerbi-modeling-mcp
- Source: https://github.com/microsoft/powerbi-modeling-mcp
- Page: https://pluginboard.ai/plugins/power-bi-authoring-mcp

## Works with

- Claude
- GitHub Copilot
- Cursor
- Claude Code
- Codex
- Antigravity
- Gemini CLI
- OpenClaw
- OpenCode
- Hermes Agent

## Install

### Claude

Add to claude_desktop_config.json:

```json
{
  "mcpServers": {
    "power-bi-authoring-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@microsoft/powerbi-modeling-mcp@1.0.0",
        "--start",
        "<--start>"
      ]
    }
  }
}
```

### GitHub Copilot

Add to VS Code: vscode:mcp/install?%7B%22name%22%3A%22power-bi-authoring-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40microsoft%2Fpowerbi-modeling-mcp%401.0.0%22%2C%22--start%22%2C%22%3C--start%3E%22%5D%7D

Run in your terminal:

```shell
code --add-mcp '{"name":"power-bi-authoring-mcp","command":"npx","args":["-y","@microsoft/powerbi-modeling-mcp@1.0.0","--start","<--start>"]}'
```

Copilot CLI:

```shell
copilot mcp add power-bi-authoring-mcp -- npx -y @microsoft/powerbi-modeling-mcp@1.0.0 --start <--start>
```

### Cursor

Add to Cursor: cursor://anysphere.cursor-deeplink/mcp/install?name=power-bi-authoring-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBtaWNyb3NvZnQvcG93ZXJiaS1tb2RlbGluZy1tY3BAMS4wLjAiLCItLXN0YXJ0IiwiPC0tc3RhcnQ%2BIl19

Add to .cursor/mcp.json:

```json
{
  "mcpServers": {
    "power-bi-authoring-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@microsoft/powerbi-modeling-mcp@1.0.0",
        "--start",
        "<--start>"
      ]
    }
  }
}
```

### Claude Code

Run in your terminal:

```shell
claude mcp add power-bi-authoring-mcp -- npx -y @microsoft/powerbi-modeling-mcp@1.0.0 --start <--start>
```

### Codex

Run in your terminal:

```shell
codex mcp add power-bi-authoring-mcp -- npx -y @microsoft/powerbi-modeling-mcp@1.0.0 --start <--start>
```

### Antigravity

Add to ~/.gemini/config/mcp_config.json:

```json
{
  "mcpServers": {
    "power-bi-authoring-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@microsoft/powerbi-modeling-mcp@1.0.0",
        "--start",
        "<--start>"
      ]
    }
  }
}
```

### Gemini CLI

Run in your terminal:

```shell
gemini mcp add power-bi-authoring-mcp npx -y @microsoft/powerbi-modeling-mcp@1.0.0 --start <--start>
```

### OpenClaw

In a terminal: Run openclaw mcp add power-bi-authoring-mcp --command npx, with --arg before each argument (-y @microsoft/powerbi-modeling-mcp@1.0.0 --start <--start>) and --env NAME=value for each variable it needs.

### OpenCode

Run in your terminal:

```shell
opencode mcp add power-bi-authoring-mcp -- npx -y @microsoft/powerbi-modeling-mcp@1.0.0 --start <--start>
```

### Hermes Agent

Add to ~/.hermes/config.yaml:

```json
{
  "mcp_servers": {
    "power-bi-authoring-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@microsoft/powerbi-modeling-mcp@1.0.0",
        "--start",
        "<--start>"
      ]
    }
  }
}
```

---
From Pluginboard (https://pluginboard.ai).
