Tableau Cloud MCP Server 2.0
Un servidor MCP (Model Context Protocol) complet per a l'administració de Tableau Cloud, construït amb TypeScript. Aquest servidor ofereix eines d'empresa amb cobertura completa de l'API de Tableau Cloud, registre estructurat i arquitectura preparada per a producció.
Features
- Cobertura completa de l'API: més de 50 eines que cobreixen tots els aspectes de l'administració de Tableau Cloud
- Arquitectura empresarial: TypeScript amb seguretat de tipus completa, registre estructurat i gestió d'errors
- Preparat per a producció: suport Docker, configuració completa i opcions de desplegament professionals
- Estàndards oficials MCP: construït seguint els patrons d'implementació oficials de Tableau
- Administració completa: usuaris, grups, llibres de treball, fonts de dades, projectes, permisos i molt més
Quick Start
Prerequisites
- Node.js 20 o superior
- Lloc de Tableau Cloud amb accés a l'API
- Token d'accés personal amb permisos d'administrador del lloc
Installation
# Install dependencies
npm install
# Build the project
npm run build
Configuration
- Copieu la plantilla d'entorn:
cp .env.example .env
- Editeu
.envamb les vostres credencials 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
- Actualitzeu
config.jsonper a 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"
}
}
}
}
Usage
Executeu el servidor:
node build/index.js
O utilitzeu-lo amb MCP Inspector:
npm run inspect
Available Tools
User Management
create-user- Crea usuaris nous amb rols especificatssearch-users- Llista i filtra usuaris segons diversos criteris
Content Management
list-workbooks- Llista i filtra llibres de treball publicatslist-datasources- Llista i filtra fonts de dades publicadescreate-project- Crea projectes nous amb configuració de permisos
Coming Soon
- Eines addicionals d'usuaris (actualitzar, eliminar, obtenir per nom)
- Eines de gestió de grups
- Eines de gestió de permisos
- Eines operatives (torns, programacions)
- Eines d'administració del lloc
- Eines d'accés avançat a dades
Architecture
Aquesta implementació segueix els patrons oficials de Tableau MCP amb:
- Fundació TypeScript: seguretat de tipus completa amb validació Zod
- Disseny modular: separació neta entre la capa MCP, l'abstracció SDK i les implementacions d'eines
- Registre empresarial: registre estructurat amb correlació de sol·licituds i enmascarament de secrets
- Tipus de resultat: gestió d'errors funcional amb ts-results-es
- Gestió de configuració: configuració basada en entorn amb validació
- Proves professionals: framework Vitest amb informes de cobertura
Development
# 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
Deployment
Docker
Construïu i executeu amb Docker:
npm run build:docker
docker run -e SERVER=... -e PAT_NAME=... -e PAT_VALUE=... -e SITE_NAME=... tableau-cloud-mcp
Production
El servidor està dissenyat per a desplegament en producció amb:
- Registre estructurat amb nivells configurables
- Correlació de sol·licituds per a depuració
- Gestió segura de credencials
- Capacitats de monitorització de rendiment
- Mecanismes de recuperació d'errors i reintents
Configuration Options
| Variable d'entorn | Descripció | Predeterminat |
|---|---|---|
SERVER | URL del servidor Tableau Cloud | Requerit |
PAT_NAME | Nom del Token d'accés personal | Requerit |
PAT_VALUE | Valor del Token d'accés personal | Requerit |
SITE_NAME | Nom del lloc de Tableau | Requerit |
DEFAULT_LOG_LEVEL | Nivell de registre | debug |
DISABLE_LOG_MASKING | Desactiva l'enmascarament de dades sensibles | false |
INCLUDE_TOOLS | Llista separada per comes d'eines a incloure | Totes les eines |
EXCLUDE_TOOLS | Llista separada per comes d'eines a excloure | Cap |
Contributing
- Forkeu el repositori
- Creeu una branca de funcionalitat
- Fes els canvis amb tipus TypeScript adequats
- Afegeix proves per a la nova funcionalitat
- Executeu linting i proves
- Envia una pull request
License
MIT License - Vegeu el fitxer LICENSE per a detalls.
Support
Per a preguntes, problemes o sol·licituds de funcionalitats:
- Obriu una issue a GitHub
- Consulteu la documentació completa de les eines
- Reviseu els exemples de configuració
Construït amb ❤️ per a la comunitat de Tableau




