Outils MCP
Le serveur expose 12 outils au protocole MCP. L'agent IA les appelle via JSON-RPC sur stdin/stdout.
topsolid_run_recipe
L'outil principal. Execute une recette pre-construite par nom. Le LLM n'a pas besoin de generer du code C# — il choisit juste le nom de la recette.
124 recettes disponibles couvrant : PDM, parametres, masse/volume, assemblages, export (6 formats), mise en plan, nomenclature, mise a plat, comparaison de documents, report de modifications, audit batch, familles.
{ "name": "topsolid_run_recipe", "arguments": { "recipe": "read_mass_volume" } }Avec parametre :
{ "name": "topsolid_run_recipe", "arguments": { "recipe": "set_designation", "value": "Bride de fixation" } }Reponse type :
Masse: 9.922 kg
Volume: 1263904.82 mm3
Surface: 115447.61 mm2Quand utiliser run_recipe vs execute_script ?
run_recipe: pour les 124 operations pre-definies (rapide, fiable, pas besoin de C#)execute_script: pour du C# custom que le LLM genere a la volee (plus flexible, plus risque)
Un modele 3B peut utiliser run_recipe. Seul un modele 24B+ peut utiliser execute_script correctement.
topsolid_get_state
Retourne l'etat courant : document actif, projet, connexion TopSolid.
Usage : premier appel pour verifier que TopSolid est connecte.
{ "name": "topsolid_get_state", "arguments": {} }Reponse type :
Connected: True (v7.20.258)
Project: MonProjet
Document: MaPiece.TopPrt (DocumentId: 12345)topsolid_api_help
Recherche dans les 1728 methodes API. Supporte les noms d'interface, mots-cles FR/EN, et filtrage.
52 synonymes FR : designation → SetDescription, reference → SetPartNumber, esquisse → Sketch, mise a plat → IUnfoldings...
Modes :
- Interface exacte :
api_help("IParameters")→ liste complete - Mot-cle :
api_help("designation")→ trouve SetDescription - Filtre :
api_help("IDocuments.Export")→ methodes Export de IDocuments
{ "name": "topsolid_api_help", "arguments": { "query": "designation" } }Fallback
Si la recherche par mots-cles ne trouve rien, un fallback cherche dans les descriptions et hints semantiques.
topsolid_execute_script
Compile et execute du C# 5 contre TopSolid. Pour les operations en lecture seule.
{
"name": "topsolid_execute_script",
"arguments": {
"code": "DocumentId docId = TopSolidHost.Documents.EditedDocument;\nreturn TopSolidHost.Documents.GetName(docId);"
}
}topsolid_modify_script
Identique a execute_script mais pour les modifications. Gere automatiquement StartModification / EndModification / Save.
WARNING
EnsureIsDirty(ref docId) change le docId. Toujours chercher les elements APRES cet appel.
topsolid_find_path
Trouve le chemin le plus court (Dijkstra) entre deux types dans le graphe API.
{
"name": "topsolid_find_path",
"arguments": {
"from": "TopSolid.Kernel.Automating.DocumentId",
"to": "TopSolid.Kernel.Automating.ElementId"
}
}topsolid_explore_paths
Explore plusieurs chemins (BFS) entre deux types. Timeout 5 secondes pour eviter les freezes.
topsolid_get_recipe (v1.5.0+)
Retourne le code C# d'une recette par nom, sans l'executer. Utile pour apprendre les patterns valides ou adapter une recette dans une app standalone.
Sans TopSolid connecte. Pure knowledge-base lookup.
{ "name": "topsolid_get_recipe", "arguments": { "recipe": "read_mass_volume" } }Sans recipe : retourne la liste des 124 recettes avec mode READ/WRITE + description.
topsolid_compile (v1.5.1+)
Compile un script C# contre l'API TopSolid SANS l'executer. Detecte les APIs hallucinees, erreurs de syntaxe, types manquants.
{
"name": "topsolid_compile",
"arguments": {
"code": "DocumentId docId = TopSolidHost.Documents.EditedDocument; return TopSolidHost.Pdm.GetName(TopSolidHost.Documents.GetPdmObject(docId));"
}
}Reponse : OK: code compiles successfully. Mode: READ ou liste d'erreurs avec numeros de ligne.
Sans TopSolid connecte.
topsolid_search_examples (v1.5.2+)
Cherche dans les corpora prives locaux de l'utilisateur (non livres avec le serveur, paths configures dans SearchExamplesTool.cs). Match sur corps de methode + nom.
{
"name": "topsolid_search_examples",
"arguments": { "query": "StartModification", "max_results": 3, "corpus": "corp-a" }
}Retourne des snippets method-level avec label corpus + chemin fichier. Cache 10 min.
Sans TopSolid connecte.
topsolid_whats_new (v1.5.2+)
Retourne le changelog markdown de l'API TopSolid pour une version donnee (ou la plus recente), tel que genere par le pipeline sync-topsolid-api.
{ "name": "topsolid_whats_new", "arguments": { "version": "7.21.164.0" } }Lists : methodes ajoutees, changements de signature, deprecations, propositions de recettes.
Sans TopSolid connecte.
topsolid_search_help (v1.6.0+)
Full-text search (SQLite FTS5) sur 5809 pages de l'aide en ligne TopSolid (2974 EN + 2835 FR). Tokenizer unicode61 avec folding des diacritiques — esquisse matche ésquissé. Ranking bm25, snippets avec terme surligne [...].
Filtres : lang (EN / FR), domain (Cad / Cae / Cam / Erp / Kernel / Pdm / WorkManager), max_results (defaut 5, max 20).
{
"name": "topsolid_search_help",
"arguments": { "query": "mise en plan section", "lang": "FR", "max_results": 5 }
}Base data/help.db embarquee (~20 MB). Pas de dependance externe (ChromaDB / Ollama / Python). Index construit offline via scripts/build-help-index.py.
Sans TopSolid connecte. Reponse typique :
Found 3 help pages (of 5809 indexed) for 'mise en plan section':
---
Title: Vue de coupe
Lang: FR Domain: Cad
Path: help-md/FR/Cad/Drafting/UI/Views/Sections/...md
Excerpt: ... crée une vue de [coupe] à partir de la vue principale de la mise en plan ...