GS-Agent · Model Context Protocol

Le même graphe, accessible à un agent IA.

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é

Découvrir, identifier, agir — sur le graphe.

01

Découvrir

Le schéma, les types, attributs et relations se demandent à MCP ; l’agent n’a pas à inventer une structure invisible.

02

Agir avec garde-fous

Les mutations passent par les contraintes du kernel. Les transactions et trials rendent l’intention explicite avant la validation durable.

03

Vérifier

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.

type
observé
watch_type
ouvre le capteur
changement
transactionnel
add / remove
read_watch

Le 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

Un Snapshot vivant, deux projections.

GS-Reactor

Contextes et DOM par WebSocket pour l’humain.

Snapshot vivant

GS-Agent / MCP

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 modèle devient une application vérifiée — puis recommence.

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.

1LLM

formule le modèle

2GS-Agent

renseigne le graphe

3GS-Reactor

projette l’app web

4gs-screenshot

vérifie l’écran rendu

Construire le modèle

Le schéma est lui-même dans le graphe.

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

Des hints écrits là où ils comptent.

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

Environ 80 outils, groupés par usage.

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

Trois règles qui coûtent cher à ignorer.

Le contrat MCP a des formes exactes. Les détourner produit une erreur, pas une mutation :

  • Le payload d’instances est une chaîne. upsert_instances reçoit le JSON en instancesJson (une chaîne), jamais en instances (tableau) : le client MCP émiette les objets imbriqués.
  • Les instants sont des chaînes. Un timestamp dépasse 2^53 ; on le passe en chaîne (typeTs:"1787567309220939694"), pas en nombre.
  • Le modèle Java doit être sur le classpath. Une base provisionnée par une application Java référence ses classes @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é

La surface MCP est testée.

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

MCP est une surface d’interaction, pas un deuxième domaine.

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.