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.
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
- Installation and client setup
- Tools reference
- End-to-end lineage and lineage.yaml
- Configuration and options
- Known limitations
- Development: project structure and tests
- Changelog · Contributing · Code of Conduct · Security
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.