/ Annuaire / Playground / Tableau MCP
● Officiel tableau 🔑 Nécessite votre clé

Tableau MCP

par tableau · tableau/tableau-mcp

Le MCP officiel de Tableau : donnez aux agents un accès étendu à vos sources de données, classeurs et affichez des images via PAT, et non des captures d'écran.

tableau-mcp est le serveur MCP propriétaire de Tableau. Configurez-le avec votre URL Tableau Cloud/Server, le nom de votre site et un jeton d'accès personnel, et les agents peuvent interroger les sources de données publiées, répertorier et explorer le contenu du classeur, récupérer des images de vue et répondre à des questions sur les données en langage naturel sans que vous ayez à coller des fichiers CSV dans le chat. Prend en charge les déploiements npx, Heroku et Docker.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

tableau-mcp.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "tableau-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@tableau/mcp-server@latest"
      ],
      "env": {
        "SERVER": "https://your-server.tableau.com",
        "SITE_NAME": "your-site",
        "PAT_NAME": "claude-agent",
        "PAT_VALUE": "<personal-access-token>"
      }
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "tableau-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@tableau/mcp-server@latest"
      ],
      "env": {
        "SERVER": "https://your-server.tableau.com",
        "SITE_NAME": "your-site",
        "PAT_NAME": "claude-agent",
        "PAT_VALUE": "<personal-access-token>"
      }
    }
  }
}

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "tableau-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@tableau/mcp-server@latest"
      ],
      "env": {
        "SERVER": "https://your-server.tableau.com",
        "SITE_NAME": "your-site",
        "PAT_NAME": "claude-agent",
        "PAT_VALUE": "<personal-access-token>"
      }
    }
  }
}

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "tableau-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@tableau/mcp-server@latest"
      ],
      "env": {
        "SERVER": "https://your-server.tableau.com",
        "SITE_NAME": "your-site",
        "PAT_NAME": "claude-agent",
        "PAT_VALUE": "<personal-access-token>"
      }
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "tableau-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@tableau/mcp-server@latest"
      ]
    }
  ]
}

Continue utilise un tableau d'objets serveur plutôt qu'une map.

