superbi-mcp
Enables AI agents to author and edit Power BI files locally (.pbix/PBIP), covering semantic models, reports, and Power Query M with 490 tools.
README
Super BI MCP
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 MCP | Microsoft Power BI Modeling MCP + agent skills | Community servers | |
|---|---|---|---|
| Semantic model authoring (TOM) | Yes, with write transactions + rollback | Yes | Partial |
| Report authoring (pages, visuals, filters, bookmarks) | Yes - legacy Layout and PBIR, deterministic tools | Skill-guided raw JSON editing by the LLM (separate skill pack) | Report-only or preview |
Direct .pbix editing |
Yes | No - PBIP files only | Rare |
| Power Query M authoring | Yes - 60+ transform/generator tools | Analyze/refactor only | Rare |
| Propagating renames (model rename rewrites DAX, M, and every report binding, atomically) | Yes | No | One server, PBIP-only |
| Model-to-report cross-analysis (usage, unused fields incl. conditional-formatting bindings, broken-reference repair) | Yes | No | Partial |
| RLS execution testing (run any query as any role, per-role matrix) | Yes | No | Partial |
| DAX benchmark + Analysis Services trace (FE/SE split, cache hits) | Yes | Benchmark yes | Partial |
| Offline DAX linter (incl. catching hallucinated function names before they hit the engine) | Yes | No | One server |
| Visual formatting | Deterministic property registry for 52 visual types, validated against the theme schema | n/a | Raw JSON edits |
| Best Practice Analyzer | 89 rules, 28 with automatic fixes, Tabular Editor ruleset import | Loose | Rare |
| Desktop feedback loop (page screenshots + hot-reload from a running Desktop) | Yes - via the Desktop Bridge | Yes - same bridge, separate CLI | No |
| Layout, star-schema, theme-compliance, naming and file-integrity audits | Yes | No | Partial |
| DAX generators (time-intelligence, ranking, segmentation, calc groups, dynamic RLS, custom calendars) | Yes, live or straight to TMDL offline | n/a | Partial |
| Works offline, no Fabric account | Yes | Yes (local mode) | Varies |
| Ships as | One integrated server | A server + a skills pack + two CLIs | Single-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
.pbixtools; 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:
| Command | What it does |
|---|---|
SuperBiMcp build job.json |
Headless 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.json |
CI integrity gate over two model snapshots |
SuperBiMcp capability-map --check |
Docs drift gate - fails when the committed tool index no longer matches the code |
SuperBiMcp jobs list |
Inspect the durable job queue used to serialise heavy Desktop work |
SuperBiMcp templates |
Dump 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
| Variable | Purpose |
|---|---|
SUPERBI_PROTECTED_PATHS |
;-separated directories the DataMashup writer refuses to touch (fence off live folders) |
SUPERBI_TEST_SCRATCH |
Scratch root for the test suite (defaults to the system temp dir) |
SUPERBI_PBIX_SAVER |
Command template that turns a refreshed PBIP into a populated .pbix (see src/Materialize.cs) |
SUPERBI_AS_SERVER |
Analysis Services instance for bake (defaults to an ephemeral private engine) |
DAXOPS_PBI_TOKEN / DAXOPS_XMLA_ENDPOINT / DAXOPS_XMLA_CATALOG |
Power 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.