Découvrir
Le schéma, les types, attributs et relations se demandent à MCP ; l’agent n’a pas à inventer une structure invisible.
GS-Agent · Model Context Protocol
GS-Agent expose Generic System par MCP. L’agent découvre, interroge et transforme le graphe réel : il ne reçoit pas un modèle auxiliaire détaché des contraintes et des transactions du kernel.
Même source de vérité
Le schéma, les types, attributs et relations se demandent à MCP ; l’agent n’a pas à inventer une structure invisible.
Les mutations passent par les contraintes du kernel. Les transactions et trials rendent l’intention explicite avant la validation durable.
Le résultat ou l’erreur structurée vient du même cache et des mêmes règles que les autres surfaces du système.
Capteur pour agent
watch_type : voir ce qui change, sans deviner.Comme Reactor, GS-Agent peut observer une vue vivante. Ce n’est pas une caméra qui fabrique une image : c’est un capteur branché sur le type observé. watch_type ouvre l’observation ; read_watch rend ensuite les changements transactionnels depuis le curseur.
watch_typeadd / removeread_watchLe journal est borné : si le curseur est trop ancien, GS-Agent renvoie une image complète avec resync: true. Il ne fait jamais passer un delta incomplet pour un état fiable.
Le lien central
Contextes et DOM par WebSocket pour l’humain.
Journal et curseur pour l’agent IA.
Dans les deux cas, l’état courant reste la référence ; le delta évite de tout reconstruire. Les surfaces diffèrent, mais elles observent la même réalité transactionnelle.
Boucle de production
Le LLM aide à formuler le modèle. GS-Agent le renseigne dans le graphe ; Reactor en projette l’application web. gs-screenshot ramène l’écran réellement rendu dans la boucle : humain et agent peuvent alors vérifier le comportement réactif avant l’itération suivante.
formule le modèle
renseigne le graphe
projette l’app web
vérifie l’écran rendu
Construire le modèle
Un agent peut créer types, attributs, relations et contraintes. Ce n’est pas un DDL dans un monde séparé : ce sont des Generics structurels manipulés avec les primitives du système.
Rendre sans dupliquer
Les rendering hints sont des informations du graphe. Reactor les lit pour projeter l’interface ; l’agent peut les écrire et les inspecter via la même surface MCP.
La surface d’outils
Le serveur MCP expose l’Engine sous forme d’outils nommés : contexte (current_context, use_context), schéma (get_schema, list_types), instances (query_instances, upsert_instances), transactions, recherche, validation (validate_schema_coherence). Chaque réponse porte _context et _databaseId : on lit sur quelle base on agit avant d’agir.
Le contrat, précisément
Le contrat MCP a des formes exactes. Les détourner produit une erreur, pas une mutation :
upsert_instances reçoit le JSON en instancesJson (une chaîne), jamais en instances (tableau) : le client MCP émiette les objets imbriqués.typeTs:"1787567309220939694"), pas en nombre.@SystemGeneric par nom ; un agent qui ne les a pas lève ClassNotFoundException à la lecture du schéma.Avant toute action destructive : vérifier le contexte, valider la cohérence du schéma (validate_schema_coherence), puis interroger une instance. Ne corriger qu’après une anomalie réelle ou une confirmation.
Démontré
GS-Agent est couvert par 334 tests. Le contrat décrit ici — outils nommés, contexte porté par chaque réponse, formes de payload — est celui du serveur MCP du workspace.
Les outils GS sont préférés à toute manipulation directe des fichiers d’une base GSDS : le kernel reste l’unique détenteur de la sémantique.
Une frontière nette
Un agent est soumis aux mêmes contraintes du modèle que l’interface humaine. Une règle refusée par le kernel ne devient pas contournable parce que l’appel vient d’un LLM.