Tableau Workbook Auditor

io.github.andey0SaikiranPublished by GitHub account andey0Saikiranv1.0.1Updated Oct 24, 2026

Local-only Tableau .twbx audit: lineage, unused fields, duplicate calcs, SQL, version diffs

VerifiedSTDIODesktop onlyDeveloper ToolsData & Analytics

Overview

AI-generated overview

Local MCP server that parses Tableau .twbx/.twb workbooks to audit them, diff versions, and trace field lineage for an AI assistant.

What you can do
  • Audit workbooks for unused fields, duplicate calculations and performance findings
  • Compare two workbook versions semantically, including downstream impact of edits
  • Inspect calculated fields, parameters and their dependencies, and export the full lineage graph
  • List custom SQL, Initial SQL and stored-procedure references with their connections
  • List filters and worksheets with the fields and filter values each uses
When to use it
Useful when you maintain Tableau workbooks and want an assistant to explain what changed between versions, what a calculation depends on, why a workbook is slow, or which fields might be safe to remove.
Requirements
Runs locally over stdio via npx (package tableau-lineage-mcp) or a Claude Desktop extension; requires Node.js 18+ unless installed as the extension. No account, API key or network access is needed. All tools take a path to a local .twbx or .twb file.
Before you install
Tool results, including field names, formulas and SQL text, are returned to whichever AI assistant you use, so that assistant's privacy policy applies to the conversation. Unused fields are reported as candidates with confidence levels, not a guaranteed-safe delete list, so review reasons before deleting. The server itself writes nothing and makes no network calls.

Installation

In SourceWeft

  1. Open Tableau Workbook Auditor in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

tableau-lineage-mcp

Let your AI assistant read the lineage inside Tableau workbooks without the workbook ever leaving your machine.

An MCP server that parses local Tableau workbooks (.twbx / .twb) and exposes eleven tools to Claude, Cursor and any other MCP client: a full workbook audit (unused fields, duplicate calculations, performance findings), a semantic diff between two versions, and the complete lineage of every calculated field, parameter, filter, worksheet, dashboard and stored SQL statement.

It is the same open-source extraction engine that powers tableau-lineage.com, wrapped for AI assistants. Parsing happens in-process on your machine: no upload, no server, no account. When reading a .twbx, only the workbook XML is decompressed; the bundled data extract is never touched.

What you can ask your assistant

  • "Audit ~/Downloads/Sales.twbx. What is safe to delete?"
  • "What changed between v3 and v4 of this dashboard, and what does it break?"
  • "Which fields does [Profit Ratio] depend on?"
  • "Why is this workbook slow?"
  • "Which sheets filter on Region, and what values are selected?"
  • "Write a data dictionary for this workbook."

Install

Claude Desktop (one click, no terminal)

Download the extension and double-click it. Claude Desktop installs it for you. No Node install and no config file needed, because Claude Desktop ships its own Node.

You can also drag the .mcpb onto the Claude Desktop window, or use Settings → Extensions → Advanced settings → Install Extension.

Claude Code

bash
claude mcp add tableau-lineage -- npx -y tableau-lineage-mcp

Claude Desktop (manual, if you prefer config over the extension)

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

json
{  "mcpServers": {    "tableau-lineage": {      "command": "npx",      "args": ["-y", "tableau-lineage-mcp"]    }  }}

Cursor / other MCP clients

Any client that supports stdio MCP servers works with the same command: npx -y tableau-lineage-mcp.

Requires Node.js 18+.

Tools

ToolWhat it does
audit_workbookUnused fields and parameters (graded by confidence, with reasons), duplicate calculations, and performance findings with severities and fixes
diff_workbooksSemantic diff of two versions: calculations added, removed, renamed or edited (each edit with the downstream fields it affects), plus parameters, filters, sheets, dashboards, data sources and SQL
analyze_workbookOverview: stats, data sources, calculated fields by type, parameters, raw fields
list_calculated_fieldsEvery calculation with formula, type, and direct dependencies; optional substring filter
get_fieldOne field in full detail, including everything that directly uses it
trace_dependenciesUpstream tree (down to raw columns and parameters) plus transitive downstream impact
list_parametersParameters with values, datatypes, allowed values, and which fields use them
get_lineage_graphThe complete dependency graph as nodes and edges JSON
list_sql_queriesCustom SQL (full query text), Initial SQL, stored-procedure references with parameters, and RAWSQL_* calculations, each with the connection it targets
list_filtersEvery filter, deduplicated across worksheets: field, kind, context-filter status, member selections and ranges, plus a by_worksheet breakdown
list_worksheetsEvery worksheet with the fields it uses (caption-resolved) and the filters it applies

All tools take a path to a local .twbx or .twb file. Field names are case-insensitive and brackets are optional: Profit Ratio and [profit ratio] both resolve.

Privacy Policy

Full policy: https://github.com/andey0Saikiran/tableau-lineage/blob/main/PRIVACY.md

What is collected: nothing. This server makes no network requests of any kind. It reads only the workbook paths you explicitly pass to it, parses them in memory on your machine, and returns the results to the MCP client that started it. It does not read your other files, your conversation history, or your assistant's memory, and it writes nothing to disk.

Storage and retention: none. Workbook data lives in memory for the length of the call and is discarded when the process exits. There is no server, no database and no logging.

Third parties: none. Note that the results of a tool call (field names, formulas, audit findings) are returned to the AI assistant you chose to ask, so that it can answer you; your workbook file itself is never sent anywhere. Your assistant's own privacy policy governs that conversation.

Contact: https://github.com/andey0Saikiran/tableau-lineage/issues · security reports: https://github.com/andey0Saikiran/tableau-lineage/security/advisories/new

How it works

  • The workbook is read from your local disk and parsed in the Node process. Nothing is sent anywhere.
  • Unused fields are reported as candidates with a confidence level, never as a guaranteed-safe delete list: a workbook file cannot prove a field is unreferenced everywhere. Read the reason before deleting anything.
  • For .twbx packages, only .twb XML entries are decompressed. The packaged data extract (.hyper / .tde) is skipped entirely.
  • No analytics, no telemetry, no network calls at all.

Because this package is open source, you can verify all of the above in the code.

Prefer a UI?

The same engine runs as a free web app at tableau-lineage.com: drag a .twbx in and get the audit, an interactive lineage graph, a searchable data dictionary, and a version comparison, 100% in your browser.

Development

bash
git clone https://github.com/andey0Saikiran/tableau-lineagecd tableau-lineage/mcpnpm installnpm test        # builds, then runs an end-to-end JSON-RPC smoke test

License

MIT © Sai Kiran Andey

Source: mcp/README.md at commit 35c20b6

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts