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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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