MCP & AI

TableauOps MCP tools reference

Every tool the TableauOps MCP server exposes: publish_extension, update_extension, list_extensions, validate_extension, and more, with parameters.

Eric SummersUpdated 2026-09-18markdown

The TableauOps MCP server lets an agent (Claude Desktop, Claude Code, Cursor, or any MCP client) publish and manage hosted viz extensions, and search this library. These are the public tools it exposes. Connect it at the MCP page.

publish_extension

Compile a self-contained React + D3 Component and host it as a real Tableau viz extension on TableauOps. Returns the hosted page (where the .trex downloads) and install steps. Read the "authoring-guide" resource FIRST: the source must follow that exact contract (a function named Component, the // viz: and // fields: metadata lines, no imports, no exports).

Parameter Type Required Description
name string yes Human name for the extension, e.g. "Region KPI Card".
source string yes The full JSX source: the // viz: line, the // fields: line, then function Component({ data, schema, theme, fields }) { ... }. No imports, no exports, no prose.
themeName string no Optional theme preset name. Omit for the default.

update_extension

Replace the component source of an extension you already published, by numeric id. Same source contract as publish_extension. Use get_extension first to read the current source.

Parameter Type Required Description
id number yes The extension id, from list_extensions or a previous publish.
source string yes The new full JSX source (same contract as publish_extension).
themeName string no Optional theme preset name.

list_extensions

List the extensions on this TableauOps account: id, name, slug, type, and hosted page URL.

No parameters.

get_extension

Return an extension's current component source (if it was builder-made), name, slug, hosted page, and .trex URL, so you can read it before updating.

Parameter Type Required Description
id number yes The extension id.

validate_extension

Compile a component and read its Marks-card tiles WITHOUT publishing anything. Returns whether it compiles, the chart type, and the tiles it declares (or a warning if it declares none). Use this to iterate a component to a clean state before publish_extension, so you do not create throwaway extensions.

Parameter Type Required Description
source string yes The full JSX source to check (same contract as publish_extension).

set_public

Flip an extension to its public hosted URL, so its .trex needs no per-viewer token and anyone you share it with can load it without a TableauOps account. Returns the public URL.

Parameter Type Required Description
id number yes The extension id.

tableau_public_embed

Produce a Web Page object URL that runs this viz on a Tableau Public dashboard, where real extensions cannot load. It bakes in a frozen sample dataset (Web Page objects receive no data from Tableau), so the chart renders standalone. Paste the URL into a Web Page object on the dashboard. Re-run to refresh the sample.

Parameter Type Required Description
id number yes The extension id (must be a builder-made viz).

search_knowledge

Search the public TableauOps knowledge library: the Tableau Extensions API, the .trex manifest, every error code and its fix, the kit extensions, and the platform. Returns ranked hits with page URLs and section anchors. Use it to answer a Tableau extension question before guessing, then read_knowledge for the full page.

Parameter Type Required Description
q string yes The question, error code, or keywords to search for.
limit number no Max page hits to return (default 8).

read_knowledge

Return the full markdown of one knowledge library page by its slug (e.g. "encoding-icon-tokens", "extensions-api-error-codes", or "kit/ridgeline"). Use search_knowledge first to find the slug.

Parameter Type Required Description
slug string yes The page slug, e.g. "trex-manifest-reference" or "kit/bullet".