Skip to main content
Glama
twilize5

TabGen MCP Server

by twilize5

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-mcp

Then run:

tableaugen-mcp

Authentication

None required. TabGen's core generation is free to use.

Tools

Tool

Description

generate_workbook

Generate a Tableau .twb / .twbx from a CSV path and a natural-language prompt

profile_dataset

Inspect a CSV and return schema, data types, cardinality, and null counts

publish_to_cloud

Publish a generated workbook to Tableau Cloud or Tableau Server

list_templates

Return available dashboard templates (sales, OEE, finance, marketing, etc.)

preview_workbook

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 only

  • Direct 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.csv with 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.

License

MIT

Available Tools

5 tools
generate_workbookA

Generate a Tableau workbook (.twb or .twbx) from a CSV file and a natural-language prompt. Returns the path to the generated workbook.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNoOptional style hint: 'corporate', 'executive', 'analytical', or a custom description.
promptYesNatural-language description of the dashboard to generate (e.g. 'quarterly revenue by region with YoY comparison').
csv_pathYesAbsolute path to the source CSV file.
output_pathYesAbsolute path where the generated workbook should be saved. Extension determines format (.twb or .twbx).

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
workbook_pathYesAbsolute path to the .twb or .twbx file to preview.

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
csv_pathYesAbsolute path to the CSV file to profile.

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesTableau site ID (content URL).
pat_nameYesPersonal Access Token name.
pat_secretYesPersonal Access Token secret.
server_urlYesTableau Cloud/Server URL (e.g. 'https://prod-apnortheast-a.online.tableau.com').
project_nameYesTarget project name on the Tableau site.
workbook_pathYesAbsolute path to the .twbx file to publish.

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 5 tool updatesv0.1.1
    • First observedgenerate_workbook
    • First observedlist_templates
    • First observedpreview_workbook
    • First observedprofile_dataset
    • First observedpublish_to_cloud

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables 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.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables 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 npm
    348
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI applications to interact with Tableau through tools for querying data, exploring content, and retrieving views.
    15,013 npm
    Apache 2.0