Tableau
Connect Zoë to a self-hosted Tableau MCP server so she can browse Tableau content and query data sources in natural language, right inside Zenlytic. Zenlytic acts as an MCP client and forwards your Tableau credentials to the server on every call, so Zoë's actions inherit the underlying Tableau identity's permissions. Authenticate with a Tableau Personal Access Token (PAT) or a static Authorization header.
For Tableau Cloud customers, as part of the 2026.2 release, Tableau is planning to roll out a cloud-hosted service, available to all editions. The release will unlock the ability for Tableau Cloud customers to self-host Tableau MCP at scale using OAuth. A Tableau MCP deployment guide for Tableau Cloud customers will also be made available with the release.
What Zoë can access
Through the Tableau MCP server, Zoë can:
List and inspect workbooks, views, and projects on your Tableau Server site.
Discover published data sources, browse their schemas, and execute queries via VizQL Data Service.
Read metadata (descriptions, tags, lineage) from Tableau's Metadata API.
The exact tool surface depends on your Tableau MCP server's configuration. You can further narrow what Zoë sees with per-tool toggles in the Zenlytic connection modal.
Prerequisites
A deployed Tableau MCP server with a public HTTPS URL. Follow Tableau's deployment guide for Tableau Server customers to install and expose the server. The endpoint typically ends in
/tableau-mcp(for example,https://tableau-mcp.example.com/tableau-mcp).Credentials to call the server. Either a Tableau Personal Access Token (PAT) or a static credential expected by a proxy in front of your MCP server. See Configure request headers.
Zenlytic requirements. The
mcp-clientflag enabled on your workspace andadminrole. See the MCP overview for the full list.
Set up the connection in Zenlytic
Open Workspace Settings → Extensions → MCP and click Add Connection.
Fill out the form:
Name — a label that will appear in the chat tool menu, for example
Tableau.URL — the full HTTPS endpoint of your Tableau MCP server, including the
/tableau-mcppath.
Add credentials (see Configure request headers).
Click Test Connection. Zenlytic opens an MCP session against the server and lists the tools it advertises.
Review the tool list and toggle off any tools Zoë shouldn't be able to call.
Click Add Connection to save.
Configure request headers
Pick the path that matches your setup. Header values are masked in the Zenlytic UI and encrypted at rest.
Option 1: Personal Access Token (PAT)
Use this when your Tableau MCP server is configured with passthrough authentication (ENABLE_PASSTHROUGH_AUTH=true). Zenlytic forwards a Tableau session token on every call, which the MCP server uses to talk to Tableau's REST APIs as you.
Create a PAT in Tableau, following Personal Access Tokens — Tableau.
Sign into the Tableau REST API once with that PAT (
POST /api/{version}/auth/signin) and copy thetokenreturned in the response.Add the header below in Zenlytic:
X-Tableau-Auth
The session token from step 2.
Session tokens expire after a few hours of inactivity. When that happens, sign in again and overwrite the header value, or stand up a small proxy in front of the MCP server that refreshes the token automatically.
Option 2: Authorization header
Use this when your Tableau MCP server sits behind a reverse proxy, gateway, or other auth layer that issues its own credentials.
Authorization
The credential your proxy expects, exactly as it expects it. For example: Bearer YOUR_PROXY_KEY.
Use the connection in chat
Once the connection has at least one selected tool, it appears in the chat tool menu. Toggle it on for any conversation where you want Zoë to have access to Tableau.
A few tips:
Be specific about content. Naming the workbook, view, project, or data source explicitly produces more reliable tool calls than vague prompts.
Scope at the server when you can. Tableau MCP's
INCLUDE_*andEXCLUDE_*environment variables (such asINCLUDE_PROJECT_IDSandINCLUDE_DATASOURCE_IDS) narrow the tool surface upstream. Refresh the connection in Zenlytic after you change them.Permissions follow the underlying identity. Whichever Tableau identity authenticates the request is the one Zoë sees the world through — not the Zenlytic user asking the question.
Troubleshooting
**401 Unauthorized:** The credentials are missing, malformed, or expired. For Option 1, sign into the Tableau REST API again and replace theX-Tableau-Authvalue. For Option 2, double-check theAuthorizationvalue matches what your proxy expects.**Authorization required. Use OAuth 2.1 flow.** The Tableau MCP server has OAuth enabled and won't accept static-header calls. Reconfigure the server withDANGEROUSLY_DISABLE_OAUTH=true, or front it with a proxy that handles the OAuth handshake.**Method not allowed:** Expected if you open the URL in a browser — the server only acceptsPOST. If it shows up during Test Connection, verify the URL ends in/tableau-mcp.Tools changed after a server upgrade: Open the connection, click Refresh Tools, review the new set of tools, and Save Changes.
Last updated
Was this helpful?

