# Tableau Workbook Auditor [Health: Active]

**Category:** 📊 Data Visualization  
**Repository:** https://github.com/andey0Saikiran/tableau-lineage  
**GitHub Stars:** 7  
**npm Downloads (last month):** 205  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/tableau-workbook-auditor

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

## Tools
Capabilities this server exposes over MCP:

- **analyze_workbook** — Parse a local Tableau workbook (.twbx or .twb) and return an overview: field counts, datasources, calculated-field names by type, parameter names, and raw fields. Parsing happens locally; the file is never uploaded. Start here, then use the other tools for details.
- **list_calculated_fields** — List every calculated field in the workbook with its formula, type (calculated / LOD / table calc), datasource, and what it directly depends on. Optionally filter by a case-insensitive substring of the field name or formula.
- **get_field** — Full detail for a single field by name (brackets optional, case-insensitive): formula, type, direct dependencies, and every field that directly uses it.
- **trace_dependencies** — Trace what a field is built from (upstream, recursive tree down to raw columns and parameters) and everything that would be affected if it changed (downstream, transitive). The impact-analysis tool: use before editing a calculation.
- **list_parameters** — List every parameter in the workbook: current value, datatype, allowed values, and which calculated fields use each one.
- **get_lineage_graph** — The complete dependency graph as JSON: one node per field/parameter (with type) and one directed edge per dependency (source feeds target). Suitable for rendering or graph analysis.
- **list_sql_queries** — Extract every SQL statement the workbook contains: Custom SQL relations (with the full query text), Initial SQL run when a connection opens, stored-procedure references with their parameters, and RAWSQL_* calculated fields. Each entry names the datasource and the database connection (class, server, dbname) it targets. Note: queries Tableau auto-generates at runtime for live connections are not stored in the file, so they cannot be extracted.
- **list_filters** — Every filter in the workbook, deduplicated across worksheets: the field it acts on (caption-resolved), filter kind (categorical / quantitative / relative-date), whether it is a context filter, which worksheets use it, selected member values when stored, and quantitative ranges. Includes a by_worksheet grouping and the distinct list of fields driving any filter. Data-source filters are marked "(data source filter)".
- **list_worksheets** — Every worksheet in the workbook with the fields it uses (caption-resolved, from its datasource dependencies) and the filters it applies (field, kind, context status). The per-sheet view of the workbook: use it to answer "what does this sheet depend on?" or "where is this field actually displayed?".
- **diff_workbooks** — Semantic diff between two Tableau workbooks: calculations added, removed, renamed or edited (with the downstream fields each edit affects), plus changed parameters, filters, worksheets, dashboards, data sources and stored SQL. Formula reformatting is ignored, and a field that disappears while an identical formula appears under a new name is reported as a rename. Use this for release notes, code review of a workbook change, or answering "what changed and what does it break?".
- **audit_workbook** — Find what is wrong with a workbook: fields and parameters nothing uses (each with a confidence level and the reason), duplicate calculations (identical formulas under different names, and the more dangerous same-name-different-formula case), and performance findings (heavy LODs, nested calculations, deep calculation chains, non-fixed dashboard sizing, live connections, and more). Use it before a cleanup, a migration, or a workbook review. Unused fields are reported with confidence rather than as certainties, because a field can be referenced in ways a file cannot show.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

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

## Documentation

## What Tableau Workbook Auditor does

The Tableau Workbook Auditor MCP server lets MCP-compatible AI assistants inspect Tableau `.twbx` files stored on the local machine. It exposes the workbook’s structure and dependencies rather than querying Tableau Server, Tableau Cloud, or the packaged data extract.

The analysis covers calculated fields, raw fields, parameters, worksheets, data sources, filters, dashboards, connection details, refresh history when recorded, and SQL stored in the workbook. It also identifies possible unused fields, duplicate calculations, and static performance concerns. Findings about unused content are reported as candidates with confidence levels because the workbook file cannot prove that a field is never referenced outside the material it contains.

## How it works

The Tableau Workbook Auditor MCP server receives a local workbook path through the MCP tool interface. Its engine unzips only the `.twb` XML entry from the `.twbx` package, parses that XML, and builds a model of workbook metadata and dependencies. The packaged extract is never decompressed or inspected.

The model supports dependency graphs, searchable formula and worksheet information, decoded filter details, dashboard layouts, data provenance, stored SQL, and audit rules. Version comparison operates on parsed workbook models rather than raw package files. It can identify added, removed, renamed, or edited calculations and show downstream fields affected by a calculation change. It also compares parameters, filters, worksheets, dashboards, data sources, and SQL.

## Setup and configuration

Install the MCP package with Node and `npx`:

```bash
npx -y tableau-workbook-auditor-mcp
```

The README also provides a Claude Desktop extension that can be downloaded and opened without a terminal or separate Node setup. For Claude Code, the documented plugin commands add the MCP package and its skill. Cursor and other MCP clients can register the server with an MCP command configuration.

No Tableau installation, Tableau license, account, backend, cookies, or environment variables are required by the documented setup. Processing remains local, so the `.twbx` file is not uploaded.

## Tools and capabilities

The documented MCP interface includes tools for:

- Analyzing and auditing a workbook.
- Comparing workbook versions with a semantic diff.
- Listing calculated fields and retrieving an individual field.
- Tracing dependencies between fields and worksheets.
- Listing parameters.
- Inspecting filters, dashboards, provenance, and stored SQL through the workbook model.

The same parsed model can produce interactive HTML, Markdown, CSV, and JSON exports in the browser-based application. The HTML report is self-contained and can be used offline; the CSV contains field usage information, while JSON contains the complete model and audit results.

## Limitations and notes

The Tableau Workbook Auditor MCP server works with information present in the workbook package. Runtime-generated queries from live connections are not stored in `.twbx` files and are therefore outside its scope. It does not inspect packaged extract rows, even when those extracts are included in the file.

Workbooks up to 500 MB are supported by the browser application because only the XML is decompressed. Static performance checks flag likely issues such as complex LOD expressions, long calculations, excessive quick filters, missing context filters, live connections, fixed-size dashboard settings, dense dashboards, and orphan worksheets; these are lint findings rather than runtime measurements.

Unused-field results are candidates graded as `unused`, `likely-unused`, or `referenced-in-comment`. A field can appear unused in the workbook model without being conclusively dead in every possible Tableau workflow.

_Full upstream README: https://allmcps.com/mcp/tableau-workbook-auditor/readme_

