# pbirb-mcp

Edits Power BI Report Builder paginated reports (.rdl) from chat: builds a report, wires data sources and datasets, sets parameters.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 6
- Author: mafaq229
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/mafaq229/pbirb-mcp
- Updated: 2026-07-20
- HTML: https://affpapa.org/en/nevibecode/mcp/pbirb-mcp

## What it does

The server reads an `.rdl` from disk, mutates it with lxml, checks the structure and writes atomically. A failed save leaves neither a half-written report nor a damaged original. Transport is JSON-RPC 2.0 over stdio, so the client spawns it directly.

Over 140 tools cover report creation, data sources and datasets, calculated fields, filters, groupings (row, column, matrix), sorting, charts, headers and footers, body layout, positioning, styling, page setup, pagination, parameters, embedded images, interactivity and validation. Mutating tools address elements by their RDL `Name` attribute rather than by index, since indices drift across multi-step edits. A set of edits can be batched into one atomic save with `transaction_id`.

The project is pre-1.0. Tool names, `inputSchema` and output shapes form the contract, yet minor releases may carry a small breaking change documented in the changelog. Pin to a minor release such as `pbirb-mcp~=0.1` when your prompts rely on exact tool names or schemas.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add pbirb-mcp -- uvx pbirb-mcp
```
uvx runs the command named after the package; if the README names another one, use uvx --from pbirb-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add pbirb-mcp -- uvx pbirb-mcp
```
uvx runs the command named after the package; if the README names another one, use uvx --from pbirb-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "pbirb-mcp": {
            "command": "uvx",
            "args": [
                "pbirb-mcp"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from pbirb-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "pbirb-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "pbirb-mcp"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from pbirb-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add pbirb-mcp uvx pbirb-mcp
```
uvx runs the command named after the package; if the README names another one, use uvx --from pbirb-mcp <command>

## When to use it
- create a paginated report without hand-writing XML
- bind a report to a Power BI dataset and swap the DAX query
- add date parameters and pass them into the query
- build a page header with a logo and a parameter line
- inspect report structure before editing

## Example prompts
- Open `~/Reports/sales.rdl` and list its datasets and parameters
- Bind the report to the "FY26 Sales" dataset and change the body query to a date-ranged DAX expression
- Add a header logo from `~/brand/logo.png` and a date line

## Similar
- [RDL MCP Server](https://affpapa.org/en/nevibecode/mcp/rdl-mcp-server.md) — MCP server · ★ 13
- [power-bi-performance-troubleshooting](https://affpapa.org/en/nevibecode/skills/power-bi-performance-troubleshooting.md) — skill · 8900 installs
- [Horizun PBI MCP](https://affpapa.org/en/nevibecode/mcp/horizun-pbi-mcp.md) — MCP server · ★ 32
- [Power BI DAX Expert Mode](https://affpapa.org/en/nevibecode/agents/power-bi-dax-expert-mode.md) — subagent · ★ 40451
- [SemanticOps MCP (for Power BI)](https://affpapa.org/en/nevibecode/mcp/semanticops-mcp-for-power-bi.md) — MCP server · ★ 255
- [power-bi-salespulse-360-dashboard](https://affpapa.org/en/nevibecode/skills/power-bi-salespulse-360-dashboard.md) — skill · 656 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
