Connector guide11-minute read42 MCP tools7 languages

How to Connect Tableau to Cursor via MCP

Work with Tableau Cloud and Tableau Server from any AI agent: find workbooks, views and data sources, read view data as CSV, images, PDFs and Excel crosstabs, query published data sources through the VizQL Data Service, trace lineage with the Metadata API, and manage projects, tags, group members and extract refreshes. Sign-in with a personal access token.

HCBy HelpCode teamUpdated 11 min read Open-source on GitHub

No credit card · 7-day trial · Self-host alternative available

Tableau

Tableau

Tableau Cloud and Server: find workbooks, views and data sources, read view data as CSV, images and PDFs, query published data sources, trace lineage, manage projects, tags, group members and extract refreshes.

tools

42

Region

INTL

Category

Analytics

Authentication

Sign-in token

Required env vars

TABLEAU_SERVER_URLTABLEAU_PAT_NAMETABLEAU_PAT_SECRET
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source · AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

Skip the install. Get this working in under 2 minutes.

Start a free trial on cloud.anythingmcp.com, add the Tableau in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.

Start free trial

Summary

Work with Tableau Cloud and Tableau Server from any AI agent: find workbooks, views and data sources, read view data as CSV, images, PDFs and Excel crosstabs, query published data sources through the VizQL Data Service, trace lineage with the Metadata API, and manage projects, tags, group members and extract refreshes. Sign-in with a personal access token.

Try asking

Example prompts for Tableau

Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.

Tableau · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Tableau, paste your credentials, mint an MCP API key and you're done. No Docker, no git clone, no local server.

Tableau + Cursor

Work with Tableau Cloud and Tableau Server from any AI agent: find workbooks, views and data sources, read view data as CSV, images, PDFs and Excel crosstabs, query published data sources through the VizQL Data Service, trace lineage with the Metadata API, and manage projects, tags, group members and extract refreshes. Sign-in with a personal access token.

Prerequisites

See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:

TABLEAU_SERVER_URL, TABLEAU_PAT_NAME, TABLEAU_PAT_SECRET (optional: TABLEAU_SITE)

Step 1 — Get credentials

Setting up takes about 5 minutes. You need a Tableau Cloud site or Tableau Server 2024.2 or later, and a Tableau user who can see the content the AI should work with.

  1. In Tableau open your Account Settings, section Personal Access Tokens, enter a token name and click Create Token. On Tableau Server an admin may have to allow personal access tokens first.
  2. Copy the token name into TABLEAU_PAT_NAME and the secret, which is shown only once, into TABLEAU_PAT_SECRET. Both are case-sensitive.
  3. Put the address without a path into TABLEAU_SERVER_URL: on Tableau Cloud the pod host you see in the browser, e.g. https://prod-useast-a.online.tableau.com, on Tableau Server its own address, e.g. https://tableau.example.com.
  4. Put the site's content URL into TABLEAU_SITE: the part after /site/ in the browser address (#/site/acme/home gives acme). Leave it empty for the Default site of a Tableau Server.
  5. Install the connector and run tableau_get_current_session: it shows the site and the user and confirms the sign-in. Its site.id is the site_id every site tool needs.

The connector signs in with the token, reuses the session and signs in again when it expires. Tableau allows one session per token at a time, so do not use the same token in another tool. Tableau Cloud revokes a token that has not been used for 15 days; create a new one then.

Whose access it is: the AI sees and changes only what the token's user may see and do, with that user's site role and permissions.

What it reads: the server version and newest REST API version, the sites and their settings. A word search across workbooks, views, data sources, projects, flows, metrics, tables and databases. Projects, workbooks with their views and data connections, and views with usage counts. What a dashboard shows: the data behind a view as CSV, a PNG image the model can look at, a PDF of one view or of a whole workbook, and the crosstab as an Excel file, each narrowed with view filters if needed. Published data sources with connections, certification and extract information, their fields (tableau_read_datasource_metadata) and queries on them with dimensions, aggregated measures, filters and sorting (tableau_query_datasource). Lineage through GraphQL on the Metadata API (tableau_metadata_query): which workbooks use a data source, upstream databases, tables and columns, calculated fields, owners and data quality warnings. Users, groups and group members, background jobs and scheduled extract refresh tasks.

