Skip to main content

Data Platform Toolkit

Ask your AI assistant where a Power BI number comes from, and get the answer down to the source column.

An MCP (Model Context Protocol) server for Power BI projects saved as PBIP. It reads the files on disk, with no connection to Power BI Desktop, the Power BI service or Microsoft Fabric, and lets an AI assistant:

  • analyse and safely edit semantic models in TMDL format (read-only by default);
  • find where measures and columns are used in PBIR reports, and which security roles read them;
  • trace end-to-end lineage: from the source column of a SQL Server database project, through its medallion layers and Power Query, to the measures and the report visuals.

tests

Asked where the Ratio card of a synthetic test project gets its numbers from, the server follows it back to the files the data warehouse loads (the full example):

flowchart LR
  subgraph L0["source"]
    n0["file:sales/orders/<br/>(Price)"]
    n1["file:sales/orders/<br/>(Qty)"]
    n2["file:targets/*.csv<br/>(Target)"]
  end
  subgraph L1["bronze"]
    n3["raw.orders.Price"]
    n4["raw.orders.Qty"]
  end
  subgraph L2["silver"]
    n5["core.sales.Amount"]
  end
  subgraph L3["gold"]
    n6["mart.sales.Amount"]
    n7["mart.targets.Target"]
  end
  subgraph L4["semantic model"]
    n8["[Ratio]"]
    n9["[Stretch Total]"]
    n10["[Total Sales]"]
    n11["Sales<br/>[Sales Amount]"]
    n12["Targets[Stretch]"]
  end
  subgraph L5["report"]
    n13["Shop / Overview /<br/>'Ratio' (card)"]
  end
  n0 --> n3
  n1 --> n4
  n2 --> n7
  n3 --> n5
  n4 --> n5
  n5 --> n6
  n6 --> n11
  n7 --> n12
  n8 --> n13
  n9 --> n8
  n10 --> n8
  n11 --> n10
  n12 --> n9

Try it

uvx --python 3.13 mcp-data-platform-toolkit --check "C:\path\to\Project.pbip"

--check validates the project and prints a ready-to-paste configuration for your MCP client. Full setup: docs/installation.md.

What you can ask

Ask What the server does
"Where is [Total Sales] used, and does any RLS role read it?" Searches every PBIR report and the RLS filters
"Which source columns does [Gross Margin %] come from?" Follows DAX, Power Query and the T-SQL of the database project, upstream
"If I drop mart.sales.Discount, what breaks?" The same chain, downstream, down to the visuals
"Draft the lineage.yaml of this database project." Reads the project and asks only what the SQL can't tell

More requests, with the tools behind each one: docs/tools.md.

How it fits with Microsoft's server

Microsoft's Power BI Modeling MCP Server works inside the semantic model. This server works around it, and answers the questions the model alone can't: which reports and security roles use each field, and where its data comes from.

Microsoft's Power BI Modeling MCP Server Data Platform Toolkit
Reads the semantic model, from Power BI Desktop, Fabric or a PBIP folder the PBIP files on disk: semantic model, PBIR reports, and the SQL database project
Answers what the model contains, and DAX queries where each field is used, who can see it, where its data comes from
Edits the whole model measures, calculation items, formats, folders, visibility, descriptions and OLS, written straight into the TMDL files; the rest of the model through the bridge

You don't have to choose. If the official server is installed, this server's optional bridge gives the assistant its modeling tools on the local PBIP folder, from the same connection. Everything else of the official server, such as DAX queries, refresh and cloud operations, stays with it.

Documentation

Released under the MIT License. Not affiliated with or endorsed by Microsoft. Power BI and Microsoft Fabric are trademarks of Microsoft Corporation.

Metadata

Release files for mcp-data-platform-toolkit 1.5.0

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

Source distribution (sdist)

Source distribution for mcp-data-platform-toolkit 1.5.0
File Size Uploaded Provenance Actions
mcp_data_platform_toolkit-1.5.0.tar.gz 328.1 kB With provenance Details for mcp_data_platform_toolkit-1.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mcp-data-platform-toolkit 1.5.0
File Interpreter ABI Platform Actions
mcp_data_platform_toolkit-1.5.0-py3-none-any.whl Python 3 none any Details for mcp_data_platform_toolkit-1.5.0-py3-none-any.whl

Total release size: 581.8 kB

Release files / mcp_data_platform_toolkit-1.5.0.tar.gz

Download URL mcp_data_platform_toolkit-1.5.0.tar.gz
Size 328.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c315e70c97590f40da03c116e8fc4b0dca7e119c4e1f75f0446c4a855b6f82ca
BLAKE2b-256 checksum
How to use checksums
3a49fa037eea07c86ef5fd90149ace45417ad63f68f1f2bbaa6ed99dd1661b4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / mcp_data_platform_toolkit-1.5.0-py3-none-any.whl

Download URL mcp_data_platform_toolkit-1.5.0-py3-none-any.whl
Size 253.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13295a8c2590a5c312829df9a65e502c4ba843b56b7c7cc6ec53f36bd9f9b2a8
BLAKE2b-256 checksum
How to use checksums
68609454d2c1f31a1f672d0c2a494db021f3ad00139b1aa87cda3e031772a056
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Security for mcp-data-platform-toolkit 1.5.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mcp_data_platform_toolkit-1.5.0.tar.gz

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 Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files Full provenance

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