Aller au contenu

Assistant IA

Hyperset expose un serveur MCP (Model Context Protocol), un protocole ouvert par lequel un assistant IA que vous utilisez déjà, comme Claude, se connecte à votre instance. L’instance n’embarque pas d’assistant à elle. Une fois branché, vous décrivez ce que vous voulez dans la conversation de l’assistant : il explore vos jeux de données, construit les graphiques et les assemble en tableau de bord, directement dans Hyperset.

La demande tapée dans l’assistant, puis le tableau de bord produit dans Hyperset. La fenêtre de l’assistant est un schéma : la conversation a lieu chez lui, pas dans l’instance.

L’assistant ne voit pas l’écran d’Hyperset : il dispose d’une liste d’outils, et choisit lui-même lesquels appeler pour répondre à votre demande.

Pour explorer l’instance :

  • inventory : la liste de vos connexions, jeux de données, graphiques et tableaux de bord.
  • list_tables : les tables et vues d’une connexion, y compris celles qui ne sont pas encore des jeux de données.
  • get_dataset : les colonnes et les mesures d’un jeu de données.
  • chart_capabilities : les types de graphiques qu’il sait construire.

Pour préparer et interroger les données :

  • create_dataset : déclarer un jeu de données, à partir d’une table ou d’une requête SQL.
  • execute_sql : exécuter une requête de lecture et en lire le résultat.

Pour construire :

  • generate_chart : créer un graphique (indicateur, courbe, barres, aires, tableau, secteurs, entonnoir, radar, treemap, sunburst).
  • generate_map_chart : créer une carte Veremes Map sur une table ou une requête PostGIS, en couleur unique, par catégorie ou par classes statistiques.
  • update_chart : modifier le titre, la mesure, le format ou les couleurs d’un graphique existant.
  • generate_dashboard : assembler des graphiques en tableau de bord, en lignes ou en colonnes.
  • manage_dashboard : renommer un tableau de bord, le publier, y ajouter ou en retirer un graphique.

Aucun outil ne supprime quoi que ce soit : un graphique ou un tableau de bord de trop se supprime dans Hyperset, à la main.

Ce que l’assistant crée est un objet Hyperset ordinaire : vous le retrouvez dans les menus Graphiques et Tableaux de bord, et le reprenez à la main comme n’importe quel autre.

Il faut un assistant qui sait se connecter à un serveur MCP distant avec authentification. Claude le fait par ses connecteurs.

  1. Obtenir l’adresse du serveur MCP de votre instance auprès de votre interlocuteur Veremes. Ce n’est pas l’adresse de l’instance elle-même.
  2. L’ajouter dans les connecteurs de l’assistant. Dans Claude, ouvrir les réglages, puis Connecteurs, ajouter un connecteur avec cette adresse et cliquer sur Connect.
  3. Se connecter à Hyperset. L’assistant ouvre un onglet sur la page de connexion habituelle de votre instance : vos identifiants habituels, jamais saisis dans l’assistant.
  4. Autoriser l’accès. La page Autoriser l’accès à votre compte affiche le compte connecté, le nom de l’application et ce qu’elle demande : Lire vos jeux de données, graphiques, tableaux de bord et leurs métadonnées, et Exécuter du SQL, et créer ou modifier du contenu. Cliquer sur Autoriser, ou sur Annuler pour ne rien partager.

La connexion se retire depuis l’assistant lui-même, en supprimant ou en déconnectant le connecteur. Si l’assistant signale plus tard qu’il n’a plus accès, relancer Connect.

Chaque demande passe par votre compte : l’assistant voit les données et les contenus que vous voyez, et ne crée que ce que votre rôle fonctionnel vous permet de créer. Un compte Consultation (fn_viewer) peut interroger l’assistant sur ce qui lui est ouvert, mais pas lui faire construire un graphique ; un périmètre de données qui ne vous est pas ouvert ne l’est pas davantage à l’assistant.

L’assistant ne voit jamais votre mot de passe, et chaque appel d’outil est journalisé au nom de votre compte.

Un tableau de bord créé par l’assistant vous appartient et suit les règles de tous les autres : il reste invisible des autres comptes tant qu’il n’est pas publié et partagé. Procédure : Créer un tableau de bord.

Avant d’envoyer une requête, que ce soit pour execute_sql ou pour un jeu de données défini par une requête, le serveur la contrôle :

  • une seule instruction à la fois ;
  • elle commence par SELECT, WITH, EXPLAIN ou SHOW ;
  • elle ne contient aucune instruction d’écriture ou de modification : insertion, mise à jour, suppression, création ou modification de structure, gestion des droits.

Un résultat renvoyé à l’assistant compte au plus 10 000 lignes (1 000 si l’assistant ne précise rien).

Ce contrôle complète la protection principale, qui reste les droits de votre compte sur les connexions et les données.

La demande du film ci-dessus, telle qu’elle a été envoyée :

Un tableau de bord sur la fréquentation des gares SNCF : les chiffres clés, des cartes, dix ans d’évolution.

L’assistant a d’abord fait l’inventaire de l’instance et ouvert les trois jeux de données sur les gares et le trafic, puis créé trois indicateurs (entrées en gare en 2024, évolution depuis 2015, voyageurs par jour), une carte des gares, une carte du trafic par région, une courbe sur dix ans, et enfin le tableau de bord qui les réunit : seize appels d’outils en tout.

D’autres demandes du même ordre :

  • « Quels tableaux de bord et jeux de données y a-t-il sur mon instance ? »
  • « Quelles colonnes contient le jeu de données des gares ? »
  • « Combien de lignes contient le jeu de données des gares ? »
  • « Renomme le graphique Chaque jour en Voyageurs par jour. »
  • « Publie le tableau de bord Fréquentation des gares SNCF. »
  • Les données lues partent chez l’assistant. Pour vérifier ce qu’il construit, l’assistant reçoit un échantillon des données de chaque graphique et le résultat des requêtes qu’il exécute. Ces données sont alors traitées par le fournisseur de l’assistant, selon ses propres conditions : n’y brancher un compte que si ce que ce compte voit peut en sortir.
  • L’assistant peut se tromper. Il choisit les colonnes, les calculs et les filtres : contrôler les chiffres d’un graphique qu’il a construit avant de le partager, en ouvrant le graphique dans Hyperset.
  • Tous les types de graphiques ne sont pas accessibles. Seuls ceux de la liste ci-dessus se construisent par l’assistant ; les autres se créent dans l’instance. Procédure : Créer un graphique.
  • Pas de filtres de tableau de bord. L’assistant assemble les graphiques mais ne pose pas de filtres : ils s’ajoutent ensuite dans Hyperset.
  • Pas de suppression, pas d’administration. Ni comptes, ni rôles fonctionnels, ni rôles d’accès aux données, ni connexions : cela reste dans Hyperset Manager et dans l’instance.