Comment utiliser Codex avec Fabapp AI
Connecter Codex à votre compte
Codex déclare les serveurs MCP dans son propre fichier de configuration, en TOML et non dans le JSON que la plupart utilisent :
[mcp_servers.fabapp]
command = "npx"
args = ["-y", "@fabappai/cli", "mcp"]
La commande est la même que dans n'importe quel autre client. Seule la notation change. Si votre version de Codex
l'organise autrement, c'est sa documentation qui fait foi : la part qui est la nôtre, et qui ne change pas, c'est
npx -y @fabappai/cli mcp.
Ce qu'il vous faut
Node 20 ou plus récent, un compte Fabapp au forfait Builder ou au-dessus, et une seule connexion :
npx @fabappai/cli login
La credential va dans le trousseau du système. Elle n'est jamais affichée et se révoque depuis un seul endroit, dans le panneau.
Le cycle
npx @fabappai/cli create "Ma boutique"
npx @fabappai/cli dev
dev assemble l'app sur votre machine avec le modèle même dont la plateforme se sert pour publier, installe les
dépendances et lance le serveur local. Avec ça qui tourne, demandez ce que vous feriez à la main : lire la
définition, créer les entités, écrire les écrans. Ensuite :
npx @fabappai/cli deploy
Il envoie ce que vous avez changé puis publie, dans cet ordre. Publier avant d'envoyer publierait ce qui est sur le serveur, et votre travail resterait derrière.
Ce que change l'environnement contrôlé de Codex
C'est la différence qui se voit le plus en pratique. Codex exécute les commandes dans un environnement contrôlé, ce qui est bien, et cela veut dire que deux choses doivent être à sa portée : Node, pour que le serveur MCP démarre, et le réseau, pour que ce serveur parle à votre compte.
Quand le serveur n'apparaît pas, c'est presque toujours l'un des deux. Lancer npx -y @fabappai/cli mcp à la main
dans le même environnement le dit tout de suite : soit la commande n'existe pas, soit elle démarre et attend, ce qui
est exactement ce que doit faire un serveur qui parle en stdio.
Quoi lui demander
« Lis la documentation de la plateforme avant d'écrire le schema. » Les types de champ sont une liste fermée et tout autre est refusé ; les règles d'accès sont la seule chose entre les données d'une app et le public.
« Lis la définition actuelle avant de la changer. » Sans le schema en main, un id de modèle erroné répond 404 et un champ inventé répond 422.
« Le schema d'abord, les écrans ensuite. » Le SDK est généré à partir du modèle de données.
Et une de plus, propre au travail côté serveur : « écris-le comme une backend function, pas dans le navigateur. » Quand la tâche demande quelque chose que le client ne doit pas faire, comme appeler une API tierce ou écrire un champ que l'utilisateur ne pourrait pas modifier, cela appartient à une fonction qui tourne isolée sur le serveur.