Back to Discover

powerbi-pbix-mcp

connector

cyphonica

Local Power BI authoring for AI agents: edit .pbix, semantic model, report, and Power Query.

View on GitHub
0 starsSynced Aug 14, 2026

Install to Claude Code

/plugin marketplace add cyphonica/powerbi-pbix-mcp

README

Super BI MCP

Release License: FSL-1.1-ALv2 Platform: Windows Tools: 490

An MCP server that gives AI agents full local Power BI authoring - the semantic model, the report, and Power Query M - by editing .pbix and PBIP/PBIR files directly. 490 tools, backed by ~1,800 automated tests.

Point Claude (or any MCP client) at it and the agent can build a model, write the DAX, lay out the report pages and visuals, transform the Power Query, lint and auto-fix best-practice violations, prove the RLS actually filters, rename a column across the model and every report binding in one atomic call, screenshot the rendered result out of a running Power BI Desktop, evaluate DAX and read table rows out of a closed .pbix with no Fabric, edit a closed .pbit template's model with no Desktop at all, and hand you back a finished .pbix - all on your machine.

Why this instead of the other Power BI MCP servers

Super BI MCPMicrosoft Power BI Modeling MCP + agent skillsCommunity servers
Semantic model authoring (TOM)Yes, with write transactions + rollbackYesPartial
Report authoring (pages, visuals, filters, bookmarks)Yes - legacy Layout and PBIR, deterministic toolsSkill-guided raw JSON editing by the LLM (separate skill pack)Report-only or preview
Direct .pbix editingYesNo - PBIP files onlyRare
Power Query M authoringYes - 60+ transform/generator toolsAnalyze/refactor onlyRare
Propagating renames (model rename rewrites DAX, M, and every report binding, atomically)YesNoOne server, PBIP-only
Model-to-report cross-analysis (usage, unused fields incl. conditional-formatting bindings, broken-reference repair)YesNoPartial
RLS execution testing (run any query as any role, per-role matrix)YesNoPartial
DAX benchmark + Analysis Services trace (FE/SE split, cache hits)YesBenchmark yesPartial
Offline DAX linter (incl. catching hallucinated function names before they hit the engine)YesNoOne server
Visual formattingDeterministic property registry for 52 visual types, validated against the theme scheman/aRaw JSON edits
Best Practice Analyzer89 rules, 28 with automatic fixes, Tabular Editor ruleset importLooseRare
Desktop feedback loop (page screenshots + hot-reload from a running Desktop)Yes - via the Desktop BridgeYes - same bridge, separate CLINo
Layout, star-schema, theme-compliance, naming and file-integrity auditsYesNoPartial
DAX generators (time-intelligence, ranking, segmentation, calc groups, dynamic RLS, custom calendars)Yes, live or straight to TMDL offlinen/aPartial
Works offline, no Fabric accountYesYes (local mode)Varies
Ships asOne integrated serverA server + a skills pack + two CLIsSingle-purpose servers

The short version: Microsoft's official server stops at the semantic model, and its report story is a separate skill pack that has the LLM hand-write layout JSON. This is one server that authors the whole artifact - model, report, and Power Query - with deterministic, validated tools, treats model and report as one cross-referenced thing (renames propagate, broken bindings are found and fixed, unused fields are provable), and works on the .pbix files you actually have, not just PBIP folders.

Requirements

  • Windows x64 (the engine drives the Analysis Services client libraries and, for live-model work, Power BI Desktop)
  • Power BI Desktop - needed for live model editing, bulk refresh, bake, and the engine-backed offline .pbix tools; report-layer and file-level tools work without it
  • Node.js 16+ to install via npx (below), or the .NET 8 SDK to build from source

Install

One command (recommended) - no .NET SDK needed. Add this to your MCP client's config (Claude Code / Claude Desktop .mcp.json, Cursor, etc.):

