tableau-mcp-navi
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TABLEAU_SITE_ID | No | Site ID (empty for default) | |
| TABLEAU_PASSWORD | No | Password (alternative to PAT) | |
| TABLEAU_USERNAME | No | Username (alternative to PAT) | |
| TABLEAU_SERVER_URL | Yes | Your Tableau Server URL | |
| TABLEAU_TOKEN_NAME | No | Personal Access Token name | |
| TABLEAU_VERIFY_SSL | No | Set to 'false' for self-signed certs | |
| TABLEAU_API_VERSION | No | Override API version | |
| TABLEAU_TOKEN_SECRET | No | Personal Access Token secret | |
| TABLEAU_MCP_ANALYTICS | No | Set to 'false' to disable analytics |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_workbooksA | List all workbooks on the Tableau Server. Args: project_id: Optional project ID to filter by limit: Maximum number of workbooks to return (default 100) Returns: Markdown formatted list of workbooks |
| get_workbookA | Get detailed information about a specific workbook. Args: workbook_id: The ID of the workbook Returns: Workbook details including views |
| search_workbooksA | Search for workbooks by name. Args: query: Search term (searches in workbook names) limit: Maximum results to return (default 20) Returns: Matching workbooks |
| list_viewsB | List views (dashboards/sheets) on the server. Args: workbook_id: Optional workbook ID to filter views by limit: Maximum number of views to return (default 100) Returns: Markdown formatted list of views |
| get_viewB | Get detailed information about a specific view. Args: view_id: The ID of the view Returns: View details |
| get_view_dataA | Get the underlying data from a view. Args: view_id: The ID of the view max_rows: Maximum rows to return (default 100) Returns: View data in markdown table format |
| get_view_imageB | Get a PNG image preview of a view. Args: view_id: The ID of the view Returns: Base64 encoded image data or error message |
| download_view_imageA | Download a view's image and save it to disk. Args: view_id: The ID of the view to download output_dir: Directory to save the image (default: current directory) filename: Optional custom filename without extension (default: view name) Returns: Success message with file path or error message |
| download_view_image_from_urlA | Download a dashboard image directly from a Tableau URL. Supports URL formats:
Args: url: Full Tableau URL to the view/dashboard output_dir: Directory to save the image (default: current directory) filename: Optional custom filename without extension Returns: Success message with file path or error message |
| list_datasourcesA | List all data sources on the Tableau Server. Args: project_id: Optional project ID to filter by limit: Maximum number of data sources to return (default 100) Returns: Markdown formatted list of data sources |
| get_datasourceB | Get detailed information about a specific data source. Args: datasource_id: The ID of the data source Returns: Data source details |
| refresh_datasourceB | Trigger a refresh of a data source extract. Args: datasource_id: The ID of the data source to refresh Returns: Refresh job status |
| list_projectsA | List all projects on the Tableau Server. Args: parent_id: Optional parent project ID to filter by Returns: Markdown formatted list of projects |
| get_projectB | Get detailed information about a specific project. Args: project_id: The ID of the project Returns: Project details |
| list_usersB | List users on the Tableau Server. Args: limit: Maximum number of users to return (default 100) Returns: Markdown formatted list of users |
| get_userB | Get detailed information about a specific user. Args: user_id: The ID of the user Returns: User details |
| get_datasource_extract_infoA | Get extract refresh information for a datasource using the Metadata API. Shows when the extract was last refreshed, updated, and which workbooks use it. Args: datasource_name: Name of the datasource (e.g., "GI Business Data Model") Returns: Extract information including last refresh time |
| get_dashboard_extract_infoB | Get extract refresh information for all datasources used by a dashboard/workbook. Shows when each underlying datasource was last refreshed. Args: workbook_name: Name of the workbook/dashboard (e.g., "Daily Sales Metrics") Returns: Workbook info with all datasource extract refresh times |
| find_stale_extractsA | Find all datasources with extracts that haven't been refreshed recently. Useful for monitoring data freshness across your Tableau environment. Args: hours_threshold: Number of hours - extracts older than this are considered stale (default: 24) Returns: List of datasources with stale or never-refreshed extracts |
| get_datasource_tablesA | Get the actual upstream tables (e.g., corp_analytics tables) used by a datasource. This is the KEY tool for RCA - shows exactly which tables power a Tableau datasource. Use this to answer: "What tables does this datasource query?" Args: datasource_name: Name of the datasource (e.g., "NAVI Pay DM", "GI Business Data Model") Returns: List of upstream tables with schema and database info |
| get_dashboard_tablesA | Get ALL upstream tables used by a dashboard/workbook. Traces through all datasources to find every table powering the dashboard. This is the MAIN RCA tool - answer "What's behind this Tableau dashboard?" Args: workbook_name: Name of the workbook/dashboard (e.g., "RCBPSlackcards", "50Cr Slack Report") Returns: Complete list of all tables powering the dashboard |
| get_dashboard_sql_from_urlA | Get ALL custom SQL queries for a Tableau dashboard from its URL. This is the MAIN tool for reverse engineering - give it a URL, get the SQL. Use this to answer: "What SQL/tables power this Tableau dashboard?" Args: url: Full Tableau dashboard URL (e.g., https://tableau.server.com/authoring/Workbook/View) Returns: Complete breakdown: Dashboard info, sheets, datasources, and custom SQL for each |
| test_connectionA | Test the connection to Tableau Server. Use this to verify connectivity and authentication. Returns: Connection status and user information |
| list_sitesA | List all sites on the Tableau Server. Note: Requires server administrator permissions. Returns: List of sites |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/manish-coder-1007/tableau-mcp-navi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server