MCP server for editing Power BI Report Builder paginated reports (RDL)
MCP server for editing Power BI Report Builder paginated reports (RDL). Exposed over MCP by the pbirb mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.
An MCP server for editing Power BI Report Builder paginated reports (.rdl) through Claude (Desktop, CLI, or any MCP client). 140+ tools cover the gaps that otherwise force hand-written XML: report creation, data sources and datasets, calculated fields, dataset and tablix filters, groupings (row, column, matrix), sorting, charts, headers and footers, body composition, layout containers, positioning, styling, page setup, pagination, advanced parameters, embedded images, interactivity (actions, tooltips, document map), transactions, and validation.
Everything the assistant can do here goes through one of these:
describe_report — Top-level inventory: data sources, datasets, parameters, tablixes, page setupget_parameters — Report parameters with data type, prompt, and flags (multi-value, hidden, nullable, allow-blank)get_tablixes — Tablix layout: columns, row/column groups, sort expressions, filters, visibilityget_expression_reference — Cheat-sheet of common RDL expression patterns (count_where, sum_where, iif_format helpers build these)set_datasource_connection — Repoint a at a Power BI XMLA endpoint. DataProvider=SQL (the AS provider id)update_dataset_query — Replace // with a DAX expressionadd_query_parameter — Append (e.g. =Parameters!DateFrom.Value)update_query_parameter — Change the value expression of an existing query parameterremove_query_parameter — Drop a query parameter (and clean up empty )refresh_dataset_fields — Re-derive the list from the query's column metadataadd_tablix_filter — Append a . Operators: Equal, NotEqual, GreaterThan, In, Between, Like, TopN, ..remove_tablix_filter — Remove by ordinal index from list_tablix_filtersInstallation goes through your MCP client rather than a global install: point it at pbirb-mcp on PyPI and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
Among the database access options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Pbirb's toolset — describe_report, get_parameters, get_tablixes and 11 more — is a fair guide to whether it matches your workflow. It is maintained by mafaq229; worth a glance at recent repository activity before you build anything load-bearing on it.
This entry was verified against Pbirb's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.
| Tool | What it does |
|---|---|
| describe_report | Top-level inventory: data sources, datasets, parameters, tablixes, page setup |
| get_parameters | Report parameters with data type, prompt, and flags (multi-value, hidden, nullable, allow-blank) |
| get_tablixes | Tablix layout: columns, row/column groups, sort expressions, filters, visibility |
| get_expression_reference | Cheat-sheet of common RDL expression patterns (count_where, sum_where, iif_format helpers build these) |
| set_datasource_connection | Repoint a <DataSource> at a Power BI XMLA endpoint. DataProvider=SQL (the AS provider id). |
| update_dataset_query | Replace <DataSet>/<Query>/<CommandText> with a DAX expression |
| add_query_parameter | Append <QueryParameter> (e.g. =Parameters!DateFrom.Value) |
| update_query_parameter | Change the value expression of an existing query parameter |
| remove_query_parameter | Drop a query parameter (and clean up empty <QueryParameters>) |
| refresh_dataset_fields | Re-derive the <Fields> list from the query's column metadata |
| add_tablix_filter | Append a <Filter>. Operators: Equal, NotEqual, GreaterThan, In, Between, Like, TopN, ... |
| remove_tablix_filter | Remove by ordinal index from list_tablix_filters |
| convert_to_matrix | Promote a table to a matrix (row + column groups) — see [docs/MATRIX-cookbook.md](docs/MATRIX-cookbook.md) |
| set_tablix_corner | Set the matrix corner cell text/expression |
{
"mcpServers": {
"pbirb": {
"command": "uvx",
"args": ["pbirb-mcp"]
}
}
}Configuration as documented by the project. Restart the client after saving.
Read-only SQL access to Postgres — let your assistant inspect schemas and answer questions from real data.
Manage your whole Supabase project in conversation — database, auth, storage, Edge Functions and branches.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Official MongoDB server covering data, schemas and Atlas management — from find queries to spinning up clusters.
Serverless Postgres with database branching — point your assistant at Neon and let it work on disposable copies.