io.github.fabienfrfr/pbix-atlas
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@io.github.fabienfrfr/pbix-atlasanalyze lineage for sales.pbix and show all sources feeding the 'Revenue' measure"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
- BasedashOAuthcom.basedash
Governed BI MCP. Ask questions of live company data and list workspace sources via OAuth.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Knowledge coverage map and health score. Ingest docs into a governed knowledge graph via MCP.
Hosted code graph over MCP: exact callers, dependencies, and cross-repo blast radius for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for Power BI — local PBIX file analysis, cloud API operations, report export, and semantic model extraction from Power BI Desktop.30 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 gradedqualityCmaintenanceMCP 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.-