{
  "mcpServers": {
    "super-bi": {
      "command": "npx",
      "args": ["-y", "powerbi-pbix-mcp"]
    }
  }
}

The first launch downloads the self-contained engine SuperBiMcp.exe (~109 MB) from the latest release, verifies its SHA-256, and caches it under ~/.powerbi-pbix-mcp/; later launches reuse the cache. Set SUPERBI_MCP_EXE to an existing SuperBiMcp.exe to skip the download.

Prefer a plain binary? Download SuperBiMcp-win-x64.zip from the release, extract, and point your client's command straight at SuperBiMcp.exe.

Build from source (needs the .NET 8 SDK):

git clone https://github.com/cyphonica/powerbi-pbix-mcp
cd powerbi-pbix-mcp
dotnet build src/SuperBiMcp.csproj -c Release

then register the built DLL with "command": "dotnet", "args": ["<absolute path>/src/bin/Release/net8.0/SuperBiMcp.dll"].

Then ask your agent to open a .pbix and get to work. docs/automation-capabilities/GENERATED-TOOL-INDEX.md lists every tool; regenerate it any time with SuperBiMcp capability-map.

CLI modes

The same binary is also a headless factory:

CommandWhat it does
SuperBiMcp build job.jsonHeadless report build from a declarative manifest (single file or batch/glob)
SuperBiMcp refresh <path-or-glob>Bulk-refresh .pbix files through Power BI Desktop, one at a time, saving each
SuperBiMcp scaffold spec.json out/In-memory model build to a complete PBIP (TMDL) - no Desktop needed
SuperBiMcp bake pbip/ out/Deploy + refresh a scaffolded model and produce the populated binary DataModel
SuperBiMcp materialize <solutionId>Turn a solution spec + sample data into a starter .pbix (bring your own solutions/ catalog - not bundled)
SuperBiMcp sentinel-diff before.json after.jsonCI integrity gate over two model snapshots
SuperBiMcp capability-map --checkDocs drift gate - fails when the committed tool index no longer matches the code
SuperBiMcp jobs listInspect the durable job queue used to serialise heavy Desktop work
SuperBiMcp templatesDump the 300 built-in starting-point templates

Testing

dotnet test tests/SuperBiMcp.Tests/SuperBiMcp.Tests.csproj -c Release

A handful of live-connector smoke tests skip unless you provide credentials via DAXTEST_* environment variables. Set SUPERBI_TEST_SCRATCH to move test scratch space off your system drive.

Environment variables

VariablePurpose
SUPERBI_PROTECTED_PATHS;-separated directories the DataMashup writer refuses to touch (fence off live folders)
SUPERBI_TEST_SCRATCHScratch root for the test suite (defaults to the system temp dir)
SUPERBI_PBIX_SAVERCommand template that turns a refreshed PBIP into a populated .pbix (see src/Materialize.cs)
SUPERBI_AS_SERVERAnalysis Services instance for bake (defaults to an ephemeral private engine)
DAXOPS_PBI_TOKEN / DAXOPS_XMLA_ENDPOINT / DAXOPS_XMLA_CATALOGPower BI Service / XMLA connectivity for the service-side tools

License

Source-available under the Functional Source License, FSL-1.1-ALv2 (see LICENSE.md).

Use it freely for anything internal, personal, educational, or for client/consulting work. You may not offer it, or a product substantially built on it, as a competing commercial product or hosted service. Each release automatically becomes Apache 2.0 two years after publication.

This is a curated public mirror of a private development tree; history starts at the first public release and updates land as versioned drops.

Acknowledgements

See NOTICE.md for bundled third-party assets and rule-set attributions.

Rendered live from cyphonica/powerbi-pbix-mcp's GitHub README — not stored, always reflects the source repo.

1 Install Method

NameDescriptionCategorySource
npm packageInstall via npm (stdio transport)mcp-serverpowerbi-pbix-mcp

0 Comments

Login required
Log in to post a comment or update on this repo.

No comments yet — be the first to share an update.