Connect AI to Tableau Data
Tableau MCP bridges AI assistants — Claude, Cursor, VS Code — directly to your published data sources and metadata via the VizQL Data Service and Metadata APIs. Works on both Tableau Server and Tableau Cloud.
What is MCP?
The open standard that connects AI to your data
The Model Context Protocol lets AI assistants call external tools safely and predictably. Tableau MCP is the server that exposes your Tableau environment as those tools.
AI Assistant
MCP Client
Claude, Cursor, VS Code or any MCP-compatible host sends natural-language requests and calls tools.
Tableau MCP
Protocol Server
Translates requests into authenticated Tableau REST & Metadata API calls. Credentials never touch the model.
Tableau
Server or Cloud
Your workbooks, views, data sources and published metrics — wherever they live, on-premise or cloud.
Model Context Protocol
An open standard (by Anthropic) that lets AI models call external tools, databases, and APIs in a structured, safe way — without hardcoding integrations.
MCP Server
A lightweight process that exposes capabilities as "tools". Tableau MCP is this server — it wraps the Tableau REST and Metadata APIs into typed tools your AI can call.
MCP Client
The AI assistant or IDE that connects to the server. Examples: Claude Desktop, Cursor, VS Code Copilot, or your own custom host.
VizQL Data Service
Tableau's headless query engine. The MCP server uses it to run queries against published data sources and return structured tabular results.
How to Use
Up and running in five steps
From credentials to your first AI-driven Tableau query — works with both Tableau Server and Tableau Cloud.
- 01
Prerequisites
Make sure Node.js 18 or newer is installed and you have a valid Tableau Personal Access Token (PAT) for your site.
terminal# Verify Node version (must be 18+) node --version # Generate a PAT in Tableau: # User menu → My Account Settings → Personal Access Tokens → Create - 02
Set your environment variables
Store credentials as env vars so they are never hard-coded in your config file. Required for both Tableau Server and Cloud.
.env# .env or shell profile export TABLEAU_SERVER="https://tableau.acme.com" # or your Cloud pod URL export TABLEAU_SITE="my-site-name" export TABLEAU_PAT_NAME="mcp-bot" export TABLEAU_PAT_VALUE="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - 03
Add Tableau MCP to your AI client
Register the server in your MCP client config. Here is the Claude Desktop example — Cursor and VS Code follow the same shape.
claude_desktop_config.json// ~/Library/Application Support/Claude/claude_desktop_config.json { "mcpServers": { "tableau": { "command": "npx", "args": ["-y", "@tableau/mcp-server@latest"], "env": { "SERVER": "https://tableau.acme.com", "SITE_NAME": "my-site-name", "PAT_NAME": "mcp-bot", "PAT_VALUE": "your-pat-secret" } } } } - 04
Restart your client and verify
Restart Claude Desktop (or your chosen client). You should see the Tableau tools listed in the MCP section. Run a quick test:
verification# In Claude Desktop, look for the 🔌 MCP tools icon. # Available tools will include: # list_workbooks · list_views · list_datasources # query_datasource · get_field_metadata · get_view_data # get_view_image · search_content - 05
Ask your first question
Your AI assistant can now reason over your Tableau environment. Try one of these prompts to get started:
example prompts> "List all workbooks in my Sales project" > "Summarize the Q3 revenue dashboard and flag any region that is down more than 10% week-over-week" > "What fields are available in the Orders data source?" > "Query the Top Customers data source and show me the top 5 customers by revenue this year"
Benefits
Built for production analytics, not demos
Everything you need to expose Tableau to AI safely, with the guarantees enterprise data teams expect.
Works with any MCP client
Standard Model Context Protocol over stdio or HTTP. Drop it into Claude Desktop, Cursor, or your own host with zero custom glue.
Credentials stay server-side
Personal Access Tokens and connected-app secrets live in the MCP server's config — never exposed to the model or its prompts.
Schema & metadata discovery
Automatically surfaces published data sources, fields, workbooks, and views through the Tableau Metadata API.
On-Premise & Cloud parity
A single configuration shape targets Tableau Server behind your firewall or Tableau Cloud — switch with one field.
Scoped, read-first access
Granular tool permissions and site-level scoping keep assistants restricted to exactly the projects and data you allow.
PAT & connected-app auth
Authenticate with Personal Access Tokens or JWT-based connected apps, with automatic session refresh built-in.
Live query execution
Run real-time VizQL queries against published data sources and get tabular results back in seconds — no extracts needed.
Natural language to SQL
Ask your AI assistant plain-English questions and let it translate them into structured queries against your Tableau data.
Server vs Cloud
Tableau Server MCP vs Tableau Cloud MCP
The same MCP server targets either environment. Choose based on your hosting preference, compliance needs, and auth requirements.
Tableau Server
On-Premise / Self-HostedSelf-host the MCP server and point it at your internally-hosted Tableau Server. Authentication and all data traffic stay entirely inside your network — ideal for air-gapped, compliance-bound, or highly regulated deployments.
- Runs inside your private network or VPN
- Supports self-signed / internal TLS certificates
- Personal Access Token (PAT) authentication
- Zero data ever leaves your infrastructure
- Full control over Node.js server process
- Works with Tableau Server 2021.4 and newer
{
"mcpServers": {
"tableau": {
"command": "npx",
"args": ["-y", "@tableau/mcp-server@latest"],
"env": {
"SERVER": "https://tableau.internal.acme.com",
"SITE_NAME": "analytics",
"PAT_NAME": "mcp-bot",
"PAT_VALUE": "your-pat-secret-here"
}
}
}
}Side-by-side comparison
| Feature | Tableau Server MCP | Tableau Cloud MCP |
|---|---|---|
| Hosting | Self-hosted | Managed (mcp.tableau.com) or self-hosted |
| Auth methods | Personal Access Token (PAT) | PAT + Connected App (JWT) |
| Network requirement | Private network / VPN | Internet (HTTPS) |
| Data residency | Fully on-premise | Cloud-hosted |
| TLS / custom certs | ||
| Zero-config hosted endpoint | ||
| Air-gap / offline support | ||
| Multi-user OAuth at scale | ||
| Docker support | ||
| Node.js 18+ required (self-host) |
Capabilities
8 tools your assistant gets out of the box
Each capability is exposed as a typed MCP tool. The assistant calls them on demand — discovering content, pulling data, and rendering views without leaving the conversation.
> "Which sales dashboards changed this week,
and what's driving the dip in EMEA revenue?"
→ search_content(query: "sales")
→ list_views(workbook: "EMEA Sales Q4")
→ query_datasource(
source: "Sales Pipeline",
filter: "region = 'EMEA'"
)list_workbooksBrowse published workbooks across sites and projects.
list_viewsEnumerate views and dashboards inside a workbook.
list_datasourcesDiscover published data sources and their owners.
get_field_metadataFetch fields, types, and descriptions via the Metadata API.
query_datasourceRun VizQL headless queries and return tabular results.
get_view_imageRender a view to PNG for visual reasoning by the model.
search_contentFull-text search across workbooks, views, and metrics.
get_view_dataExport the underlying summary or detail data of a view.