Tableau MCP Server

Tableau MCP Server

Connects Claude Desktop to Tableau Server for natural language interactions with Tableau data, enabling data extraction, dashboard exports, and comprehensive administrative capabilities including user management, permission auditing, and usage analytics.

Category
Visit Server

README

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! šŸŽ‰

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured