Tableau MCP Server

Interactúa con Tableau Server usando lenguaje natural para consultar datos y realizar tareas administrativas.

Documentación

Tableau MCP Server 🚀

Un potente servidor de Model Context Protocol (MCP) que conecta Claude Desktop con Tableau Server, permitiendo interacciones en lenguaje natural con tus datos de Tableau y capacidades administrativas integrales.

✨ Características

📊 Acceso y Análisis de Datos

  • Listar y Explorar: Explora todos los libros de trabajo, vistas y fuentes de datos
  • Extracción de Datos: Obtén datos CSV de cualquier vista de Tableau
  • Exportación Visual: Descarga imágenes de paneles en formato PNG
  • Conjuntos de Datos Completos: Descarga fuentes de datos completas con todos los datos sin procesar
  • Búsqueda Inteligente: Encuentra contenido en tu servidor de Tableau

🛡️ Herramientas Administrativas (¡Nuevo!)

  • Gestión de Usuarios: Lista todos los usuarios con roles e historial de inicio de sesión
  • Auditoría de Permisos: Ve exactamente quién tiene acceso a los libros de trabajo
  • Gestión de Grupos: Ve todos los grupos y recuentos de miembros
  • Supervisión de Proyectos: Audita permisos y configuraciones de proyectos
  • Administración del Sitio: Obtén estadísticas completas del sitio
  • Analíticas de Uso: Auditorías detalladas de uso y acceso de libros de trabajo

🎯 Casos de Uso

Para Analistas de Datos

  • "Muéstrame los datos de ventas del panel del cuarto trimestre"
  • "Exporta las métricas de clientes como CSV"
  • "Encuentra todos los informes que contengan datos de ingresos"

Para Administradores de Tableau

  • "¿Quién tiene acceso al libro de trabajo de Finanzas?"
  • "Lista todos los usuarios que no han iniciado sesión recientemente"
  • "Muéstrame todos los grupos y sus recuentos de miembros"
  • "Audita los permisos de nuestros paneles de Recursos Humanos"

🚀 Inicio Rápido

Requisitos Previos

  • Python 3.8+
  • Claude Desktop instalado
  • Acceso a Tableau Server o Tableau Cloud
  • Privilegios administrativos (para herramientas administrativas)

1. Clonar y Configurar

# 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. Instalación del SDK de MCP (Si Tienes Problemas)

Si encuentras problemas de instalación del SDK de MCP, prueba estas soluciones:

# 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. Verificar la Instalación

# 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. Configuración

Crea un archivo .env con tus credenciales de Tableau:

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. Configuración de Claude Desktop

Agrega a tu configuración de Claude Desktop:

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

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

6. Iniciar el Servidor

# Make startup script executable
chmod +x start_clean.sh

# Start the server
./start_clean.sh

🛠️ Herramientas Disponibles

Herramientas de Acceso a Datos

HerramientaDescripción
list_workbooksLista todos los libros de trabajo de Tableau disponibles
list_viewsLista las vistas en un libro de trabajo específico
get_view_dataExtrae datos CSV de cualquier vista
get_view_imageObtén el panel/vista como imagen PNG
search_contentBusca en todo el contenido de Tableau
list_datasourcesLista todas las fuentes de datos disponibles
download_datasourceDescarga conjuntos de datos sin procesar completos

Herramientas Administrativas

HerramientaDescripción
list_workbook_permissionsVe quién tiene acceso a los libros de trabajo
list_all_usersVe todos los usuarios con roles y detalles
list_all_groupsVe todos los grupos con recuentos de miembros
get_user_permissionsObtén permisos de usuario detallados
list_projects_permissionsAudita permisos de proyectos
get_site_infoObtén estadísticas y cuotas del sitio
audit_workbook_usageAuditorías integrales de libros de trabajo
list_user_groupsVe las membresías de grupos de usuarios

📋 Recursos MCP

El servidor expone el contenido de Tableau como recursos MCP:

  • tableau://workbooks/{workbook_id} - Metadatos de libros de trabajo
  • tableau://views/{view_id}/data - Datos de vista en formato CSV

🔧 Uso Avanzado

Modo de Depuración

python tableau_mcp_server.py --debug

Prueba de Autenticación

python tableau_mcp_server.py --test

Configuración Manual

python setup.py --test-only

🏗️ Arquitectura

Claude Desktop ↔ MCP Server ↔ Tableau REST API ↔ Tableau Server
                     ⬇️
               [15 Available Tools]
                     ⬇️
            [Data + Admin Capabilities]

📁 Estructura del Proyecto

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)

🔒 Seguridad

  • Operación Local: El servidor se ejecuta localmente con tus permisos
  • Credenciales Seguras: Utiliza variables de entorno para la autenticación
  • Autenticación por Token: Soporta Tokens de Acceso Personal de Tableau
  • Sin Fugas de Datos: No se envían datos a servicios externos

🚨 Solución de Problemas

Problemas con el SDK de MCP

"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+

"Conflicto de versión del SDK de MCP"

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

Problemas Comunes

"Error de autenticación"

  • Verifica las credenciales en el archivo .env
  • Comprueba el formato de la URL de Tableau Server
  • Asegúrate de que la cuenta tenga los permisos adecuados

"No hay herramientas disponibles en Claude"

  • Reinicia Claude Desktop después de la configuración
  • Comprueba que start_clean.sh sea ejecutable
  • Verifica que las dependencias de Python estén instaladas

"Errores de permiso denegado"

  • Asegúrate de que tu cuenta tenga privilegios administrativos
  • Comprueba los permisos de usuario en Tableau Server
  • Verifica los derechos de acceso al sitio

Obtener Ayuda

  1. Probar Conexión: python tableau_mcp_server.py --test
  2. Modo de Depuración: python tableau_mcp_server.py --debug
  3. Revisar Registros: Busca mensajes de error en la salida del terminal
  4. Verificar MCP: python -c "import mcp; print('MCP SDK OK')"

📈 Ejemplos de Conversaciones

Análisis de Datos

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]

Administración

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]

🤝 Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Agrega tus mejoras
  4. Prueba exhaustivamente
  5. Envía una solicitud de extracción

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.

🙏 Agradecimientos


¿Listo para potenciar tus flujos de trabajo de Tableau con Claude? ¡Comienza ahora! 🎉