MCP server for authoring + publishing on Tableau Cloud — the write side the official Tableau MCP doesn't cover.
32 tools with mixed quality. Naming is generally strong (verb_noun pattern, clear intent). Descriptions present but often generic (avg ~80 chars, below 194-char baseline). Schemas visible for all tools with proper types and descriptions. Critical gaps: no output schemas documented, no error handling guidance, no pagination for list tools, no idempotency hints for destructive operations, no permission gates documented. Many tools lack actionable context (e.g., 'Create a datasource from a SQL query' doesn't explain when to use vs. alternatives). Destructive tools (delete_datasource, delete_workbook) have no confirmation/dry-run pattern. Tool composition is reasonable but some tools combine concerns (e.g., create_datasource_from_query handles both connection config AND SQL execution).
Add a permission to a datasource or workbook
Build and publish a dashboard workbook from a dashboard plan
Create a datasource from a file (CSV, Excel, etc.)
Create a datasource from a SQL query against a database connection
Create a datasource from a CSV file
Create a live connection datasource (Snowflake, Presto, etc.)
Create a Tableau Pulse metric
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., what does list_projects return? field names, structure?). Violates pattern:tool and pattern:response-shaper.
Destructive tools (delete_datasource, delete_workbook) lack confirmation/dry-run pattern. Agents can accidentally delete without safeguards. No error guidance for recovery.
List tools (list_projects, list_datasources, etc.) lack pagination parameters (limit, offset, cursor) and result count. Large result sets will blow context window. Violates pattern:paginated-result.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Create a new project on the Tableau site
Create an extract refresh schedule
Create a starter workbook bound to a datasource
Create a webhook
Perform deterministic self-critique of a dashboard design
Delete a datasource from the Tableau site
Delete a workbook from the Tableau site
Design a dashboard plan from a business question and datasource
Get details of a specific datasource
Get field metadata for a datasource
Get details of a specific project by ID or name
Get details of a specific workbook
List all datasources on the Tableau site
List Tableau Pulse metrics
List permissions for a datasource or workbook
List all projects on the Tableau site
List extract refresh schedules
List webhooks
List all workbooks on the Tableau site
Generate or retrieve a metric dictionary for a datasource
Publish a datasource to Tableau Cloud
Publish a workbook to Tableau Cloud
Remove a permission from a datasource or workbook
Scan a workbook or datasource for governance compliance
Validate a brand configuration file
Descriptions are generic and lack context for tool selection. E.g., 'Create a datasource from a SQL query' doesn't explain when to use vs. create_datasource_from_table or create_datasource_from_file. Average description length ~80 chars vs. 194-char baseline.
No permission gates or scope declarations documented. Tools like add_permission, remove_permission, delete_datasource should declare required permissions (e.g., 'write:permissions', 'delete:content'). Violates pattern:permission-gate and pattern:scope-declaration.