A Model Context Protocol server that provides Claude Desktop with access to Tableau Server. This server exposes Tableau workbooks, views, and data as MCP tools and resources.
The Tableau MCP server has 12 tools with schemas present and basic descriptions, but significant gaps in description quality, parameter documentation, and error handling reduce the overall score. Most tools lack comprehensive descriptions explaining WHEN to use them and WHAT happens, critical for LLM tool selection. Parameter descriptions are present but often minimal (e.g., 'Name of the workbook to list views for' is generic). No tool annotations (readOnlyHint/destructiveHint) are visible in the schema. Error handling is minimal, no guidance on recovery, retryability, or what went wrong. The tooling is functional for basic read operations but falls short of production-grade quality.
Download complete dataset from a Tableau data source (gets ALL raw data)
Get all permissions and access levels for a specific user
Get data from a specific Tableau view as CSV
Get an image of a Tableau view/dashboard
List all groups on the Tableau Server with member counts
List all users on the Tableau Server with their details
Descriptions lack WHEN and HOW guidance. Most descriptions (e.g., 'List all available Tableau workbooks') state only WHAT, not WHEN to use or HOW the output chains to other tools. LLMs need explicit reasoning hints: 'Call this first to discover available workbooks before listing views' or 'Use this to bootstrap discovery of all Tableau content.'
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are visible in the schema definitions. All tools are read-only (safe to retry), but this safety is not communicated to the LLM. Adding readOnlyHint: true to all tools signals they are safe for retry and don't mutate state.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
List all available Tableau data sources
List all projects on the Tableau Server
List all views in a specific workbook
List all users and groups with access to a specific workbook and their permission levels
List all available Tableau workbooks
Search for Tableau content (workbooks, views) by name or description
Error handling is absent. No tools provide error messages guiding LLM recovery. Example: if search_content('xyz') returns no results, the response should suggest 'Try partial names like search_content("xy") or list_workbooks() to see all available content.' Currently, the server would likely return silence or a generic error.
Parameter descriptions are minimal and lack format/constraint documentation. E.g., workbook_name and view_name accept free-form strings but don't state max length, character restrictions, or case-sensitivity. 'Name of the workbook...' is too vague; should be 'The exact workbook name (case-sensitive, max 255 chars) from list_workbooks().'
No output schemas documented. Tools return data (e.g., get_view_data returns CSV), but the LLM doesn't know the field structure, which columns to expect, or whether pagination applies. Documentation should state: 'Returns CSV string with columns: [list expected fields]. For large datasets, call with page/limit parameters if available.'
No pagination or result-limiting documented. Tools like list_all_users and list_all_groups could return hundreds of results. The LLM has no page/limit parameters to control result size, risking context window exhaustion. Should support limit and offset/page parameters and document max result counts.
Missing optional parameter guidance. download_datasource has include_extract with a default (true), but the description doesn't explain what 'extract data' means or why the LLM might want to toggle it. Unclear defaults can cause silent misuse.