What it writes: refreshes the extracts of a workbook or a published data source now, runs a scheduled extract refresh task outside its schedule, creates and updates projects, renames a workbook or switches its tabs on or off, moves a workbook to another project (its permissions may follow the target project's settings), adds tags to workbooks and data sources, and adds a user of the site to a local group (Active Directory groups sync from the directory). A refresh returns a job that the AI follows with tableau_get_job.

Switched off at install: tableau_cancel_job, because a cancelled job cannot be resumed and has to be started again. An admin switches it on when the team needs it.

Data formats: ids are LUIDs (UUIDs). Lists come as {"pagination": {"pageNumber", "pageSize", "totalAvailable"}, "workbooks": {"workbook": [...]}}, and the same for projects, views, data sources, users, groups and jobs. Times are ISO 8601 in UTC. tableau_get_view_data returns CSV text with a header row, with numbers formatted as in the view. tableau_query_datasource returns data as a list of objects keyed by field caption with the function, e.g. SUM(Sales). View filters use the vf_ prefix and the field name as shown in the view, e.g. {"vf_Region": "West"}, with several values comma-separated. A job's finishCode is 0 for success, 1 for failure and 2 for cancelled.

Paging, filters and sorting: list tools take page_size (up to 1000) and page_number; the AI continues while pageNumber * pageSize is below totalAvailable. tableau_search_content pages with limit and page, and its answer carries the total. filter is field:operator:value, several joined by commas, e.g. projectName:eq:Finance,updatedAt:gt:2026-01-01T00:00:00Z; in takes [a,b]. sort is field:asc or field:desc.

Requirements: tableau_read_datasource_metadata and tableau_query_datasource need Tableau Cloud or Tableau Server 2025.1 with the VizQL Data Service on, and the API Access capability on the data source. tableau_metadata_query needs the Metadata API, which is on by default on Tableau Cloud and is enabled by an admin on Tableau Server. tableau_search_content needs Tableau Cloud or Tableau Server 2022.3 and later.

Common errors: Tableau answers {"error": {"code", "summary", "detail"}}. 401 (codes 401001 and 401002) means a wrong or expired token or a wrong site content URL. 403 means the token's user lacks the permission. 404 means a wrong id or a site_id from another site; at sign-in it means TABLEAU_SERVER_URL is wrong (only scheme and host) or the server is older than 2024.2. 400 is a bad filter or parameter, 409 a duplicate name or a refresh that is already queued.

The connector does not publish, download or delete workbooks and data sources, does not delete projects, does not add users to the site or change site roles, and does not remove tags or group members.

Step 2 — Install the adapter

curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d

Step 3 — Add the connector in Cursor

Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide shows YOUR_SERVER_ID.

Cursor reads MCP servers from ~/.cursor/mcp.json. Add this entry:

{
  "mcpServers": {
    "anythingmcp": {
      "url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
      "headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
    }
  }
}
  1. Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of YOUR_MCP_API_KEY.
  2. Save the file and restart Cursor.
  3. Open Cursor → Settings → MCP and check that anythingmcp is listed and connected.
  4. Start chatting: the agent can now call the Tableau tools.

Available tools

ToolWhat it does
tableau_get_current_sessionThe signed-in session: site (id, name, contentUrl) and user (id, name, site role)
tableau_get_server_infoProduct version, build and the newest REST API version of the Tableau Server or Tableau Cloud pod
tableau_list_sitesSites the signed-in user can reach (on Tableau Cloud usually only the signed-in one): id, name, contentUrl, state, admin mode
tableau_get_siteSettings of a site: name, contentUrl, state, storage quota, user quota, and which features (subscriptions, flows, Ask Data, ...) are on
tableau_search_contentSearch the site's content by words: workbooks, views, data sources, projects, flows, metrics, tables, databases
tableau_list_projectsProjects (folders) of the site: id, name, description, parent project id, owner, content permissions mode
tableau_list_workbooksWorkbooks of the site: id, name, contentUrl, project, owner, size, tags, created and updated time, webpageUrl
tableau_get_workbookOne workbook: name, description, project, owner, tags, views, data acceleration and freshness settings, webpageUrl
tableau_list_workbook_viewsViews (sheets and dashboards) of a workbook: id, name, contentUrl, and with include_usage_statistics the total view count
tableau_list_workbook_connectionsData connections of a workbook: type, server address, port, user name, and the published data source behind each
tableau_list_viewsViews of the whole site: id, name, contentUrl, workbook, owner, project, tags, and with include_usage_statistics the view count
tableau_get_viewOne view: name, contentUrl, workbook, owner, project, tags, and with include_usage_statistics the view count
tableau_get_view_dataThe data behind a view as CSV text (the summary data of its marks), optionally filtered with vf_ filters
tableau_get_view_imageA PNG image of a view, returned as an image the model can look at, optionally filtered with vf_ filters
tableau_get_view_pdfA PDF of one view, returned as a file, with paper size and orientation, optionally filtered with vf_ filters
tableau_download_view_crosstab_excelThe crosstab of a view as an Excel file (.xlsx), returned as a file, optionally filtered with vf_ filters
tableau_get_workbook_pdfA PDF of all views of a workbook, returned as a file, with paper size and orientation
tableau_list_datasourcesPublished data sources of the site: id, name, type (database type), project, owner, tags, certification, whether it has an extract, created…
tableau_get_datasourceOne published data source: name, description, type, project, owner, certification note, extract and refresh information
tableau_list_datasource_connectionsConnections of a published data source: type, server address, port, user name
tableau_read_datasource_metadataFields of a published data source through the VizQL Data Service: fieldCaption (the name to use in queries), dataType, role (dimension or…
tableau_query_datasourceQuery a published data source through the VizQL Data Service: pick fields (dimensions and aggregated measures), filters and sorting, get…
tableau_metadata_queryRun a GraphQL query on the Tableau Metadata API for lineage: which workbooks use a data source, upstream databases and tables, columns…
tableau_list_usersUsers of the site: id, name, full name, e-mail, site role (Creator, Explorer, Viewer, SiteAdministratorCreator, Unlicensed, ...), last…
tableau_get_userOne user: name, full name, e-mail, site role, last login, external auth id
tableau_list_user_groupsGroups a user belongs to: group id, name, domain and minimum site role
tableau_list_groupsGroups of the site: id, name, domain, minimum site role and user count
tableau_list_group_usersMembers of a group: user id, name, full name, site role and last login
tableau_list_jobsBackground jobs of the site (extract refreshes, subscriptions, flows): id, type, status, progress, created, started and ended time
tableau_get_jobStatus of one job: progress (0 to 100), finishCode (0 success, 1 failed, 2 cancelled), notes with the error text, and the workbook or data…
tableau_list_extract_refresh_tasksScheduled extract refresh tasks of the site: task id, priority, type (full or incremental), schedule (frequency and next run time), and the…
tableau_refresh_workbookRefresh the extracts of a workbook now
tableau_refresh_datasourceRefresh the extract of a published data source now
tableau_run_extract_refresh_taskRun a scheduled extract refresh task now instead of waiting for its schedule
tableau_cancel_jobCancel a running or queued job (an extract refresh, a subscription or a flow run)
tableau_create_projectCreate a project, at the top level or inside a parent project
tableau_update_projectRename a project, change its description or content permissions, or move it under another parent
tableau_update_workbookRename a workbook or switch its tabs on or off
tableau_move_workbookMove a workbook to another project (its permissions may follow the target project's settings)
tableau_add_workbook_tagsAdd tags to a workbook; existing tags stay, the answer lists all tags of the workbook
tableau_add_datasource_tagsAdd tags to a published data source; existing tags stay, the answer lists all of them
tableau_add_user_to_groupAdd a user of the site to a group (local groups only; Active Directory groups sync from the directory)

Example prompts

  • "Which workbooks in the Finance project were updated in the last 30 days, and who owns them?"
  • "Show me the numbers behind the Sales Overview dashboard, filtered to the West region."
  • "In the Superstore data source, what were total sales by region in the first half of 2026?"
  • "Which workbooks use the published data source Orders? I want to know what breaks if we change it."
  • "Did last night's extract refreshes succeed? Show me the failed ones with their error text."

FAQ

Does Cursor support custom MCP servers on the free tier? Yes, MCP is available on Hobby, Pro and Business plans.

Next steps

Was this guide helpful?

Your Tableau agent is one click away.

Install the connector, paste the key, prompt Cursor. Free for 7 days, no credit card.

Related guides

Connectors

How to Connect Tableau to ChatGPT via MCP

Work with Tableau Cloud and Tableau Server from any AI agent: find workbooks, views and data sources, read view data as CSV, images, PDFs and Excel crosstabs, query published data sources through the VizQL Data Service, trace lineage with the Metadata API, and manage projects, tags, group members and extract refreshes. Sign-in with a personal access token.

Connectors

How to Connect Tableau to Claude via MCP

Work with Tableau Cloud and Tableau Server from any AI agent: find workbooks, views and data sources, read view data as CSV, images, PDFs and Excel crosstabs, query published data sources through the VizQL Data Service, trace lineage with the Metadata API, and manage projects, tags, group members and extract refreshes. Sign-in with a personal access token.

Connectors

How to Connect Tableau to Gemini via MCP

Work with Tableau Cloud and Tableau Server from any AI agent: find workbooks, views and data sources, read view data as CSV, images, PDFs and Excel crosstabs, query published data sources through the VizQL Data Service, trace lineage with the Metadata API, and manage projects, tags, group members and extract refreshes. Sign-in with a personal access token.

Connectors

How to Connect Tableau to Meta Muse via MCP

Work with Tableau Cloud and Tableau Server from any AI agent: find workbooks, views and data sources, read view data as CSV, images, PDFs and Excel crosstabs, query published data sources through the VizQL Data Service, trace lineage with the Metadata API, and manage projects, tags, group members and extract refreshes. Sign-in with a personal access token.

Connectors

Tableau to MCP: Workbooks, Views, View Data, Data Source Queries and Lineage in any AI Agent

Work with Tableau Cloud and Tableau Server from any AI agent: find workbooks, views and data sources, read view data as CSV, images, PDFs and Excel crosstabs, query published data sources through the VizQL Data Service, trace lineage with the Metadata API, and manage projects, tags, group members and extract refreshes. Sign-in with a personal access token.

Connectors

How to Connect Tableau to Microsoft Copilot via MCP

Work with Tableau Cloud and Tableau Server from any AI agent: find workbooks, views and data sources, read view data as CSV, images, PDFs and Excel crosstabs, query published data sources through the VizQL Data Service, trace lineage with the Metadata API, and manage projects, tags, group members and extract refreshes. Sign-in with a personal access token.