Skip to content

Presentation ​

TopSolid MCP est un serveur Model Context Protocol qui permet a un agent IA de piloter le logiciel CAO/PDM TopSolid 7 via son API Automation.

Comment ca marche ​

Agent IA (OpenClaw / Claude / tout client MCP)
  |
  v
TopSolidMcpServer.exe (stdio JSON-RPC)
  |  - run_recipe : execute une des 224 recettes pre-construites
  |  - list_recipes : catalogue des recettes (filtre categorie / mot-cle)
  |  - api_help : cherche les bonnes methodes API (72 synonymes FR/EN)
  |  - execute_script : compile et execute du C# contre TopSolid
  |  - find_path / explore_paths : navigue dans le graphe de types
  |
  v
TopSolid 7 (WCF/TCP port 8090)

L'agent pose une question en langage naturel → le serveur MCP traduit en appels API → TopSolid execute.

Composants ​

Graphe API enrichi (graph.json) ​

Le coeur du systeme. Un graphe oriente representant toutes les methodes de l'API TopSolid Automation :

MetriqueValeur
Edges4119
Methodes uniques1728
Interfaces46
Description90%
Hints semantiques85%
Edges portant un champ Examples1193 (29%)
Snippets de code dans le graphe redistribue0

Les exemples de code ne sont pas redistribues

Les 1193 champs Examples du graph.json livre sont des tableaux vides. Les snippets viennent des corpora prives de l'auteur et ne sont pas redistribuables : ils sont retires avant publication. Ne comptez pas dessus, topsolid_get_recipe et topsolid_search_examples (corpus local, opt-in) sont les sources d'exemples reellement disponibles.

Serveur MCP (TopSolidMcpServer.exe) ​

Executable .NET Framework 4.8, communique en stdio JSON-RPC. 13 outils exposes a l'agent.

RecipeTool — 224 recettes ​

L'outil principal. Le LLM choisit une recette par nom, aucune generation de code necessaire.

Les categories ci-dessous sont celles exposees par topsolid_list_recipes. Les comptes de ce tableau sont recopies a la main depuis RecipeTool.cs (etat verifie : 224 recettes) et derivent des qu'une recette est ajoutee — la seule source a jour reste topsolid_list_recipes :

CategorieRecettesExemples
GEOMETRY16shapes, esquisses, extrusions, faces, operations
AUDIT13coherence des noms, drivers de famille, materiaux
PROJECTS11chercher, ouvrir, lister les documents du projet
DRAFTING10vues, echelle, format, qualite de projection, impression
ATTRIBUTES10couleur, transparence, calques, visibilite
PDM PROPERTIES9designation, nom, reference, fabricant
BATCH9designation/reference/fabricant en masse, export batch, virtuel
DOCUMENT8type, sauvegarde, reconstruction, revisions
PARAMETERS7lire, creer, modifier, comparer, copier
BOM7colonnes, contenu, lignes actives
EXPORT7STEP, STL, IGES, DXF, PDF
ASSEMBLIES6inclusions, occurrences, comptage de pieces
FAMILIES5detection, catalogue, drivers
MEASUREMENTS5masse, volume, surface, inertie, boite englobante
MATERIALS4lecture et audit des materiaux
UNFOLDING3detection, plis, dimensions de depliage
USER PROPERTIES2lecture et ecriture des proprietes utilisateur

Total : 224 recettes.

Dataset LoRA ​

2164 entrees d'entrainement au format ShareGPT (v7 conversational) pour fine-tuner le sous-agent 3B. Couvre les 216 recettes + patterns multi-turn + error-handling + acknowledgments. Eval : 96% (50 questions, 5 tiers). Deploye en PROD comme ministral-topsolid via Ollama.

Tests ​

Suite de tests automatises contre une instance TopSolid vivante. Scripts PowerShell executables en batch.

Architecture Agent (OpenClaw) ​

OpenClaw Main (cloud, leger — routing + conversation)
  |
  ├── topsolid-recipes (3B LoRA, local)
  |     → topsolid_run_recipe
  |     224 recettes pre-construites
  |     Classification : intent → nom de recette
  |     Latence : ~2-4 secondes
  |
  └── codestral-topsolid (22B Q4_K_M vanilla, local — PROD)
        → execute_script + modify_script + api_help + find_path
           + explore_paths + compile + search_examples
        Generation C# via le graphe API + dry-run compile (CSharpCodeProvider, C# 5)
        Cas hors-recettes, scripts ad-hoc
        Latence : ~20-30 secondes

Le Main (cloud) garde la coherence conversationnelle et route les demandes :

  • Recette connue (80% des cas) → sous-agent 3B, rapide et fiable
  • Cas custom (20%) → Codestral 22B, generation de code via le graphe + compile avant execution

Le LoRA 3B v7 est en PROD (eval 96%, 2164 paires ShareGPT EN). Le fine-tuning LoRA 22B a ete tente mais abandonne (VRAM saturee, training > 9h30) — on shippe Codestral vanilla avec Modelfile enrichi (48 accessors TopSolidHost.* listes, Pattern D, SI-units, 6 few-shot examples).

Independance & sources ​

topsolid-automation-mcp est un projet open-source (MIT) maintenu par la communaute. Il n'est ni endosse, ni sponsorise, ni affilie a TOPSOLID SAS. TopSolid® est une marque deposee de TOPSOLID SAS.

Tout le contenu redistribue vient de sources publiques TopSolid :

  • Graphe API (4119 edges, 1728 methodes) : extrait par reflexion des DLL TopSolid.*.Automating.dll livrees avec chaque installation TopSolid, croise avec la reference API officielle sur help.topsolid.com.
  • Index de l'aide (5809 pages EN+FR) : converti en Markdown depuis l'aide en ligne publique help.topsolid.com.
  • Catalogue de commandes UI (2428 commandes) : parse depuis ces memes pages d'aide (fichiers *Command.md).
  • Recettes (216 snippets C#) : ecrites specifiquement pour ce projet, en reference a l'aide publique + graphe.

Aucun exemple SDK proprietaire, code client, ou code prive identifie n'est inclus dans ce qui est distribue. L'acces aux corpora prives (topsolid_search_examples) est opt-in via des variables d'environnement pointant vers le disque local du contributeur — rien n'est bundle.

Le serveur reste autonome : n'importe quel client MCP compatible stdio (Claude Desktop, Claude Code, Cursor, Windsurf, OpenClaw...) peut s'y connecter. La specification fonctionnelle ne depend d'aucun produit tiers au-dela de TopSolid 7 lui-meme.

TopSolid MCP — Serveur Model Context Protocol pour TopSolid Automation