Tableau Cloud
Administra Tableau Cloud con herramientas impulsadas por IA. Este servidor ofrece cobertura completa de API, registro de nivel empresarial y una arquitectura lista para producción.
Documentación
Servidor MCP de Tableau Cloud 2.0
Un servidor MCP (Model Context Protocol) integral para la administración de Tableau Cloud, construido con TypeScript. Este servidor proporciona herramientas de nivel empresarial con cobertura completa de la API de Tableau Cloud, registro estructurado y arquitectura lista para producción.
Características
- Cobertura completa de API: Más de 50 herramientas que cubren todos los aspectos de la administración de Tableau Cloud
- Arquitectura empresarial: TypeScript con seguridad de tipos completa, registro estructurado y manejo de errores
- Listo para producción: Soporte de Docker, configuración integral y opciones de despliegue profesional
- Estándares oficiales de MCP: Construido siguiendo los patrones oficiales de implementación de MCP de Tableau
- Administración integral: Usuarios, grupos, libros de trabajo, fuentes de datos, proyectos, permisos y más
Inicio rápido
Requisitos previos
- Node.js 20 o superior
- Sitio de Tableau Cloud con acceso a la API
- Token de acceso personal con permisos de administrador del sitio
Instalación
# Install dependencies
npm install
# Build the project
npm run build
Configuración
- Copia la plantilla de entorno:
cp .env.example .env
- Edita
.envcon tus credenciales de Tableau Cloud:
SERVER=https://your-site.online.tableau.com
PAT_NAME=your-personal-access-token-name
PAT_VALUE=your-personal-access-token-value
SITE_NAME=your-site-name
- Actualiza
config.jsonpara Claude Desktop:
{
"mcpServers": {
"tableau-cloud": {
"command": "node",
"args": ["./build/index.js"],
"env": {
"SERVER": "https://your-site.online.tableau.com",
"PAT_NAME": "your-pat-name",
"PAT_VALUE": "your-pat-value",
"SITE_NAME": "your-site-name"
}
}
}
}
Uso
Ejecuta el servidor:
node build/index.js
O úsalo con MCP Inspector:
npm run inspect
Herramientas disponibles
Gestión de usuarios
create-user- Crea nuevos usuarios con roles específicossearch-users- Lista y filtra usuarios por varios criterios
Gestión de contenido
list-workbooks- Lista y filtra libros de trabajo publicadoslist-datasources- Lista y filtra fuentes de datos publicadascreate-project- Crea nuevos proyectos con configuraciones de permisos
Próximamente
- Herramientas adicionales de usuario (actualizar, eliminar, obtener por nombre)
- Herramientas de gestión de grupos
- Herramientas de gestión de permisos
- Herramientas operativas (trabajos, programaciones)
- Herramientas de administración del sitio
- Herramientas avanzadas de acceso a datos
Arquitectura
Esta implementación sigue los patrones oficiales de MCP de Tableau con:
- Base de TypeScript: Seguridad de tipos completa con validación de Zod
- Diseño modular: Separación limpia entre la capa MCP, la abstracción del SDK y las implementaciones de herramientas
- Registro empresarial: Registro estructurado con correlación de solicitudes y enmascaramiento de secretos
- Tipos de resultado: Manejo de errores funcional con ts-results-es
- Gestión de configuración: Configuración basada en el entorno con validación
- Pruebas profesionales: Marco de trabajo Vitest con informes de cobertura
Desarrollo
# Install dependencies
npm install
# Start development build with watch
npm run build:watch
# Run tests
npm test
# Run tests with coverage
npm run coverage
# Lint code
npm run lint
# Build and inspect
npm run build:inspect
Despliegue
Docker
Construye y ejecuta con Docker:
npm run build:docker
docker run -e SERVER=... -e PAT_NAME=... -e PAT_VALUE=... -e SITE_NAME=... tableau-cloud-mcp
Producción
El servidor está diseñado para despliegue en producción con:
- Registro estructurado con niveles configurables
- Correlación de solicitudes para depuración
- Manejo seguro de credenciales
- Capacidades de monitoreo de rendimiento
- Mecanismos de recuperación de errores y reintentos
Opciones de configuración
| Variable de entorno | Descripción | Predeterminado |
|---|---|---|
SERVER | URL del servidor de Tableau Cloud | Requerido |
PAT_NAME | Nombre del token de acceso personal | Requerido |
PAT_VALUE | Valor del token de acceso personal | Requerido |
SITE_NAME | Nombre del sitio de Tableau | Requerido |
DEFAULT_LOG_LEVEL | Nivel de registro | debug |
DISABLE_LOG_MASKING | Deshabilitar enmascaramiento de datos sensibles | false |
INCLUDE_TOOLS | Lista separada por comas de herramientas a incluir | Todas las herramientas |
EXCLUDE_TOOLS | Lista separada por comas de herramientas a excluir | Ninguna |
Contribuciones
- Haz un fork del repositorio
- Crea una rama de características
- Realiza tus cambios con tipos de TypeScript adecuados
- Agrega pruebas para la nueva funcionalidad
- Ejecuta el linting y las pruebas
- Envía una solicitud de extracción
Licencia
Licencia MIT - Consulta el archivo LICENSE para más detalles.
Soporte
Para preguntas, problemas o solicitudes de funciones:
- Abre un problema en GitHub
- Consulta la documentación completa de las herramientas
- Revisa los ejemplos de configuración
Construido con ❤️ para la comunidad de Tableau