pbirb-mcp — Claude Code MCP server: edit RDL paginated reports
Edits Power BI Report Builder paginated reports (.rdl) from chat: builds a report, wires data sources and datasets, sets parameters.
claude mcp add pbirb-mcp -- uvx pbirb-mcpWhat pbirb-mcp 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.
What it helps with
- 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 for the agent
- Open
~/Reports/sales.rdland 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.pngand a date line
How to install pbirb-mcp
Platform CLI
claude mcp add pbirb-mcp -- uvx pbirb-mcpuvx runs the command named after the package; if the README names another one, use uvx --from pbirb-mcp <command>
Platform CLI
codex mcp add pbirb-mcp -- uvx pbirb-mcpuvx runs the command named after the package; if the README names another one, use uvx --from pbirb-mcp <command>
Config file
{
"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>
Config file
{
"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>
Platform CLI
gemini mcp add pbirb-mcp uvx pbirb-mcpuvx runs the command named after the package; if the README names another one, use uvx --from pbirb-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about pbirb-mcp
How do I install pbirb-mcp in Claude Code?
Run claude mcp add pbirb-mcp -- uvx pbirb-mcp. Alternatively, add the server to .mcp.json at the workspace root with the uvx command and pbirb-mcp as its argument.
What does pbirb-mcp do?
It gives the agent tools for editing Power BI Report Builder paginated reports in .rdl format, from report creation and dataset setup to headers, parameters and structure validation.
What happens to prompts tied to specific tool names?
Before v1.0, minor releases can introduce small breaking changes to names and schemas. Pinning to a minor version, for example pbirb-mcp~=0.1, keeps that from catching you off guard.