Skip to main content

Horizun PBI MCP

CI PyPI Python License

Build and fix Power BI reports by describing what you want. Ask in plain language; the server runs the DAX, edits the model, writes the report pages — and checks its own work afterwards.

How it works

v2.0.2 · 134 tools · Windows · Python 3.10+ · Claude Code, Codex, any MCP client

Install

No repository clone, manual DLL download or .mcp.json editing is required. Pick the line that matches you.

Claude Code

claude plugin marketplace add HorizunGroup/horizun-pbi-mcp
claude plugin install horizun-pbi-mcp@horizun

Codex

codex plugin marketplace add HorizunGroup/horizun-pbi-mcp

Then open /plugins, pick the Horizun marketplace and install horizun-pbi-mcp.

Or just ask the agent — easiest of all

Paste this into Claude Code or Codex and let it install itself:

Install Horizun PBI MCP from HorizunGroup/horizun-pbi-mcp. Complete the runtime setup, watch pbi_install_status until it reports ready, restart the session, and confirm the 134 pbi_* tools are available.

A brand-new Windows PC

One paste in PowerShell installs the prerequisites first — version-pinned and SHA-256 verified, no administrator rights. See docs/INSTALL.md.

Finishing up

The first setup downloads the runtime and takes a few minutes. Run pbi_install_status until it says ready, then restart your client once so the tools load. If anything looks stuck, docs/INSTALL.md covers repair and offline installs.

Your first minute

  1. Open Power BI Desktop with any report.
  2. Ask: "List the Power BI models that are open and connect to the first one."
  3. Ask: "Run a read-only DAX query that returns revenue by month for this year."

If step 2 answers, everything works.

Things worth asking for

Audit this PBIP project and explain the highest-risk issues before changing anything.
This measure returns blank for December. Find out why.
Create a report page from this specification, validate it, and show me the layout.
Document every measure in the model and export it to Excel.

What it provides

Area Capabilities
Live model Discover Desktop sessions, run DAX, inspect metadata, refresh, and manage measures through TOM
Semantic model Read and edit TMDL tables, columns, measures, relationships, roles and calculation groups
Report authoring Create pages and visuals, clone templates, arrange layouts, apply themes, bookmarks and interactions
Conversion Convert .pbix to .pbip, migrate supported structures and validate the result
Quality Audit models and reports, document schemas, detect broken references and normalize report structures
Delivery Export verified PDF, Word, Excel and PowerPoint artifacts; ingest SharePoint data read-only

See the tool catalog for all 134 tools and their risk classifications.

Why it is safe to point at real work

  • Local-first: Power BI Desktop communication stays on localhost.
  • No telemetry, and the MCP server needs no account.
  • Project writes stay inside the active project directory.
  • Every project write makes a backup and is re-read to confirm it landed.
  • Destructive tools require confirm=true.
  • JSON writes are atomic; invalid JSON is never written over good JSON.
  • Downloaded runtime components are version-pinned and SHA-256 verified.
  • Logs go to stderr or files, so stdout stays a clean JSON-RPC channel.

Full guarantees and failure behavior: security model and recovery guide. Report vulnerabilities privately as described in SECURITY.md.

Requirements

  • Windows 10 or 11.
  • Python 3.10 or newer.
  • Power BI Desktop — only for the live layer (DAX, refresh, capture, render checks).
  • A .pbip project with PBIR enabled, for report-file authoring.
  • Node.js 20+ only for the optional Microsoft PBIR validator.

Claude Code, Codex and Power BI Desktop are external programs; this project does not install them. Without Desktop the .pbip tools still work — the live tools do not.

Known limits

  • Power BI does not expose pages or visuals through its live local endpoint, so those are edited in PBIR files while Desktop is safely closed.
  • mode="both" is disabled for dual live/disk writes: Desktop being open and a PBIP project being safe to edit are mutually exclusive states.
  • The server does not publish to or refresh the Power BI Service.
  • Three PBIR schemas referenced by Power BI are not published by Microsoft; affected writes fail closed instead of guessing.

Documentation

Document Purpose
Installation Setup, repair, offline installation and MCP client registration
Tutorial First connection through report authoring
Tool catalog All tools, grouped by capability and risk
Architecture Components, boundaries and invariants
Security Threat model and operational guarantees
Validation TMDL/PBIR validation layers and known limits
Migration guide Breaking changes from 1.x to 2.0
Contributing Development workflow and pull-request requirements

Development

git clone https://github.com/HorizunGroup/horizun-pbi-mcp.git
cd horizun-pbi-mcp
python -m pip install -e .
python scripts/fetch_libs.py
python scripts/fetch_pbir_schemas.py
python scripts/doctor.py

Before opening a pull request:

python -m pytest -q
python scripts/doctor.py
python -m tests.contract_utils

The MCP contract is frozen and checked against tests/golden/tools_v1.json. Real .pbix, .pbip, credentials, DLLs, outputs and backups are never committed. See AGENTS.md for the repository invariants.

License

Apache License 2.0. See LICENSE and NOTICE.

Release files for horizun-pbi-mcp 2.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for horizun-pbi-mcp 2.0.2
File Size Uploaded
horizun_pbi_mcp-2.0.2.tar.gz 969.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for horizun-pbi-mcp 2.0.2
File Interpreter ABI Platform
horizun_pbi_mcp-2.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / horizun_pbi_mcp-2.0.2.tar.gz

Download URL horizun_pbi_mcp-2.0.2.tar.gz
Size 969.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d1745893f718a0ce962af9638de424a4099a093653713eded2ffdec79d9a132e
BLAKE2b-256 checksum
How to use checksums
242afcb362158f1a6049c340c684f043416dad3fcf8f3602e4ec018b8b3d310f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / horizun_pbi_mcp-2.0.2-py3-none-any.whl

Download URL horizun_pbi_mcp-2.0.2-py3-none-any.whl
Size 608.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f1ed2d522317b48e3c8e996259d767f88179fc8ea9f5a936fbe53e5bd02131d6
BLAKE2b-256 checksum
How to use checksums
bcfeeafd10af89610d77a65ad50569b10cc302b8e2b6da7996924ff42b17a0e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release history Release notifications | RSS feed

2.1.1

2 release files

2.1.0

2 release files

This release

2.0.2 This release

2 release files

2.0.1

2 release files

1.5.4

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page