Skip to main content

A Model Context Protocol (MCP) server for Tableau Server - enables AI assistants to interact with Tableau workbooks, views, datasources, and metadata

Project description

Tableau MCP Server (tableau-mcp-navi)

A Model Context Protocol (MCP) server for Tableau Server. Enables AI assistants (like Claude, Cursor) to interact with Tableau workbooks, views, datasources, and metadata.

PyPI version License: MIT Python 3.10+

Features

  • 29 Tools for comprehensive Tableau Server interaction
  • Custom SQL from URL or Name: Give a Tableau URL or workbook name, get the SQL instantly (no file download!)
  • Fuzzy Workbook Matching: Works with CamelCase slugs like InhouseKYCFunnelView or exact names
  • Find Datasource Usage: Discover which dashboards use a specific published datasource
  • Publishing: Upload workbooks and datasources to Tableau Server
  • Two Authentication Methods: Personal Access Token (PAT) or Username/Password
  • Metadata API: Extract refresh info, data lineage, upstream tables
  • Zero Install: Run directly with uvx - no local installation needed
  • Auto Updates: Users always get the latest version

Quick Start

1. Install uv (if not installed)

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

2. Configure Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "tableau": {
      "command": "uvx",
      "args": ["tableau-mcp-navi"],
      "env": {
        "TABLEAU_SERVER_URL": "https://your-tableau-server.com",
        "TABLEAU_TOKEN_NAME": "your_token_name",
        "TABLEAU_TOKEN_SECRET": "your_token_secret",
        "TABLEAU_VERIFY_SSL": "false"
      }
    }
  }
}

3. Restart Cursor

The MCP server will be available immediately!

Available Tools (26 total)

Workbook Tools

Tool Description
list_workbooks List all workbooks on the server
get_workbook Get workbook details including views
search_workbooks Search workbooks by name

View Tools

Tool Description
list_views List views (dashboards/sheets)
get_view Get view details
get_view_data Get underlying data from a view
get_view_image Get PNG preview of a view
download_view_image Download view image to disk
download_view_image_from_url Download image from Tableau URL

Data Source Tools

Tool Description
list_datasources List all data sources
get_datasource Get data source details
refresh_datasource Trigger extract refresh

Project Tools

Tool Description
list_projects List all projects
get_project Get project details

User Tools

Tool Description
list_users List users on the server
get_user Get user details

Metadata API Tools (RCA & Lineage)

Tool Description
get_datasource_extract_info Get extract refresh times
get_dashboard_extract_info Get extract info for all datasources in a dashboard
find_stale_extracts Find datasources with stale extracts
get_datasource_tables Get upstream tables for a datasource
get_dashboard_tables Get ALL tables powering a dashboard
get_dashboard_sql_from_url Extract custom SQL from dashboard URL
get_datasource_custom_sql NEW Get Custom SQL from datasource (no download!)

Publishing Tools 🆕

Tool Description
publish_workbook Upload a .twb/.twbx workbook to Tableau Server
publish_datasource Upload a .tds/.tdsx datasource to Tableau Server
list_projects_for_publishing List projects with IDs for publishing

Other Tools

Tool Description
test_connection Test Tableau connectivity
list_sites List available sites

Configuration

Environment Variables

Variable Required Description
TABLEAU_SERVER_URL Your Tableau Server URL
TABLEAU_TOKEN_NAME ✅* Personal Access Token name
TABLEAU_TOKEN_SECRET ✅* Personal Access Token secret
TABLEAU_USERNAME ✅* Username (alternative to PAT)
TABLEAU_PASSWORD ✅* Password (alternative to PAT)
TABLEAU_SITE_ID Site ID (empty for default)
TABLEAU_VERIFY_SSL Set to "false" for self-signed certs
TABLEAU_API_VERSION Override API version
TABLEAU_MCP_ANALYTICS Set to "false" to disable analytics

*Either PAT or Username/Password required

Getting a Personal Access Token

  1. Log in to Tableau Server
  2. Click your profile icon → My Account Settings
  3. Scroll to Personal Access Tokens
  4. Click Create new token
  5. Copy both the Token Name and Token Secret

Usage Examples

After configuring Cursor:

"List all workbooks in Tableau"
"Get details for workbook abc123"
"Search for workbooks about sales"
"Get data from view xyz789"
"What tables power the Sales Dashboard?"
"Find all stale extracts older than 48 hours"
"Get the SQL from this Tableau URL: https://..."

# New in v0.2.0:
"Get the Custom SQL for the 'UPI Daily Metrics' datasource"
"Publish my workbook /path/to/report.twbx to project abc123"
"List projects where I can publish workbooks"

Updates

When the package is updated on PyPI, users automatically get the new version on their next run - no action required!

Development

# Clone
git clone https://github.com/manish-coder-1007/tableau-mcp-navi.git
cd tableau-mcp-navi

# Install dependencies
uv sync

# Run locally
uv run python -m tableau_mcp_navi

License

MIT License - see LICENSE file.

Author

Manish Balot

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tableau_mcp_navi-0.3.0.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tableau_mcp_navi-0.3.0-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

File details

Details for the file tableau_mcp_navi-0.3.0.tar.gz.

File metadata

  • Download URL: tableau_mcp_navi-0.3.0.tar.gz
  • Upload date:
  • Size: 29.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for tableau_mcp_navi-0.3.0.tar.gz
Algorithm Hash digest
SHA256 59ac66a6be08caded783e9e1e57c70dfe66878ae0c6d216ab4a29c3e735e937c
MD5 65e623373a4f65787f1ab95a97cbbc0b
BLAKE2b-256 bc0a350259c89a6f80c761449db5c9be0c8c7c633f20eaa0eeafbf66c76ffe8c

See more details on using hashes here.

File details

Details for the file tableau_mcp_navi-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tableau_mcp_navi-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a84a33ff099aa9998c578e92091c60a2bcb1909df09190d6320c709ff5253fa0
MD5 2af6763f3592f13671f10f227b6e7723
BLAKE2b-256 cca3474f30d0e32d55d49c1c40775909acf7aedeab412e5f1ad6700e378c5993

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page