Pbirb MCP logo

Pbirb MCP

Edit Power BI Report Builder RDL files through MCP tools for inspection, data binding, queries, filters, groups, and layout.

Install Pbirb MCP

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "pbirb-mcp": {
      "command": "uvx",
      "args": [
        "pbirb-mcp"
      ],
      "env": {
        "PBIRB_MCP_LOG_FILE": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

uvx pbirb-mcp

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 2d ago.

Overview

pbirb-mcp MCP server lets MCP clients inspect and edit Power BI Report Builder paginated reports stored as .rdl files. It reads report XML from disk, exposes inventory and mutation tools over JSON-RPC 2.0 on stdio, validates changes, and saves updates atomically. Reach for it when an agent needs to modify datasets, DAX queries, parameters, tablixes, filters, groups, or report layout without hand-editing RDL XML.

Use cases

  • Inspect an RDL report before editing its datasets and parameters
  • Replace a paginated report dataset query with DAX
  • Bind a report data source to a Power BI XMLA endpoint
  • Add filters, groups, calculated fields, or query parameters
  • Modify tablix layout and visibility through an MCP client

Key features

  • RDL report inspection
  • DAX query and dataset editing
  • Power BI XMLA data source configuration
  • Dataset and tablix filter management
  • Row, column, and matrix grouping
  • Atomic report file saves

Tools80

What Pbirb MCP lets your agent do. Expand a tool for its parameters.

Self-reported~1.6k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

4/4 checks healthy over the last 41d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 13d ago via OSV.dev · pbirb-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars6Stargazers on the source repository.
Last commit3mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed80Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Pbirb MCP works

What pbirb-mcp MCP server does

The pbirb-mcp MCP server connects an MCP client to Power BI Report Builder paginated report files in RDL format. It provides read-only tools for understanding a report and mutation tools for changing its XML structure. The available operations cover report inventory, data sources, datasets, parameters, tablixes, embedded images, expressions, filters, grouping, sorting, visibility, and tablix columns.

A typical workflow starts by inspecting a report with describe_report, get_datasets, get_parameters, and get_tablixes. Edits then address report elements by their RDL Name attribute, such as a dataset, tablix, textbox, or report parameter, rather than relying on positional indexes.

How it works

The pbirb-mcp MCP server communicates with clients using JSON-RPC 2.0 over standard input and output. Each tool receives a path to an .rdl file. The server parses the file with lxml, applies the requested XML change, validates the resulting structure, and writes the report atomically. A failed save does not leave a partially written report or replace the original with an incomplete file.

Read operations can return DAX command text, dataset fields, query parameters, filters, connection details, parameter metadata, tablix groups, sort expressions, visibility settings, named body items, textbox properties, and embedded image metadata or bytes. Editing operations can update an existing query, add or remove query parameters and fields, create calculated fields, refresh fields from query metadata, and manage dataset or tablix filters.

Most mutating operations accept an optional transaction identifier. This allows several changes to be grouped into one save operation. The repository describes the tool surface and schemas as the contract, but the project is pre-1.0, so minor releases may introduce documented breaking changes.

Setup and configuration

Install the published package with uvx pbirb-mcp; this runs the pbirb-mcp console script in a temporary environment. For local development, the repository supports a uv virtual environment and editable installation with development dependencies.

Claude Desktop can launch the server with a configuration entry using uvx and the pbirb-mcp argument. Claude Code can add the same command through claude mcp add, a workspace .mcp.json file, or the repository's plugin installation commands. Other MCP clients can start the stdio process directly.

The optional PBIRB_MCP_LOG_FILE environment variable selects a file for logs. When it is not set, logs go to stderr. The log path must use the native format for the operating system. No environment variable is required for the basic server process.

Tools and capabilities

The tool set supports:

  • Inspecting data sources, datasets, parameters, tablixes, body items, textboxes, images, and report expressions.
  • Repointing a data source to a Power BI XMLA endpoint and managing data source elements.
  • Replacing DAX command text and managing query parameters, dataset fields, calculated fields, and dataset filters.
  • Adding or removing tablix filters, row groups, column groups, and tablix columns.
  • Converting a table to a matrix, setting the matrix corner, changing group sorting, and controlling group or detail-row visibility.
  • Reading embedded image metadata and retrieving image bytes.

The authoritative names and input schemas are exposed through the MCP tools/list response.

Limitations and notes

The server edits files on disk; it does not provide a hosted report service or render previews itself. After an edit, open the resulting RDL in Report Builder to inspect the designer and preview the report against its bound dataset.

The project is pre-1.0. Clients or prompts that depend on particular tool names, schemas, output shapes, or error behavior should pin to a minor version while the package remains on the 0.x release line. Use names rather than indexes when chaining edits, because indexes can change after earlier modifications.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Pbirb MCP

pbirb-mcp is an MCP server that connects MCP clients to Power BI Report Builder paginated report files in RDL format. Its main tools inspect reports, datasets, data sources, parameters, and tablixes, then edit DAX queries, fields, filters, groups, visibility, and other report structure directly in the RDL file.

Install it with `uvx pbirb-mcp`, which downloads and runs the published package without a separate virtual environment. For development, clone the repository, create a uv environment, and install it in editable mode with its development dependencies.

Add a server entry that runs `uvx` with `pbirb-mcp` as its argument in Claude Desktop's MCP configuration, then restart Claude Desktop. The server communicates over stdio and appears among the client's available tools.

Add it with `claude mcp add pbirb -- uvx pbirb-mcp`, or place the equivalent `uvx pbirb-mcp` command in a workspace `.mcp.json` file. The repository also documents a Claude Code plugin installation path.

Yes. It parses and validates the RDL, then writes changes atomically, so a failed save does not leave a half-written report or overwrite the original with incomplete content. Open the resulting file in Report Builder to verify the rendered report.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewPbirb MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/pbirb-mcp?style=directory)](https://allmcps.com/mcp/pbirb-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/pbirb-mcp"><img src="https://allmcps.com/api/badge/pbirb-mcp?style=directory" alt="Pbirb MCP on AllMCPs" /></a>