io.github.fabienfrfr/pbix-atlas
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
PbixAtlas is an Universal lineage graph for Power BI .pbix files: source to visual field in one traversable graph.
source (HTTP, OData, SQL, file...) --> Power Query (M)
--> column / calculated column --> measure (DAX)
--> field displayed in a report visualInstall
pip install pbix-atlas
# or
uv add pbix-atlasRelated MCP server: fabric-model-reader-mcp
Quick start
from pbix_atlas import LineageGraphBuilder, upstream, downstream, print_tree, find_nodes
graph = LineageGraphBuilder().build("my_report.pbix")
find_nodes(graph, "customer_name")
print_tree(graph, "visual_field::my_report.pbix::Page1::16::customer_name", direction="upstream")
print_tree(graph, "source::odata::example.com/odata/", direction="downstream")Export
from pbix_atlas import export_graphml, export_nodes_csv, export_edges_csv, graph_summary
graph_summary(graph) # {'query': 70, 'column': 183, ...}
export_graphml(graph, "lineage.graphml") # Gephi / yEd
export_nodes_csv(graph, "nodes.csv")
export_edges_csv(graph, "edges.csv")Codegen — standalone Python pipeline
Generates a single Python file reproducing a report's full chain: source → extraction → Power Query → semantic model → Vizro dashboard. The M source is executed at runtime by the built-in interpreter, not pattern-matched. Unimplemented functions raise MRuntimeError (no silent stubs).
pip install "pbix-atlas[codegen]"
pbix-atlas-codegen my_report.pbix -o pipeline.pyfrom pbix_atlas import generate_python_pipeline
generate_python_pipeline("my_report.pbix", "pipeline.py")HTTP API / MCP server
uv sync --extra api
uv run pbix-atlas # http://127.0.0.1:8080REST:
POST /graphs,/search,/upstream,/downstream,/tree,/export,/codegenMCP (streamable HTTP):
http://127.0.0.1:8080/mcp/Env vars:
PBIX_LINEAGE_HOST,PBIX_LINEAGE_PORT
Architecture
Module | Responsibility |
| Node/edge types and shared data structures |
| Physical source detection (configurable patterns) |
| Adapter isolating from |
| Built-in M tokenizer and parser |
| M runtime interpreter + stdlib |
| DAX → Python (supported subset) |
| DAX reference parsing |
| Power Query dependencies (table-level) |
| Internal |
| Orchestrator: builds the |
| Upstream/downstream traversal, search, export |
| Python pipeline code generation |
| FastAPI + MCP mount (FastMCP) |
Sample files
Retail Analysis Sample PBIX (Microsoft)
Sales & Returns Sample v201912 (Microsoft)
Development
uv sync --extra dev
uv run pytest
uv buildThis server cannot be deployed
Maintenance
Related MCP Connectors
Governed BI MCP. Ask questions of live company data and list workspace sources via OAuth.
Turn Microsoft Fabric tables into an explainable graph and a GraphQL API. Understand how your Fabric tables fit together. See how your Fabric tables connect: the keys and relationships Krusgraph suggests, why, and what your data says, before a report or an app depends on them. A one-stop-shop for Data Engineering on Fabric
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Forge designed Power BI projects (.pbip) from your agent, bound to your own semantic model.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server for Power BI — local PBIX file analysis, cloud API operations, report export, and semantic model extraction from Power BI Desktop.16 npm1MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for reading and analyzing Fabric semantic models. Supports getting model definitions and executing DAX queries against Power BI datasets.17-
- AlicenseNot gradedqualityDmaintenanceEnables discovery of Power BI workspaces and datasets, retrieval of semantic model definitions (TMDL), and execution of DAX queries through the Power BI and Microsoft Fabric REST APIs, using MSAL/WAM authentication for secure token caching.MIT
- FlicenseNot gradedqualityDmaintenanceMCP Bundle for local Power BI report files, enabling scanning, reading, and extracting model tables from .pbix, .pbip, and .pbit files without any cloud API or authentication.-