TabGen MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TabGen MCP ServerGenerate a sales dashboard from orders.csv and save it as a .twbx"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TabGen MCP Server
Generate production-ready Tableau workbooks from natural language and a CSV.
Official MCP (Model Context Protocol) server for TabGen — the AI-powered Tableau workbook generator. Turn a CSV plus a one-line prompt into a real .twb / .twbx file that opens directly in Tableau Desktop or publishes to Tableau Cloud.
What it does
TabGen writes to Tableau. Point it at a dataset, describe the dashboard you want, and get back an actual editable workbook — not a screenshot, not a suggestion, not a code snippet. The generated file has real data connections, calculated fields, worksheets, dashboard containers, and filter actions wired together.
Use it directly from Claude Desktop, Cursor, VS Code, or any MCP-compatible client.
Related MCP server: Tableau MCP Server
Installation
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"tableaugen": {
"command": "npx",
"args": ["-y", "tableaugen-mcp"]
}
}
}Cursor / Windsurf / VS Code
Add to your MCP settings:
{
"tableaugen": {
"command": "npx",
"args": ["-y", "tableaugen-mcp"]
}
}Direct install
npm install -g tableaugen-mcpThen run:
tableaugen-mcpAuthentication
None required. TabGen's core generation is free to use.
Tools
Tool | Description |
| Generate a Tableau |
| Inspect a CSV and return schema, data types, cardinality, and null counts |
| Publish a generated workbook to Tableau Cloud or Tableau Server |
| Return available dashboard templates (sales, OEE, finance, marketing, etc.) |
| Return a thumbnail image of a generated workbook for inline preview |
Supported inputs
CSV files (any dialect, headers auto-detected)
Supported outputs
.twb— Tableau workbook (XML, no data embedded).twbx— Tableau packaged workbook (workbook + extract).hyper— Tableau extract onlyDirect publish to Tableau Cloud / Tableau Server via REST API
Example usage
Once installed, ask your AI client:
Generate a quarterly sales dashboard from
/data/orders.csvwith a region filter and a product drill-down. Save it to~/Desktop/sales.twbx.
TabGen will profile the data, plan the layout, and write a valid Tableau workbook to the path you specified.
Links
Website: tableaugen.com
License
MIT
Available Tools
5 toolsgenerate_workbookA
Generate a Tableau workbook (.twb or .twbx) from a CSV file and a natural-language prompt. Returns the path to the generated workbook.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | Optional style hint: 'corporate', 'executive', 'analytical', or a custom description. | |
| prompt | Yes | Natural-language description of the dashboard to generate (e.g. 'quarterly revenue by region with YoY comparison'). | |
| csv_path | Yes | Absolute path to the source CSV file. | |
| output_path | Yes | Absolute path where the generated workbook should be saved. Extension determines format (.twb or .twbx). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that a path is returned, but it does not disclose whether an existing output file is overwritten, whether the CSV must already exist, what failure modes may occur, or that this is a file-creating side effect. This is minimal behavioral context for a generation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence that front-loads the core purpose, includes acceptable formats, and states the return value. There is no fluff or repeated schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema fully covers parameters and the description states the return value, but with no annotations and no output schema, the description leaves gaps around overwrite behavior, prerequisites, and error conditions. It is adequate for a straightforward generation tool but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already described in the schema. The description adds context about the tool's overall behavior but no additional parameter-level meaning beyond what the schema provides; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Generate'), a concrete resource ('Tableau workbook'), and the inputs and output ('from a CSV file and a natural-language prompt... Returns the path'). This clearly distinguishes it from siblings like publish_to_cloud, preview_workbook, and profile_dataset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied clearly: use this tool when you want to create a Tableau workbook from a CSV and a prompt. However, there is no explicit guidance on when not to use it or when to prefer a sibling tool such as publish_to_cloud or preview_workbook.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_templatesA
Return the list of built-in dashboard templates TabGen can start from (sales, OEE, finance, marketing, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the output (a list of built-in templates) and their nature (built-in, starting points), but does not explicitly state that the operation is read-only or that it has no side effects. For a simple list operation, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the core purpose and examples with zero fluff. Every word earns its place, and it is easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description fully covers what an agent needs: what the tool returns, that the templates are built-in, and that they serve as starting points. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema trivially covers 100%. Per the baseline rule, a score of 4 is appropriate; the description adds no parameter-specific detail, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return'), a precise resource ('list of built-in dashboard templates'), and names example categories (sales, OEE, finance, marketing). It clearly distinguishes from siblings like publish_to_cloud or generate_workbook, which are actions rather than listing operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as a starting point for dashboard creation ('TabGen can start from'), and the examples suggest when an agent would consult it. It does not explicitly contrast with alternatives, but the tool's purpose is self-evident and the sibling tools perform different actions, so no exclusion is strictly needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_workbookA
Return a thumbnail image (base64 PNG) of a generated Tableau workbook.
| Name | Required | Description | Default |
|---|---|---|---|
| workbook_path | Yes | Absolute path to the .twb or .twbx file to preview. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It clearly states the output (base64 PNG) and the input context (a generated workbook), but it does not mention whether the operation is read-only, what happens if the path is invalid, or any size/format limitations of the thumbnail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that states the purpose and output format without redundancy. Every word contributes meaning and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one well-documented parameter and no output schema, the description covers the essential return type and input. It could be more complete by noting error behavior or side-effect-free nature, but the low complexity keeps the gap small.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: workbook_path is already described as an absolute path to a .twb or .twbx file. The description adds only the context that the workbook is 'generated', which is minor beyond the schema's own meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return'), a specific resource ('generated Tableau workbook'), and the output format ('thumbnail image (base64 PNG)'). This clearly distinguishes preview_workbook from siblings like generate_workbook, publish_to_cloud, and profile_dataset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'generated' implies the tool is used after generate_workbook, and the thumbnail format suggests a preview step before publishing. However, it never explicitly says when to use it versus alternatives, nor does it mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profile_datasetA
Inspect a CSV file and return its schema, inferred data types, cardinality, and null counts. Useful before calling generate_workbook.
| Name | Required | Description | Default |
|---|---|---|---|
| csv_path | Yes | Absolute path to the CSV file to profile. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The verb 'Inspect' clearly implies a read-only operation with no side effects, and the listed outputs (schema, types, cardinality, null counts) indicate the behavioral scope. It does not disclose edge cases like file size limits or error behavior, but for a simple profiling tool, this is adequate. The description is transparent about what the tool returns and its non-mutating nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The core functionality is front-loaded, and the usage hint is a single clause. Every word earns its place; it is appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description explains what the tool returns and when to use it. It does not describe the return format in detail (e.g., structure of the schema or how null counts are presented), but the list of output types gives enough context for an agent to call it correctly. Given the simplicity, the description is nearly complete; a 4 is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter (csv_path) has 100% schema description coverage, and the schema already states it is an absolute path. The tool description adds no additional semantic detail beyond what the schema provides. Since the schema fully documents the parameter, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Inspect a CSV file') and the exact outputs (schema, inferred data types, cardinality, null counts). It also names a specific downstream tool (generate_workbook), which helps distinguish it from siblings like publish_to_cloud or preview_workbook. There is no ambiguity about what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit usage hint: 'Useful before calling generate_workbook.' This provides a clear when-to-use context. It does not explicitly state when not to use it or mention alternative tools, but given the sibling set, none are profiling tools, so the guidance is sufficient. A minor gap is the lack of exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_to_cloudA
Publish a generated Tableau workbook to Tableau Cloud or Tableau Server via REST API.
| Name | Required | Description | Default |
|---|---|---|---|
| site_id | Yes | Tableau site ID (content URL). | |
| pat_name | Yes | Personal Access Token name. | |
| pat_secret | Yes | Personal Access Token secret. | |
| server_url | Yes | Tableau Cloud/Server URL (e.g. 'https://prod-apnortheast-a.online.tableau.com'). | |
| project_name | Yes | Target project name on the Tableau site. | |
| workbook_path | Yes | Absolute path to the .twbx file to publish. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It identifies publishing via REST API but does not mention side effects such as overwriting existing workbooks, authentication requirements beyond the PAT parameters, or failure/timeout behavior—significant gaps for a mutating remote operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that states action, resource, destination, and mechanism without wasted words. Every word contributes to the agent's understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All required parameters are fully documented in the schema, so the agent can construct a valid call. However, with no annotations and no output schema, the description does not convey behavioral expectations like overwrite semantics, publish success criteria, or response handling, leaving the operational context only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all six parameters clearly. The description adds no additional parameter-level meaning beyond labeling the workbook as 'generated,' which is a minor workflow hint rather than necessary semantic information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Publish') with a specific resource ('generated Tableau workbook') and target ('Tableau Cloud or Tableau Server'), clearly distinguishing it from sibling tools like generate_workbook or preview_workbook. The REST API detail further disambiguates the mechanism.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'generated' implies this tool is used after a workbook has been produced, and it targets deployment rather than creation or preview. However, there is no explicit statement of when to use this tool versus alternatives, nor any exclusions or workflow guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.1- First observed
generate_workbook - First observed
list_templates - First observed
preview_workbook - First observed
profile_dataset - First observed
publish_to_cloud
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: profiling data, generating workbooks, previewing, publishing, and listing templates. No two tools overlap in function, so an agent can reliably select the correct one.
All tools follow a consistent verb_noun pattern (e.g., generate_workbook, list_templates, preview_workbook). The only slight deviation is publish_to_cloud, but it still adheres to the verb+preposition+noun structure without breaking the overall convention.
Five tools perfectly cover the core workflow of generating, previewing, and publishing Tableau workbooks, with supporting utilities for templates and data profiling. No tool feels redundant or missing.
The tool set covers the full lifecycle: inspect data (profile_dataset), generate a workbook (generate_workbook), preview it (preview_workbook), and publish it (publish_to_cloud), plus list_templates for starting points. There are no obvious gaps for the stated purpose.
Maintenance
Related MCP Connectors
Ask data questions in natural language. Get SQL, insights, and charts from your databases.
AI data analyst: ask about your Excel, CSV, GA4 or database data and get charts and dashboards back
Ask questions in plain language, get answers from your business database. No SQL required.
Query your warehouse or a CSV with Claude/ChatGPT over MCP, governed by table-level ACL + audit.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables discovery, querying, and exporting of Tableau Cloud dashboards and data sources. Supports searching workbooks, filtering data, and exporting views as PDF, PNG, PowerPoint, CSV, or JSON.-

Tableau MCP Serverofficial
AlicenseNot gradedqualityAmaintenanceEnables AI applications to integrate with Tableau through tools, resources, and prompts for querying data, exploring content, and retrieving visualizations from Tableau workbooks and datasources.15,013 npm348Apache 2.0- AlicenseNot gradedqualityDmaintenanceEnables integration with Tableau to query data, explore workbook content, and retrieve visualization images through natural language. It provides developer primitives for building AI applications that interact seamlessly with Tableau servers.15,013 npmApache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI applications to interact with Tableau through tools for querying data, exploring content, and retrieving views.15,013 npmApache 2.0