13. Assistant IA : le serveur MCP de la documentation #
Un assistant IA (Claude Code, Claude Desktop, Cursor, VS Code…) qui écrit du PowerScript pour PBToolboxAI ne connaît pas la bibliothèque : il devine des noms de méthodes, des arguments, des événements — et se trompe avec aplomb. Le serveur MCP de la documentation lui donne l'API exacte de votre version : il la consulte au lieu de l'inventer, et vérifie le code qu'il vous propose.
13.1 Ce que c'est #
- Un serveur MCP (Model Context Protocol, le protocole ouvert par lequel un assistant IA appelle des outils), lancé par l'assistant lui-même.
- Gratuit, sans licence : il ne sert que la documentation publique, embarquée avec lui. Il fonctionne hors ligne et ne lit ni n'envoie rien de votre poste.
- Une version de la documentation par version de la bibliothèque : le serveur livré avec la 4.0 décrit la 4.0.
13.2 L'installer #
Il est livré dans le paquet de démonstration, dossier mcp\ : le serveur (server\server.js), la documentation qu'il sert (index\) et un README.md. Rien à télécharger, rien d'autre à installer que Node.js 18 ou plus récent (nodejs.org) — node --version vous dit le vôtre.
Décompressez le paquet, puis gardez le dossier mcp\ là où il restera — par exemple C:\PBToolboxAI\mcp\, le chemin des exemples ci-dessous : la configuration de l'assistant nomme le chemin complet de server\server.js.
13.3 Le déclarer à votre assistant #
Partout, la commande est node et son argument le chemin complet de server\server.js. Dans un fichier JSON, chaque antislash du chemin se double.
Claude Code — une ligne de commande. Les options viennent avant le nom du serveur ; --scope user le rend disponible dans tous vos projets (sans lui, dans le projet courant seulement) :
claude mcp add --scope user pbtoolboxai-docs -- node C:\PBToolboxAI\mcp\server\server.js
Un chemin qui contient des espaces se met entre guillemets doubles :
claude mcp add --scope user pbtoolboxai-docs -- node "C:\Program Files\PBToolboxAI\mcp\server\server.js"
Ou, pour toute l'équipe d'un projet, le fichier .mcp.json à sa racine (c'est ce qu'écrit claude mcp add --scope project) — Claude Desktop et Cursor prennent le même contenu :
{
"mcpServers": {
"pbtoolboxai-docs": {
"command": "node",
"args": ["C:\\PBToolboxAI\\mcp\\server\\server.js"]
}
}
}
- Claude Desktop : Settings › Developer › Edit Config ouvre
claude_desktop_config.json(%APPDATA%\Claude\sous Windows). Enregistrez, puis quittez complètement Claude Desktop et relancez-le. - Cursor :
.cursor/mcp.jsonà la racine du projet, ou~/.cursor/mcp.jsonpour tous vos projets.
VS Code — .vscode/mcp.json dans le projet, ou la commande MCP: Open User Configuration pour tous vos espaces de travail ; la clé est servers et le type stdio :
{
"servers": {
"pbtoolboxai-docs": {
"type": "stdio",
"command": "node",
"args": ["C:\\PBToolboxAI\\mcp\\server\\server.js"]
}
}
}
13.4 Les outils #
L'assistant choisit lui-même l'outil qui répond à sa question :
| Outil | Ce qu'il répond |
|---|---|
list_components | Les composants : classe, visuel ou non, version d'apparition, gratuit ou payant, rubrique |
get_component | Toute l'API d'un composant : propriétés, méthodes, événements, constantes, poignées d'item, membres hérités ; dll donne les fonctions externes de la DLL à déclarer |
get_member | Un membre : signature exacte et surcharges, codes retour, description, un exemple, ce qui a changé d'une version à l'autre ; aussi la déclaration exacte d'une fonction PBT_* |
get_topic | Une page générale ou une de ses sections en entier : installation, thèmes, texte riche, langue, licence… |
search | Une recherche en texte libre dans toute la documentation, résultats classés |
get_examples | Les exemples PowerScript complets d'un composant |
check_code | Vérifie du PowerScript : méthode ou propriété inconnue, of_set_*/of_get_* inventé à la place d'une propriété, événement inconnu ou écrit avec ses anciens arguments, mauvais nombre d'arguments, membre retiré,poignée à qui l'on demande de construire, annotation /*nom*/ fausse, ancien vocabulaire, argument d'événement inexistant, code rendu par un ajout pris pour une poignée ou appelé comme un objet |
get_migration | Les guides de migration, de chaque version à la suivante (la dernière par défaut), pour un composant ou pour tous |
13.5 En tirer le meilleur #
- Demandez à l'assistant de passer son code à
check_codeavant de vous le proposer. check_codejuge pleinement un objet dont le type est déclaré dans l'extrait (u_pbt_ribbon uo_ribbon) ; sans déclaration, il ne juge que le nom et le nombre d'arguments.- Après une mise à jour de la bibliothèque, mettez aussi le serveur à jour — remplacez le dossier
mcp\par celui du nouveau paquet de démonstration : il décrit la version avec laquelle il a été livré.