Skip to main content
Glama

Tableau MCP Server šŸš€

A powerful Model Context Protocol (MCP) server that connects Claude Desktop to Tableau Server, enabling natural language interactions with your Tableau data and comprehensive administrative capabilities.

✨ Features

šŸ“Š Data Access & Analysis

  • List & Browse: Explore all workbooks, views, and data sources

  • Data Extraction: Get CSV data from any Tableau view

  • Visual Export: Download dashboard images in PNG format

  • Complete Datasets: Download entire data sources with all raw data

  • Smart Search: Find content across your Tableau server

šŸ›”ļø Administrative Tools (New!)

  • User Management: List all users with roles and login history

  • Permission Auditing: See exactly who has access to workbooks

  • Group Management: View all groups and member counts

  • Project Oversight: Audit project permissions and settings

  • Site Administration: Get comprehensive site statistics

  • Usage Analytics: Detailed workbook usage and access audits

šŸŽÆ Use Cases

For Data Analysts

  • "Show me the sales data from Q4 dashboard"

  • "Export the customer metrics as CSV"

  • "Find all reports containing revenue data"

For Tableau Administrators

  • "Who has access to the Finance workbook?"

  • "List all users who haven't logged in recently"

  • "Show me all groups and their member counts"

  • "Audit the permissions for our HR dashboards"

šŸš€ Quick Start

Prerequisites

  • Python 3.8+

  • Claude Desktop installed

  • Access to Tableau Server or Tableau Cloud

  • Administrative privileges (for admin tools)

1. Clone and Setup

# Clone the repository git clone https://github.com/hetpatel-11/Tableau-MCP.git cd Tableau-MCP # Create virtual environment (recommended) python -m venv tableau_mcp_env source tableau_mcp_env/bin/activate # On Windows: tableau_mcp_env\Scripts\activate # Install ALL dependencies including MCP SDK pip install -r requirements.txt

2. MCP SDK Installation (If Having Issues)

If you encounter MCP SDK installation issues, try these solutions:

# Option 1: Install MCP SDK directly pip install mcp>=1.0.0 # Option 2: Install with specific version pip install mcp==1.0.0 # Option 3: Install from source (if needed) pip install git+https://github.com/modelcontextprotocol/python-sdk.git # Option 4: Force reinstall pip install --force-reinstall mcp>=1.0.0

3. Verify Installation

# Test that MCP SDK is properly installed python -c "import mcp; print('āœ… MCP SDK installed successfully')" # Test Tableau Server Client python -c "import tableauserverclient as TSC; print('āœ… Tableau Server Client ready')" # Test the server python tableau_mcp_server.py --test

4. Configuration

Create a .env file with your Tableau credentials:

TABLEAU_SERVER_URL=https://your-tableau-server.com TABLEAU_SITE_ID=your-site-name # Option 1: Personal Access Token (Recommended) TABLEAU_TOKEN_NAME=your-token-name TABLEAU_TOKEN_VALUE=your-token-value # Option 2: Username/Password # TABLEAU_USERNAME=your-username # TABLEAU_PASSWORD=your-password

5. Claude Desktop Setup

Add to your Claude Desktop configuration:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "tableau-server": { "command": "/path/to/Tableau-MCP/start_clean.sh", "args": [] } } }

6. Start the Server

# Make startup script executable chmod +x start_clean.sh # Start the server ./start_clean.sh

šŸ› ļø Available Tools

Data Access Tools

Tool

Description

list_workbooks

List all available Tableau workbooks

list_views

List views in a specific workbook

get_view_data

Extract CSV data from any view

get_view_image

Get dashboard/view as PNG image

search_content

Search across all Tableau content

list_datasources

List all available data sources

download_datasource

Download complete raw datasets

Administrative Tools

Tool

Description

list_workbook_permissions

See who has access to workbooks

list_all_users

View all users with roles and details

list_all_groups

View all groups with member counts

get_user_permissions

Get detailed user permissions

list_projects_permissions

Audit project permissions

get_site_info

Get site statistics and quotas

audit_workbook_usage

Comprehensive workbook audits

list_user_groups

See user group memberships

šŸ“‹ MCP Resources

The server exposes Tableau content as MCP resources:

  • tableau://workbooks/{workbook_id} - Workbook metadata

  • tableau://views/{view_id}/data - View data in CSV format

šŸ”§ Advanced Usage

Debug Mode

python tableau_mcp_server.py --debug

Authentication Testing

python tableau_mcp_server.py --test

Manual Setup

python setup.py --test-only

šŸ—ļø Architecture

Claude Desktop ↔ MCP Server ↔ Tableau REST API ↔ Tableau Server ā¬‡ļø [15 Available Tools] ā¬‡ļø [Data + Admin Capabilities]

šŸ“ Project Structure

Tableau-MCP/ ā”œā”€ā”€ tableau_mcp_server.py # Main MCP server implementation ā”œā”€ā”€ start_clean.sh # Server startup script ā”œā”€ā”€ requirements.txt # Python dependencies (includes MCP SDK) ā”œā”€ā”€ setup.py # Setup and configuration script ā”œā”€ā”€ env.example # Environment configuration template ā”œā”€ā”€ README.md # This file └── .env # Your credentials (create this)

šŸ”’ Security

  • Local Operation: Server runs locally with your permissions

  • Secure Credentials: Uses environment variables for authentication

  • Token Authentication: Supports Tableau Personal Access Tokens

  • No Data Leakage: No data sent to external services

🚨 Troubleshooting

MCP SDK Issues

"ModuleNotFoundError: No module named 'mcp'"

# Solution 1: Install MCP SDK pip install mcp>=1.0.0 # Solution 2: Check virtual environment source tableau_mcp_env/bin/activate pip install -r requirements.txt # Solution 3: Verify Python version python --version # Should be 3.8+

"MCP SDK version conflict"

# Uninstall and reinstall pip uninstall mcp pip install mcp>=1.0.0

Common Issues

"Authentication failed"

  • Verify credentials in .env file

  • Check Tableau Server URL format

  • Ensure account has proper permissions

"No tools available in Claude"

  • Restart Claude Desktop after configuration

  • Check that start_clean.sh is executable

  • Verify Python dependencies are installed

"Permission denied errors"

  • Ensure your account has administrative privileges

  • Check Tableau Server user permissions

  • Verify site access rights

Getting Help

  1. Test Connection: python tableau_mcp_server.py --test

  2. Debug Mode: python tableau_mcp_server.py --debug

  3. Check Logs: Look for error messages in terminal output

  4. Verify MCP: python -c "import mcp; print('MCP SDK OK')"

šŸ“ˆ Example Conversations

Data Analysis

User: "Show me all workbooks and find the sales data" Claude: [Lists workbooks] → [Finds sales-related content] → [Extracts data] User: "Get the customer metrics from the Q4 dashboard as CSV" Claude: [Locates dashboard] → [Extracts view data] → [Provides CSV]

Administration

User: "Who has access to our Finance workbook?" Claude: [Lists all users and groups with permissions] → [Shows permission levels] User: "Show me all users who are site administrators" Claude: [Lists users by role] → [Highlights administrators]

šŸ¤ Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Add your improvements

  4. Test thoroughly

  5. Submit a pull request

šŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

šŸ™ Acknowledgments


Ready to supercharge your Tableau workflows with Claude? Get started now! šŸŽ‰

-
security - not tested
A
license - permissive license
-
quality - not tested

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/hetpatel-11/Tableau-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server