Fix comme serveur MCP
Le même moteur que le REPL peut se piloter par un programme — typiquement un assistant IA — via MCP (Model Context Protocol). C'est le binaire fix-mcp : il parle MCP sur l'entrée/sortie standard, et expose Fix comme un jeu d'outils.
Les mêmes services, par un autre canal
fix-mcp expose exactement les services du solveur, sous forme d'outils MCP :
load— charger un fichier.fixquery— poser une question, récupérer les solutionsassert/retract— ajouter / retirer une clauselisting— lister le programme courantreload— recharger la sourcesave— écrire le programme dans un fichierhelp— interroger la doc-KB (:help, mais en appel d'outil)
Ce n'est pas un moteur différent : c'est le même cœur que le REPL, derrière un autre pilote. Une session mémoire, comme fix sans --db.
Réponses structurées
Là où le REPL répond en texte pour un humain, MCP répond en JSON pour une machine. Une erreur, en particulier, n'est pas une phrase à lire mais un objet { code, position, args, message } — le refus est une donnée, exploitable telle quelle par l'appelant.
La langue par défaut d'une session MCP est l'anglais (le REPL, lui, répond en français) — même information, public différent.
Les bords honnêtes
fix-mcpest désactivé par défaut à la compilation (c'est un adaptateur optionnel).- Session mémoire : pas de persistance côté MCP (pour ça, c'est
--dbau lancement defix). - Rien de neuf côté langage : MCP est une frontière d'hôte, pas une extension de Fix.
À côté
:help mcp— la fiche, dans le REPL.- Référence : fiches — les commandes correspondantes.