~/.config/zed/settings.json
{
  "context_servers": {
    "tableau-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@tableau/mcp-server@latest"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

claude mcp add tableau-mcp -- npx -y @tableau/mcp-server@latest

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : Tableau MCP

Répondre à une question commerciale par rapport à une source de données publiée

👤 Analystes et personnes opérationnelles qui vivent dans le chat ⏱ ~10 min beginner

Quand l'utiliser : Vous avez une question à laquelle un tableau de bord Tableau pourrait répondre, mais vous ne souhaitez pas ouvrir Tableau Desktop.

Prérequis
  • Compte Tableau Cloud ou Server — Demandez l'accès à votre administrateur si vous ne l'avez pas
  • Jeton d'accès personnel — Paramètres de mon compte → Jetons d'accès personnels → Créer un jeton
Déroulement
  1. Trouver la source de données
    Répertoriez les sources de données publiées sur le site « ops ».✓ Copié
    → Tableau de sources de données avec noms et identifiants
  2. Posez la question
    D'après la source de données « orders_fact », quels ont été les 10 produits les plus performants en termes de chiffre d'affaires au dernier trimestre ?✓ Copié
    → Champs de référence de réponse numérique qui existent dans la source de données

Résultat : Une réponse concrète fondée sur vos données Tableau gouvernées.

Pièges
  • Demander des champs qui ne figurent pas dans la source de données publiée — Laissez l'agent lister d'abord les métadonnées, puis demandez
Combiner avec : bigquery-server · postgres

Incorporer une image de vue Tableau dans un document de rapport

👤 PM et analystes rédigeant des rapports hebdomadaires ⏱ ~5 min beginner

Quand l'utiliser : Vous souhaitez obtenir la dernière vue d'un graphique Tableau dans un document Notion ou Google Doc.

Prérequis
  • L'URL de la vue ou son chemin de site/classeur/vue — Copier depuis l'interface utilisateur de Tableau
Déroulement
  1. Récupérer l'image
    Obtenez un fichier PNG de la vue « Revenu hebdomadaire » à partir du classeur « Exec Scorecard ».✓ Copié
    → Image renvoyée en ligne
  2. Collez-le
    Joignez-le au rapport dans Notion avec une courte légende.✓ Copié
    → L'image apparaît là où vous le souhaitez

Résultat : Visualisez des images toujours fraîches sans étape de capture d'écran.

Pièges
  • Les filtres dans l'URL se perdent — Transmettre les paramètres de filtre explicitement dans l'appel de l'outil
Combiner avec : notion

Classeurs d’audit pour la propriété et l’obsolescence

👤 Équipes de gouvernance de plateforme/données ⏱ ~25 min intermediate

Quand l'utiliser : Vous nettoyez un site bruyant avant un contrôle d'accès.

Déroulement
  1. Répertorier tous les classeurs avec le propriétaire + la date de dernière consultation
    Énumérez les classeurs sur le site « ops » avec le propriétaire, last_viewed et le projet.✓ Copié
    → Tableau des classeurs triables par récence
  2. Signaler les morts
    Marquez les classeurs non consultés depuis plus de 180 jours comme candidats à l'archivage.✓ Copié
    → Liste filtrée que vous pouvez remettre aux propriétaires

Résultat : Une liste concrète à archiver, étayée par des données d'utilisation réelles.

Combiner avec : linear

Vérifiez directement un numéro Tableau avec l'entrepôt

👤 Les ingénieurs de données débogent les écarts ⏱ ~20 min intermediate

Quand l'utiliser : Votre tableau de bord n'est pas d'accord avec la feuille de calcul de l'équipe financière et vous souhaitez savoir où.

Déroulement
  1. Lire la réponse de Tableau
    Selon Tableau, quels étaient les revenus du mois dernier ?✓ Copié
    → Numéro unique + source de données + extrait/info en direct
  2. Exécutez la même agrégation sur l’entrepôt
    Exécutez le SQL équivalent sur BigQuery et diff.✓ Copié
    → Les deux nombres côte à côte + explication delta

Résultat : Vous trouvez rapidement la dérive (extraire l'obsolescence ? filtrer ? rejoindre ?).

Pièges
  • Comparer avec live vs extrait sans le noter — L'agent doit imprimer le type de source de données avant le numéro
Combiner avec : bigquery-server

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

tableau-mcp + bigquery-server

Réconcilier une métrique Tableau avec Warehouse SQL

Extrayez la valeur Tableau et la réponse SQL de l'entrepôt et comparez-les.✓ Copié
tableau-mcp + postgres

Même workflow contre une base de données opérationnelle

Vérifiez pourquoi l'extrait de commandes_fact n'est pas d'accord avec le tableau des commandes en direct aujourd'hui.✓ Copié
tableau-mcp + notion

Intégrer des images d'affichage en direct dans des rapports hebdomadaires

Placez le dernier revenu hebdomadaire PNG en haut du rapport Notion.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
list_datasources site?: str Découvrez quelles données sont publiées avant de poser des questions 1 API call
query_datasource datasource_id: str, question: str Répondez à une question sur les données en langage naturel 1 API call + VizQL
list_workbooks site?: str, project?: str Parcourir ou auditer l’inventaire des classeurs 1 API call
get_view_image view_id: str, filters?: map Inclure l'image du graphique dans un document ou une réponse 1 API call
list_views workbook_id: str Énumérer les graphiques dans un classeur 1 API call

Coût et limites

Coût d'exécution

Quota d'API
Lié par les limites de votre API REST Tableau Cloud/Server
Tokens par appel
Petit pour les métadonnées ; voir les images sont des octets, pas des jetons
Monétaire
Gratuit : votre licence Tableau le couvre déjà
Astuce
Mettre en cache les résultats list_workbooks / list_datasources pour les audits ; l'inventaire ne change pas toutes les minutes.

Sécurité

Permissions, secrets, portée

Stockage des identifiants : PAT_VALUE appartient aux variables d'environnement ; ne le commettez jamais. Effectuez une rotation à partir de l'interface utilisateur de Tableau en cas de fuite.
Sortie de données : Tout le trafic est dirigé vers votre URL Tableau SERVER configurée. Pas d'appels à des tiers.

Dépannage

Erreurs courantes et correctifs

401 / Échec de la connexion

PAT expiré ou incompatibilité de site. Régénérez le PAT et confirmez que SITE_NAME correspond au segment d'URL du site.

Vérifier : Log into Tableau and look at the URL: /site/<SITE_NAME>/...
Source de données introuvable

Il peut être inédit ou vivre dans un projet différent. Appelez list_datasources pour voir ce qui est visible pour le jeton.

Vérifier : list_datasources with no filter
Voir les retours d'images interdits

Le propriétaire du PAT ne dispose pas des autorisations d'affichage sur ce classeur. Demandez à l'administrateur d'accorder Lire.

Vérifier : Open the view URL in a browser with the same user

Alternatives

Tableau MCP vs autres

AlternativeQuand l'utiliserCompromis
bigquery-serverVous voulez du SQL d'entrepôt brut, et non des sources de données sémantiques gouvernéesPlus de puissance, pas de métriques appartenant à Tableau
postgresVotre source de vérité est Postgres opérationnel, pas un outil BIPas de couche VizQL

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills