Io.Github.Fabienfrfr/Pbix Atlas
FreeNot checkedProvides full lineage graph analysis for Power BI .pbix files, enabling source-to-visual-field traversal. Exposes REST and MCP endpoints for building, searching
About
Provides full lineage graph analysis for Power BI .pbix files, enabling source-to-visual-field traversal. Exposes REST and MCP endpoints for building, searching, and exporting lineage graphs.
README
🌐 PBIX‑Atlas
Full lineage graph for Power BI — from source to visual field
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 visual
Install
pip install pbix-atlas
# or
uv add pbix-atlas
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.py
from 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:8080
- REST:
POST /graphs,/search,/upstream,/downstream,/tree,/export,/codegen - MCP (streamable HTTP):
http://127.0.0.1:8080/mcp/ - Env vars:
PBIX_LINEAGE_HOST,PBIX_LINEAGE_PORT
Architecture
| Module | Responsibility |
|---|---|
models.py |
Node/edge types and shared data structures |
sources.py |
Physical source detection (configurable patterns) |
pbix_model.py |
Adapter isolating from pbixray |
m_lexer.py / m_parser.py |
Built-in M tokenizer and parser |
m_interpreter.py |
M runtime interpreter + stdlib |
dax_translate.py |
DAX → Python (supported subset) |
dax.py |
DAX reference parsing |
mquery.py |
Power Query dependencies (table-level) |
layout.py |
Internal Report/Layout format parsing |
graph_builder.py |
Orchestrator: builds the networkx.DiGraph |
navigation.py |
Upstream/downstream traversal, search, export |
codegen.py |
Python pipeline code generation |
api/app.py |
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 build
Install Io.Github.Fabienfrfr/Pbix Atlas in Claude Desktop, Claude Code & Cursor
unyly install io-github-fabienfrfr-pbix-atlasInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add io-github-fabienfrfr-pbix-atlas -- uvx pbix-atlasStep-by-step: how to install Io.Github.Fabienfrfr/Pbix Atlas
FAQ
Is Io.Github.Fabienfrfr/Pbix Atlas MCP free?
Yes, Io.Github.Fabienfrfr/Pbix Atlas MCP is free — one-click install via Unyly at no cost.
Does Io.Github.Fabienfrfr/Pbix Atlas need an API key?
No, Io.Github.Fabienfrfr/Pbix Atlas runs without API keys or environment variables.
Is Io.Github.Fabienfrfr/Pbix Atlas hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Io.Github.Fabienfrfr/Pbix Atlas in Claude Desktop, Claude Code or Cursor?
Open Io.Github.Fabienfrfr/Pbix Atlas on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Io.Github.Fabienfrfr/Pbix Atlas with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
