This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreGet Fabric Certified for FREE during AI Skills Fest. This week only. Secure your voucher now.
Figure 1: Actual Output Snip of TOMPo — AI-Powered Lineage Intelligence for Microsoft Fabric & Power BI. Trace the complete data journey from semantic model columns and measures, through reports and pages, all the way to individual visuals — across workspaces, in seconds, using natural language.
Imagine you manage a Power BI semantic model with 50+ tables, hundreds of measures, and dozens of reports. A business stakeholder asks: "What happens if we rename the Employee.StartDate column?" You now face a daunting manual task — open each report, inspect every visual, check every DAX measure, across every workspace. It could take hours, and you might still miss something.
In enterprise environments — where a single model can feed 20+ reports with 200+ visuals across same or multiple other cross workspaces — there is no built-in way to answer this question quickly. Fabric's native lineage view shows dataset-to-report connections, but it stops there. It doesn't drill into which specific columns or measures are used in which specific visuals.
This gap creates real risk: broken reports after schema changes, stale columns no one realizes are still in use, and governance blind spots that grow silently over time.
TOMPo - (T)abular (O)bject (M)odel (Po)wer BI is an open-source MCP server that brings deep lineage intelligence directly into your AI coding assistant — GitHub Copilot, Claude Desktop, Cursor, or any MCP-compatible client.
Instead of navigating portals and manually inspecting reports, you simply ask a question in natural language and TOMPo handles the rest:
Full Lineage Tracing: Semantic Model → Tables → Columns/Measures → Reports → Pages → Visuals. See exactly which fields appear in which visuals.
TOMPo follows the Model Context Protocol (MCP) — an open standard that lets AI assistants call TOMPo tools. All the tools run locally, strictly using your access permissions on - workspace, semantic models and the reports.
When you type a question in Copilot Chat, the AI decides which TOMPo tool to invoke and passes the results back in a conversational format.
Architecture Flow:
TOMPo uses Azure's DefaultAzureCredential which automatically picks up your existing identity:
Not all semantic models expose metadata the same way. TOMPo handles this gracefully with a 3-tier fallback strategy:
Fabric getDefinition API
Returns full TMDL/BIM definitions — richest metadata
Admin Scanner API
When getDefinition is blocked (e.g., sensitivity labels)
DAX executeQueries
Uses INFO.TABLES(), INFO.COLUMNS() DMVs via REST
TOMPo exposes 8 tools that your AI assistant can call on your behalf:
pip install tompo-mcp
az login
Now, Select the subscription linked to your Power BI / Fabric tenant — TOMPo will discover all workspaces your identity has access to within that tenant.
Open VS Code, then press Shortcut : Ctr + Shift + P , Select Open User Configuration, Paste below, Save and Start the tompo server
You can copy below JSON into your .vscode/mcp.json(as shown above) in VS Code:
{
"servers": {
"tompo": {
"command": "python",
"args": [
"-m",
"tompo_mcp"
],
"type": "stdio"
}
}
}Ensure that the tompo mcp server is shown running. That's it. Open Copilot Chat and start asking lineage questions in GitHub AI Chat window.
Let's walk through a real-world example using an enterprise semantic model with 37 tables, 100+ measures, and multiple bound reports.
We start by asking Copilot to list our workspaces. TOMPo returns all workspaces the user has access to, with their IDs.
Figure 3: TOMPo discovers all 164 Fabric workspaces accessible to the user — one az login , one natural language prompt and instant results via MCP.
Next, we ask for the full lineage of our semantic model. TOMPo fetches the model definition, discovers all bound reports, parses every page and visual, and maps which columns/measures each visual uses.
For eg: You can ask "Give me full interactive lineage for Semanitc Model XYZ present in XYZ Workspace"
Other powerful question you can ask: "What visuals use the Employee.Department column?"
For sharing with stakeholders or archiving, we export the lineage as a self-contained interactive HTML file. This opens automatically in any browser — no server, no login required.
The HTML visualization includes three tabs:
It also contains Governance Health Scoring section:
Beyond lineage, TOMPo can assess the quality and governance health of your semantic models. The governance_health_score tool evaluates a model (or entire workspace) and returns a score from 0-100 with a detailed breakdown of issues found.
What It Checks:
In enterprise environments, a single semantic model often feeds reports in multiple workspaces. The cross_workspace_lineage tool scans your entire tenant and finds every report — even ones in workspaces you might not have checked — that binds to your model.
This is invaluable for:
TOMPo brings a capability that has been missing from the Power BI and Fabric ecosystem: deep, column-level lineage intelligence accessible via natural language.
@TusharPardeshi ; @JOSAMU ; @mithunm ; @kranthimeda ; @RajeshDadi ; @yogeshjain ; @dish_microsoft
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.