Tableau MCP server for Tableau Cloud, Tableau Server and Tableau Desktop, published first-party by Tableau under Apache-2.0 and carrying the vendor's own "Tableau Supported" badge — one of the few analytics MCP servers that is not a community reimplementation. Built by Tableau, it is officially maintained and best for API & Web.
by Tableau
About
Tableau MCP server for Tableau Cloud, Tableau Server and Tableau Desktop, published first-party by Tableau under Apache-2.0 and carrying the vendor's own "Tableau Supported" badge — one of the few analytics MCP servers that is not a community reimplementation. It ships three ways and the choice matters more than the install: a hosted server at mcp.tableau.com that uses OAuth 2.1 so every user signs in with their own Tableau Cloud identity and existing per-user permissions are enforced automatically; a self-hosted npm package, @tableau/mcp-server, run over stdio or HTTP for Tableau Server and for Cloud customers who need their own infrastructure; and a Docker/Heroku deployment for shared use. The web server exposes 43 tools across sixteen groups: datasource discovery and VizQL querying (list-datasources, get-datasource-metadata, query-datasource), workbook and view retrieval including rendered images (get-view-image, get-custom-view-image), Tableau Pulse metric definitions and generated insight briefs, Prep flow runs, extract-refresh tasks and jobs, user administration, Admin Insights queries, and MCP-Apps tools that render an interactive viz inside the client. A separate desktop build adds six authoring tools that read and apply workbook XML against a running Tableau Desktop instance. Self-hosted authentication is a Personal Access Token by default (PAT_NAME plus PAT_VALUE), with Connected App direct-trust JWT, user-attribute tokens and full OAuth 2.1 also supported. Requires Node.js 22.7.5 or later. Actively maintained — v4.6.0, last pushed August 2026.
Trust verdict
How grades are computed →Grade A (98/100, reliable) from 1 measured signal, based on repository evidence. Only one signal stands behind it, so treat the grade as provisional.
What was measured
- Repository maintenance100/100 · weight 20
The repository has been pushed to or released within the last six months. — last push 2026-07-25, last release 2026-07-24 (v3.6.0).
- Source verification100/100 · weight 25
The repository URL was confirmed to resolve against the live GitHub API and is not archived.
- Provenance90/100 · weight 10
Published and maintained by the vendor of the service it connects to, rather than by a third party.
- Listing ↔ repository match100/100 · weight 5
The listing name lines up with the linked repository tableau/tableau-mcp.
What could not be measured
These contributed nothing to the score — not a penalty, not a zero. They are why the confidence reads the way it does.
- Live MCP handshakeunknown
No remote endpoint to handshake — this server installs and runs locally over stdio, so there is nothing to probe from the outside.
- Measured uptimeunknown
No probe history recorded for this server yet.
- Tool-schema stabilityunknown
Drift is a difference between two successive checks, and this server has none recorded.
Installation
npx -y @tableau/mcp-server@latestThis command will fail: tableau-mcp was not published to the npm registry when we checked on August 17, 2026. Install from the repository below instead.
There is only one Tableau MCP server worth considering and Tableau publishes it themselves, so the decision here is not which project to trust — it is which of the three ways to run it you want. The hosted server at mcp.tableau.com is the right default for Tableau Cloud: it speaks OAuth 2.1, each user signs in as themselves, and the permissions already configured on your site are what the agent gets, with nothing to deploy. The self-hosted npm package is for Tableau Server, and for Cloud customers whose security review will not allow a vendor-hosted endpoint; you supply a Personal Access Token and the server runs beside the client, which means it runs with that token’s permissions for everyone who talks to it. The third path, the Tableau Desktop authoring build, is the one people find by accident and lose an afternoon to — it exists in the repository, it is not in the published npm package, and its README is a single heading with no body. Read the gotchas below before you pick.
Connecting the Tableau MCP server
1.Decide hosted or self-hosted before anything else
On Tableau Cloud, point your client at the hosted server and stop — there is no install, no token to mint and no Node version to satisfy. Every MCP-compatible client that supports remote servers and OAuth will prompt you to sign in to Tableau on first use, and per-user permissions are enforced automatically. Only continue to step 2 if you are on Tableau Server, or if you need the server on your own infrastructure.
hosted endpointhttps://mcp.tableau.com2.Check your Node version first
The package declares engines.node >= 22.7.5. That is a newer floor than most MCP servers and it is the most common reason a first npx run fails with a syntax error rather than a clean message. Confirm before you write any config.
shellnode --version # must be >= 22.7.53.Create a Personal Access Token on your Tableau site
Self-hosted defaults to PAT auth. In Tableau, open your account settings, create a Personal Access Token, and keep both halves: the token name goes in PAT_NAME and the secret in PAT_VALUE. The server refuses to start without both — config.ts asserts each one individually. SITE_NAME is the site’s URL name, not its display name; on Tableau Cloud it is the segment that appears after /site/ in the browser address bar, and on a Server default site it is the empty string.
4.Add the server to your MCP client
This is the configuration from the project README, unmodified. It works as-is in Claude Desktop, Claude Code, Cursor, VS Code and any other client that accepts the standard mcpServers block — the only difference between them is which JSON file it goes in.
claude_desktop_config.json{ "mcpServers": { "tableau": { "command": "npx", "args": ["-y", "@tableau/mcp-server@latest"], "env": { "SERVER": "https://my-tableau-server.com", "SITE_NAME": "my_site", "PAT_NAME": "my_pat", "PAT_VALUE": "pat_value" } } } }5.Turn on the tool groups that ship disabled
Admin Insights, Prep flow and generated-insight tools are gated behind three separate flags that default to off, and each is compared literally against the string "true". If query-admin-insights, the four flow tools or generate-insight-cards are missing from your client’s tool list, this is why — it is not a permissions problem on the Tableau side.
env additions"ADMIN_TOOLS_ENABLED": "true", "FLOW_TOOLS_ENABLED": "true", "INSIGHTS_TOOLS_ENABLED": "true"6.Smoke test with a content query, not a data query
Ask the client to list your workbooks before you ask it anything about numbers. list-workbooks exercises the auth handshake and the site name without depending on a datasource being queryable, so a failure points at exactly one thing. Once that returns, move on to query-datasource.
promptFind me the most viewed workbook within the last year.
43 web tools in 16 groups, plus 6 desktop authoring tools
Grouped as the project groups them — the group names are also the values INCLUDE_TOOLS and EXCLUDE_TOOLS accept, so you can scope the server to "datasource,view" rather than listing tools one by one. Three groups are disabled by default; see the setup step above.
datasourcelist-datasources, get-datasource-metadata, query-datasource — discovery plus the VizQL query that actually returns rows.
workbooklist-workbooks, get-workbook, download-workbook.
viewlist-views, list-custom-views, get-view, get-view-data, get-view-image, get-custom-view-data, get-custom-view-image — the image tools return a rendered viz, which is how a chart appears inline in a chat client.
pulseSeven tools over Tableau Pulse: metric definitions by id, metrics by definition, subscriptions, plus generate-pulse-metric-value-insight-bundle and generate-pulse-insight-brief.
projectlist-projects.
flowlist-flows, get-flow, list-flow-runs, list-flow-tasks — Tableau Prep. Gated behind FLOW_TOOLS_ENABLED.
taskslist-extract-refresh-tasks, update-cloud-extract-refresh-task and its confirm- pair — the update is a two-step human-in-the-loop confirmation, not a single call.
jobslist-jobs.
userslist-users, update-user.
authoringrequest-workbook-upload, publish-workbook.
contentdelete-content and confirm-delete-content — also a confirm-gated pair, deliberately.
content-explorationsearch-content — one search across workbooks, views, datasources and projects.
insightsgenerate-insight-cards. Gated behind INSIGHTS_TOOLS_ENABLED.
admin-insightsquery-admin-insights. Gated behind ADMIN_TOOLS_ENABLED.
token-managementrevoke-access-token, reset-consent.
mcp-appsget-embed-token, record-event, render-interactive-viz — the MCP-Apps surface that draws a live, interactive Tableau viz inside a supporting client rather than returning a static image.
desktop (separate build)list-instances, check-for-user-changes, get-workbook-xml, apply-workbook, list-worksheets, list-dashboards — authoring against a running Tableau Desktop. Not in the npm package; see the gotchas.
What people use it for
Answer a data question without opening Tableau
“For the Superstore Datasource, what are the top 5 states with the most sales in 2025?”
This is the README’s own example and it is the single call worth testing first, because it exercises query-datasource — the tool that turns a natural-language question into VizQL against a published datasource and returns actual rows rather than metadata.
Audit which content is actually used
“List every workbook in the Marketing project, then show me the ones with fewer than 10 views in the last year.”
list-workbooks plus list-views is the cheapest read-only pass at the question every Tableau admin eventually has to answer. It needs no extra flags and no write permissions.
Put a chart into the conversation
“Show me the "Economy" view in the "Finances" project.”
get-view-image returns a rendered image, so the answer is the chart itself rather than a description of it. In a client that supports MCP-Apps, render-interactive-viz goes further and embeds a live viz.
Catch a stale extract before someone else does
“List the extract refresh tasks on this site and tell me which ones last completed more than a week ago.”
list-extract-refresh-tasks and list-jobs together cover the failure that quietly makes every dashboard wrong. Changing a schedule is possible too, but update-cloud-extract-refresh-task requires an explicit confirm call, so an agent cannot reschedule anything by accident.
Which one should you use?
Tableau is one of the few analytics vendors that ships its own server, so the comparison worth making is against the other BI servers you might be connecting the same agent to.
Hosted mcp.tableau.com vs self-hosted @tableau/mcp-server
Hosted unless you are on Tableau Server or a security review forbids it. Hosted gets you OAuth 2.1, per-user permissions and no deployment; self-hosted gets you network control at the cost of a shared PAT identity.
BigQuery MCP Server
BigQuery if the question is about raw warehouse tables. Tableau if the question is about published datasources, governed metrics and existing dashboards — the value here is that the semantics are already modelled.
Mixpanel MCP Server
Mixpanel for product-analytics event funnels, and note it is a community server with no vendor support. Tableau for governed BI. They rarely overlap.
Looker
Looker if your semantic layer is LookML. Both are governed-BI servers; the answer is whichever platform your metrics are actually defined in.
Every command, environment variable, and endpoint above was read from the project’s own documentation on 2026-08-23: tableau/tableau-mcp README, Official Tableau MCP documentation site, src/tools/web/toolName.ts (all 43 web tool names and the 16 tool groups), src/tools/desktop/toolName.ts (the 6 Tableau Desktop authoring tools), src/config.ts (auth modes, required env vars, tool-gate flags), src/overridableConfig.ts (INCLUDE_TOOLS / EXCLUDE_TOOLS parsing), npm @tableau/mcp-server 4.6.0 (bin map, engines, published tarball contents).
Categories
Frequently Asked Questions
Why does pip install tableau-mcp fail?
Why are the Tableau Desktop authoring tools missing?
Why do I still see all the tools after setting INCLUDE_TOOLS?
Why is the server ignoring my AUTH setting?
Why does the server refuse to start when OAUTH_ISSUER is set?
Does a self-hosted Tableau MCP server respect each user’s permissions?
Is Tableau MCP officially supported?
What is Tableau MCP Server?
Who built Tableau MCP Server?
Is Tableau MCP Server free?
How do I install Tableau MCP Server?
What does Tableau MCP Server integrate with?
Repo Health
Local/stdio install — runs on your machine, so there is no remote endpoint to verify live. Trust signal below is from the source repo.
- Last commit
- 1mo ago
- Last release
- v3.6.0 · 1mo ago
- Install
- pip
- Package
- tableau-mcp
Quick Info
- Install Type
- npm
- Author
- Tableau
- Categories
- 2
- Integrations
- 5
Related Servers
Fetch
Web content fetching and conversion for efficient LLM usage. Extract readable content from any URL.
Apify MCP Server
The Apify MCP server gives AI agents access to 6,000+ ready-made cloud scrapers, crawlers, and automation tools on the Apify Store — no infrastructure required. Connect to Apify Actors that extract data from social media platforms (Instagram, TikTok, LinkedIn), search engines (Google, Bing), e-commerce sites (Amazon, eBay), maps (Google Maps), and virtually any website. Each Actor runs in the cloud with managed proxies, browser fingerprinting, and anti-bot bypass built in. Use the Apify MCP server to query Actors by task, stream results directly into your AI context, run custom scraping Actors from your Apify account, and chain multiple data extraction steps in a single workflow. Supports tool filtering to expose only the Actors you need, and integrates with Apify's RAG web browser Actor for retrieval-augmented generation use cases.
Browserbase MCP Server
Browserbase MCP and Stagehand MCP are the same server under two names, and this catalog lists both because people search for both — this page is the platform view, /servers/stagehand covers the natural-language automation layer that runs inside it. What Browserbase supplies is the browser itself: a headless Chrome session running in Browserbase's cloud rather than on the machine your agent is on, which is the reason to use it at all. The session is a real, addressable browser with its own residential-proxy and stealth configuration and a recorded replay you can watch afterwards, so an agent's browsing survives being run from a datacenter IP, and a failed run is debuggable after the fact instead of being a black box. Nothing renders on the developer's machine, so a long-running agent is not tied to a desktop staying awake. Browserbase's recommendation is the hosted server at https://mcp.browserbase.com/mcp over streamable HTTP — they operate it and absorb the model inference that the instruction-following tools require. Clients without HTTP transport connect via npx mcp-remote https://mcp.browserbase.com/mcp. Self-hosting installs @browserbasehq/mcp-server-browserbase from npm and needs BROWSERBASE_API_KEY and BROWSERBASE_PROJECT_ID from your dashboard. Six tools are exposed — start and end for session lifecycle, navigate, act, observe and extract — and they are documented in detail on the Stagehand entry, because the act/observe/extract trio is Stagehand's model rather than Browserbase's. One thing to know before self-hosting: the browserbase/mcp-server-browserbase repository was archived on 2026-07-20 and its README now says it is kept for historical reference and should not be read as representative of the current production service. The npm package still installs and the star count on this page belongs to that archived repo; the hosted endpoint is the path Browserbase actually maintains.
Firecrawl MCP Server
The Firecrawl MCP server gives your AI assistant the ability to crawl, scrape, and extract structured data from any website — turning raw HTML into clean, LLM-ready Markdown or JSON in seconds. Built by the Firecrawl team, it exposes tools for single-page scraping, deep site crawls (following internal links), and batch URL extraction, all with JavaScript rendering handled automatically so dynamic content is never missed. Developers use it to automate competitive research, build live knowledge bases, extract pricing tables, monitor documentation changes, or feed structured web data into RAG pipelines — all through natural-language prompts without writing a single scraper script. The Firecrawl MCP server handles rate limiting, retries, and proxy rotation behind the scenes. Authentication requires a Firecrawl API key (free tier available). Install with: npx firecrawl-mcp. Works with Claude Desktop, Cursor, VS Code, and any MCP-compatible client. With Firecrawl, any public webpage becomes a structured data source your AI can reason over, compare, and act on — making it the go-to MCP server for web data extraction workflows.
Notion MCP Server
The Notion MCP Server is the official integration from Notion that connects AI assistants directly to your Notion workspace via the Notion REST API. With 4,580+ GitHub stars, it is the canonical MCP tool for bringing Notion's knowledge management capabilities into Claude Desktop, Cursor, Windsurf, and any MCP-compatible client. The server exposes a rich set of tools: search your entire workspace by keyword and return matching pages and databases; retrieve full page content and block trees; create new pages inside any parent page or workspace section; update, append, or delete block content on existing pages; list all databases your integration has access to; query database entries with filter and sort parameters; retrieve individual blocks or nested children by block ID; and add comments to pages. Authentication uses a Notion integration token — create an internal integration at notion.so/my-integrations, share specific pages or databases with it, and set NOTION_TOKEN in your environment (the older OPENAPI_MCP_HEADERS form still works). Install with a single npx command. The Notion MCP Server is especially powerful for AI workflows that span documentation retrieval, project planning, and knowledge capture — Claude can read product specs from Notion, draft new pages from conversation output, log structured data into databases, and search across thousands of notes without any manual copy-paste.
Sponsored
Better Stack
Free PlanGet alerted when your APIs, browser tests, payment pipelines, or MCP server dependencies go down. Used by 100K+ developers.
Start monitoring free →