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

  1. Copia la plantilla de entorno:
cp .env.example .env
  1. Edita .env con 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
  1. Actualiza config.json para 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íficos
  • search-users - Lista y filtra usuarios por varios criterios

Gestión de contenido

  • list-workbooks - Lista y filtra libros de trabajo publicados
  • list-datasources - Lista y filtra fuentes de datos publicadas
  • create-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 entornoDescripciónPredeterminado
SERVERURL del servidor de Tableau CloudRequerido
PAT_NAMENombre del token de acceso personalRequerido
PAT_VALUEValor del token de acceso personalRequerido
SITE_NAMENombre del sitio de TableauRequerido
DEFAULT_LOG_LEVELNivel de registrodebug
DISABLE_LOG_MASKINGDeshabilitar enmascaramiento de datos sensiblesfalse
INCLUDE_TOOLSLista separada por comas de herramientas a incluirTodas las herramientas
EXCLUDE_TOOLSLista separada por comas de herramientas a excluirNinguna

Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Realiza tus cambios con tipos de TypeScript adecuados
  4. Agrega pruebas para la nueva funcionalidad
  5. Ejecuta el linting y las pruebas
  6. 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