Pbix Lineage logo

Pbix Lineage

Builds traversable Power BI PBIX lineage graphs from data sources to report visual fields.

Install Pbix Lineage

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "pbix-lineage": {
      "command": "uvx",
      "args": [
        "pbix-atlas"
      ],
      "env": {
        "PBIX_LINEAGE_HOST": "YOUR_VALUE_HERE",
        "PBIX_LINEAGE_PORT": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

The pbix-lineage MCP server builds bidirectional lineage graphs for Power BI .pbix files, tracing sources through Power Query, model fields, measures, and report visuals. It exposes streamable HTTP MCP access through a FastAPI application, alongside REST endpoints for graph creation, search, traversal, export, and code generation. Reach for it when an agent needs to inspect dependencies inside PBIX reports or follow a field upstream or downstream. The package also provides a Python API and can generate standalone Python pipelines from reports.

Use cases

  • Trace a report visual field back to its physical source
  • Find downstream report dependencies for a model column
  • Search nodes in a PBIX lineage graph
  • Export lineage data for GraphML or CSV analysis
  • Generate a standalone Python report pipeline

Key features

  • Bidirectional PBIX lineage graphs
  • Power Query and DAX dependency analysis
  • Upstream, downstream, search, and tree navigation
  • GraphML and CSV export
  • Streamable HTTP MCP endpoint
  • Python pipeline code generation

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

5/5 checks healthy over the last 42d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 3h ago via OSV.dev · pbix-atlas (PyPI)

How Pbix Lineage works

What pbix-lineage does

The pbix-lineage MCP server analyzes Power BI .pbix files and represents their dependencies as a directed graph. A graph can connect physical sources such as HTTP, OData, SQL, or files to Power Query expressions, columns, calculated columns, DAX measures, and fields used by report visuals. This lets an agent investigate both where a displayed field came from and which report elements depend on a source or model object.

Its central input is a local PBIX report, which is parsed into a graph for navigation and export.

How it works

The graph builder combines several parsing stages. It isolates Power BI model access through a pbixray adapter, detects physical sources using configurable patterns, parses Power Query M with a built-in lexer, parser, and runtime, and reads report layout data to identify visual fields. DAX references and supported DAX expressions are also translated or analyzed as part of the model chain.

The resulting structure is a networkx.DiGraph containing typed nodes and edges. Navigation functions can search for matching nodes, walk toward upstream dependencies, walk downstream dependents, or print a tree from a selected node. The HTTP application mounts FastMCP at /mcp/ and also provides REST routes for the same main operations.

Setup and configuration

Install the Python package with:

Terminal
pip install pbix-atlas

For the HTTP API and MCP server, the documented development setup is:

bash
uv sync --extra api
uv run pbix-atlas

The service listens at http://127.0.0.1:8080 by default. PBIX_LINEAGE_HOST and PBIX_LINEAGE_PORT configure the host and port. The streamable HTTP MCP endpoint is /mcp/.

Tools and capabilities

The pbix-lineage MCP server exposes operations corresponding to these documented API routes:

  • Create a graph from a PBIX file with /graphs.
  • Search graph nodes with /search.
  • Traverse dependencies upstream or downstream with /upstream and /downstream.
  • Render a lineage tree with /tree.
  • Export graph data with /export.
  • Generate a Python pipeline with /codegen.

The Python API includes graph construction, node lookup, tree printing, traversal, summary generation, GraphML export, and separate node and edge CSV exports. GraphML output can be opened by tools such as Gephi or yEd. Optional code generation produces one Python file covering the source, extraction, Power Query, semantic model, and Vizro dashboard stages.

Limitations and notes

Power Query execution uses the built-in interpreter, and unsupported functions raise MRuntimeError rather than being replaced with silent placeholder behavior. DAX handling is based on a supported subset. Physical source detection uses configurable patterns, so unusual source formats may require configuration. The available documentation describes local PBIX analysis and a local HTTP service; it does not document authentication, hosted deployment, or write-back to Power BI reports.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Pbix Lineage

pbix-lineage is an MCP server that connects AI clients to Power BI PBIX lineage graphs over streamable HTTP. Its main tools expose graph creation, node search, upstream and downstream traversal, tree views, exports, and Python code generation through the FastAPI-based API.

Install the package with `pip install pbix-atlas`; for the HTTP and MCP server, run `uv sync --extra api` followed by `uv run pbix-atlas`. The documented service runs locally on port 8080.

Use graph construction followed by upstream traversal or tree printing. The Python API supports `upstream` and `print_tree`, while the HTTP service exposes `/upstream` and `/tree` for following a visual field through measures, columns, Power Query, and physical sources.

Yes, pbix-lineage can export GraphML plus separate node and edge CSV files. The Python API provides `export_graphml`, `export_nodes_csv`, and `export_edges_csv`, and the HTTP service provides an `/export` route.

Yes, it can generate a standalone Python pipeline with the optional code-generation setup. The pipeline represents the source, extraction, Power Query, semantic model, and Vizro dashboard stages, and can be produced through the CLI or `generate_python_pipeline`.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewPbix Lineage AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/pbix-lineage?style=directory)](https://allmcps.com/mcp/pbix-lineage)
HTML Embed
<a href="https://allmcps.com/mcp/pbix-lineage"><img src="https://allmcps.com/api/badge/pbix-lineage?style=directory" alt="Pbix Lineage on AllMCPs" /></a>