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
| Herramienta | Descripción |
|---|---|
list_workbooks | Lista todos los libros de trabajo de Tableau disponibles |
list_views | Lista las vistas en un libro de trabajo específico |
get_view_data | Extrae datos CSV de cualquier vista |
get_view_image | Obtén el panel/vista como imagen PNG |
search_content | Busca en todo el contenido de Tableau |
list_datasources | Lista todas las fuentes de datos disponibles |
download_datasource | Descarga conjuntos de datos sin procesar completos |
Herramientas Administrativas
| Herramienta | Descripción |
|---|---|
list_workbook_permissions | Ve quién tiene acceso a los libros de trabajo |
list_all_users | Ve todos los usuarios con roles y detalles |
list_all_groups | Ve todos los grupos con recuentos de miembros |
get_user_permissions | Obtén permisos de usuario detallados |
list_projects_permissions | Audita permisos de proyectos |
get_site_info | Obtén estadísticas y cuotas del sitio |
audit_workbook_usage | Auditorías integrales de libros de trabajo |
list_user_groups | Ve 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 trabajotableau://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.shsea 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
- Probar Conexión:
python tableau_mcp_server.py --test - Modo de Depuración:
python tableau_mcp_server.py --debug - Revisar Registros: Busca mensajes de error en la salida del terminal
- 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
- Haz un fork del repositorio
- Crea una rama de características
- Agrega tus mejoras
- Prueba exhaustivamente
- 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
- Construido con el Model Context Protocol
- Utiliza Tableau Server Client
- Diseñado para Claude Desktop
¿Listo para potenciar tus flujos de trabajo de Tableau con Claude? ¡Comienza ahora! 🎉