IA et MCP

Donnez à votre IA une machine qu’elle ne peut pas casser.

Les modèles de langage écrivent du G-code qui a l’air juste. Studio vous dit s’il l’est vraiment. Son serveur MCP intégré permet à un assistant IA de mettre en place un brut, de faire écrire le programme par la CAM de Studio, de l’exécuter sur un jumeau et de savoir ce qui s’est passé – alarmes, collisions, efforts, broutement, forme de la pièce –, puis de le rendre plus rapide.

Intégré à Studio 1.2 · 47 outils MCP · révisions MCP 2024-11-05 à 2026-07-28 · stdio et HTTP local

Comment tout s’articule

Votre client IA lance TwinwrightStudio.exe --mcp, qui se connecte à l’hôte des jumeaux sur votre ordinateur. L’hôte conserve ses jumeaux d’une conversation à l’autre : par défaut un jumeau d’entraînement (sandbox), et la machine de votre fenêtre seulement si vous activez son accès IA. Chaque simulation s’exécute plus vite que le temps réel sur une copie cachée du bridage – à partir de la pièce dans son état actuel ou, sur demande, d’un brut neuf.

Deux façons de connecter une IA

Utilisez le client IA que vous avez déjà, ou dialoguez avec un modèle directement dans Studio. Les deux passent par les mêmes outils MCP, sur les mêmes jumeaux.

Votre client IA, via MCP

Activez l’IA, cliquez sur « Connecter ».

Studio vous montre d’abord la modification, puis écrit l’entrée dans la configuration de votre client – ou ouvre le lien d’installation propre au client. Pour tout autre client MCP, vous obtenez la commande ou l’adresse locale à coller.

  • Claude Desktop et l’application de bureau ChatGPT (modes Codex et Work) : la configuration est écrite pour vous
  • Cursor, VS Code (GitHub Copilot) et LM Studio : leurs liens d’installation en un clic
  • Claude Code, Cherry Studio, Trae, Kimi Code et d’autres : copier la commande ou l’adresse HTTP
IA ▾ → Connecter des clients IA. La note en bas : l’IA ne peut atteindre aucune machine réelle, et les modifications de votre fenêtre nécessitent votre accord.
IA ▾ → Connecter des clients IA. La note en bas : l’IA ne peut atteindre aucune machine réelle, et les modifications de votre fenêtre nécessitent votre accord.
L’assistant intégré à Studio

Votre propre clé API, ou un modèle local.

Le panneau IA dialogue avec Anthropic, OpenAI, DeepSeek, Qwen (Bailian), Kimi, Zhipu GLM ou tout service compatible OpenAI, ou avec un modèle qui tourne sur votre propre ordinateur dans LM Studio ou Ollama. Il peut joindre le programme, le bridage et les résultats de vérification de la fenêtre, et il affiche les images du jumeau dans la conversation.

  • Les clés sont chiffrées avec Windows DPAPI et ne sont envoyées qu’au fournisseur que vous choisissez
  • Avec un modèle local, rien ne quitte votre ordinateur
  • « Copier pour une IA » et « Coller depuis l’IA » fonctionnent avec n’importe quelle application de chat, sans MCP
Le panneau IA avec une image de result_image – pendant l’autotest, qui pilote le panneau avec un modèle de substitution scripté.
Le panneau IA avec une image de result_image – pendant l’autotest, qui pilote le panneau avec un modèle de substitution scripté.

Ce que l’IA peut faire

Quarante-sept outils MCP. Chacun renvoie un bref résumé sur lequel le modèle peut raisonner ainsi que des données structurées décrites par un schéma, et chaque résultat indique la machine dont il provient.

Machine
machine_statusétat, alarme et sa signification, prise d’origine, positions, outil, brut ; les autres machines
machine_controlprise d’origine, déverrouillage, réinitialisation, arrêt d’avance, reprise, arrêt, déplacement, mise sous/hors tension, arrêt d’urgence
machine_mdilignes MDI une par une, une réponse par ligne, arrêt au premier refus
licence_statusl’édition, jusqu’à quand elle est valable et les fonctions qu’elle comprend
machine_libraryla bibliothèque de machines de la fenêtre
Bridage
setup_workpieceplacer ou retirer un brut dans un étau, sous des brides, sur ruban adhésif – ou votre propre fichier STL
setup_tooll’outil dans la broche et la table d’outils pour M6
setup_work_zeroG54 sur un coin ou au centre du brut
setup_partle modèle de pièce (STL) servant à la comparaison
setup_copy · setup_examplecopier un bridage vers un autre jumeau, usinage déjà réalisé compris ; mettre en place l’un des exemples
CAM
geometry_importconserver une forme – SVG, DXF, texte, formule, formes simples ou points – avec un nom, une version, un résumé et un aperçu
program_generatela CAM : un programme à partir de formes et d’opérations, en 2,5 ou 3 axes, avec la justification de chaque paramètre de coupe, prouvé par un essai
geometry_nestdisposer des pièces sur une plaque, les petites dans les trous des grandes, avec des attaches (Pro)
job_get · job_editlire le travail de FAO d’un programme et le modifier – valeurs, opérations ajoutées, supprimées ou déplacées – comme version suivante du programme
Palpeur et contrôle
probe_cyclebord, coin, alésage, bossage, face supérieure ou étalonnage sur bague, essayé d’abord dans le jumeau ; l’origine pièce n’est réglée qu’avec votre accord
inspect_partmesurer la pièce finie par rapport à la conception : poches, contours, alésages, bossages, chanfreins, rainures en V, selon l’ISO 2768 ou l’ISO 286 (Pro)
inspect_reportle relevé de contrôle en CSV et en PDF, régénéré à l’octet près et chaîné dans le journal d’audit (Pro)
setup_sheetune fiche de bridage imprimable : brut, bridage, outils, origine, espace au-dessus du brut, opérations et durées (Pro)
Programme
program_checkle mode vérification du contrôleur, l’aperçu des trajectoires confronté au bridage et les 15 règles statiques
program_simulateexécuter jusqu’au bout sur une copie cachée, à partir de la pièce en l’état ou d’un brut neuf : durée, alarmes, collisions, rapides dans la matière, charges, broutement, écart de la pièce
program_run · program_loadexécuter ou charger sur la machine elle-même (la machine de votre fenêtre vous demande d’abord votre accord)
program_debug · program_restartexécuter jusqu’à une ligne, inspecter, avancer bloc à bloc ; le bloc de départ pour une reprise
program_edit · program_optimizemodifier un programme selon l’intention exprimée (avances, vitesses de broche, décalage en Z, hauteur de sécurité), sous forme de nouvelle version ; l’optimiseur
program_versionslister, récupérer, enregistrer et comparer des versions
Exécutions et résultats
run_status · run_profileattendre ou arrêter une longue exécution ; le profil par ligne
result_comparel’écart par rapport au modèle de pièce, en chiffres
result_imageimages : pièce, trajectoire d’outil, carte des écarts, lignes les plus lentes, courbes dans le temps, comparaison A/B
log_queryrechercher dans le journal d’audit : qui a fait quoi, quand, sur quelle machine
result_exportla pièce usinée en fichier STL ou en carte de hauteurs
Bibliothèque de pièces
part_save · part_list · part_getconserver une pièce usinée avec la version du programme, l’origine pièce, le brut, le bridage et les mesures ; lister les enregistrements, en lire un
part_load · part_exportpréparer la machine pour refaire la pièce ; exporter la pièce d’un enregistrement
part_update · part_deletenom, étiquettes et notes ; supprimer ou restaurer un enregistrement
La fenêtre et l’aide
window_showvous montrer, pendant ses explications, un espace de travail, un côté de la vue 3D, la trajectoire du programme ou une étape du panneau Préparation
settingslire les réglages de la fenêtre ; changer la langue, la région, les unités, la devise ou le taux horaire machine seulement après que vous avez cliqué sur Autoriser
manual_searchchercher dans le manuel de Studio et répondre d’après lui
report_draft · report_listrédiger un rapport de problème que vous lisez et envoyez ; l’état de vos signalements et nos réponses

Une session, telle qu’elle s’est déroulée

De vrais appels à Studio 1.0 via MCP, le 9 octobre 2026. Un script joue le rôle du client IA ; les résultats des outils MCP sont ceux du jumeau, abrégés.

Vous
Voici un programme qui usine une poche dans un bloc de 6061 de 60 × 40 × 10 mm maintenu par des brides. Vérifiez-le sur la MC-1 avant que je lance l’usinage.
Assistant
Je vais placer le brut sous des brides sur le jumeau d’entraînement, monter la fraise 2 tailles de 6 mm dans la broche, mettre G54 sur le coin supérieur avant gauche du brut, puis lancer le mode vérification du contrôleur.
Outil MCP
setup_workpiece → {"placed": true, "material": "6061-T6", "fixture": "clamps", "mass_g": 64.8} setup_tool → {"tool": "flat 6 n3 L20", "stick_out_offset_mm": 4.5} setup_work_zero → {"g54_mpos": [-130.002, -95.002, -65.501]} program_check → {"refused": [{"line": 14, "code": 2, "text": "G1 X42 F", "error": "A number is missing or is not a valid number."}]}
Assistant
La ligne 14 contient un F sans valeur. Après correction, le contrôleur accepte toutes les lignes, mais l’aperçu confronté au bridage relève encore deux problèmes avant le moindre mouvement.
Outil MCP
program_check → {"refused": [], "preview": {"issues": [ {"line": 9, "kind": "rapid_cut", "text": "Line 9: a rapid move (G0) cuts 1.00 mm into the workpiece"}, {"line": 58, "kind": "collision", "text": "Line 58: tool hit clamp 2 strap (X 80.966 Y 62.049 Z -60.501)"}]}, "static_rules": [{"line": 9, "rule": "S10", "severity": "warning"}]}
Assistant
Pour voir ce qu’ils provoqueraient, j’ai exécuté le programme jusqu’au bout sur une copie cachée du bridage.
Outil MCP
program_simulate → {"completed": false, "simulated_time_s": 85.64, "final_state": "Alarm", "issues": [ "1 collision(s): tool/clamp2_strap at machine position [80.97, 62.05, -60.50] mm", "5 rapid move(s) into material (28.215 mm3 cut at rapid rate)", "drive alarm(s): X following error", "lost steps X/Y/Z: 320 34 0 (1.25 um each): the drives fell behind", "chatter on 27 line(s) (10-18, 26-34, 42-50), worst at line 26: stability margin 1.88 > 1 - the cut there is 1.00 mm deep, 1.9 times the stable depth (about 0.53 mm) at S15300; cut at most 0.43 mm deep there …", "ALARM:17 - A motor drive reports a fault.", …], "run": "r1"}
Assistant
Deux vrais problèmes, et un troisième à connaître. La première passe plonge en rapide dans le brut, et le G0 X0 Y0 final envoie l’outil dans la bride avant gauche – les variateurs passent en défaut et la machine s’arrête. J’ai remplacé la plongée par G1 Z-1 F150, et je dégage désormais avec G53 G0 Z-2, à l’écart des brides. Le jumeau voit aussi du broutement : des passes de 1 mm font environ deux fois la profondeur stable de cet outil à 15 300 tr/min.
Outil MCP
program_simulate → {"completed": true, "simulated_time_s": 88.51, "issues": [ "chatter on 27 line(s) (10-18, 26-34, 42-50), worst at line 42: stability margin 1.88 > 1 - … cut at most 0.43 mm deep there …"], "material_removed_mm3": 1776.79, "replay_hash": "964c15c53873b6b6", "run": "r2"}
Assistant
Ni collision ni coupe en rapide : 1 min 29 s de temps machine et 1 777 mm³ enlevés – la poche de 30 × 20 × 3 mm moins les angles arrondis par le rayon de l’outil. Le broutement reste tant que les passes ne sont pas plus fines : 0,43 mm au plus. L’optimiseur ne change que les avances ; il gagne un peu de temps et vous laisse la profondeur.
Outil MCP
program_optimize → {"optimized": true, "verdict": "3.22 s faster (3.6 %), no line cuts heavier than the original's heaviest", "plan": {"changes": [{"line": 19, "what": "F", "before": 600, "after": 750, "why": "a lighter cut: up to the spindle load limit"}, …], "notes": "Tool 0 still chatters (margin 1.88): … a shallower cut does."}, "saved": {"name": "pocket_v3.nc", "version": 1}}
Assistant
Les deux versions sont enregistrées. Avant d’usiner, je ramènerais les passes à 0,4 mm pour que le jumeau ne voie plus de broutement – je le fais ?

Ce que voit l’IA

result_image dessine les résultats du jumeau sous forme d’images, avec les chiffres clés en texte à côté. Ces trois images proviennent de la session ci-dessus.

La première exécution au fil du temps (kind timeline) : la plongée en rapide à 12 s porte la charge de broche à 153 % et l’indice de broutement à 1,72 ; à 86 s, l’outil heurte la bride.
La première exécution au fil du temps (kind timeline) : la plongée en rapide à 12 s porte la charge de broche à 153 % et l’indice de broutement à 1,72 ; à 86 s, l’outil heurte la bride.
La pièce de l’exécution corrigée (kind workpiece), colorée selon la hauteur, entre les deux brides.
La pièce de l’exécution corrigée (kind workpiece), colorée selon la hauteur, entre les deux brides.
Les douze lignes les plus lentes de l’exécution corrigée, et ce qui a limité chacune d’elles (kind profile).
Les douze lignes les plus lentes de l’exécution corrigée, et ce qui a limité chacune d’elles (kind profile).

Configuration

Dans Studio : activez l’IA, puis IA ▾ → Connecter des clients IA, et choisissez le vôtre. Pour configurer un client à la main, faites-lui lancer TwinwrightStudio.exe (installé dans %LOCALAPPDATA%\Programs\Twinwright Studio) avec l’argument --mcp :

Claude Desktop · claude_desktop_config.json
{
  "mcpServers": {
    "twinwright": {
      "command": "C:\\Users\\<you>\\AppData\\Local\\Programs\\Twinwright Studio\\TwinwrightStudio.exe",
      "args": ["--mcp"]
    }
  }
}
Application de bureau ChatGPT · %USERPROFILE%\.codex\config.toml
[mcp_servers.twinwright]
command = 'C:\Users\<you>\AppData\Local\Programs\Twinwright Studio\TwinwrightStudio.exe'
args = ["--mcp"]
VS Code · .vscode/mcp.json
{
  "servers": {
    "twinwright": {
      "type": "stdio",
      "command": "C:\\Users\\<you>\\AppData\\Local\\Programs\\Twinwright Studio\\TwinwrightStudio.exe",
      "args": ["--mcp"]
    }
  }
}
Ligne de commande
# Claude Code
claude mcp add twinwright -- "C:\Users\<you>\AppData\Local\Programs\Twinwright Studio\TwinwrightStudio.exe" --mcp
# tout client via HTTP, sur cet ordinateur seulement
"C:\Users\<you>\AppData\Local\Programs\Twinwright Studio\TwinwrightStudio.exe" --mcp-http 8766 --mcp-token <your token>
#   URL http://127.0.0.1:8766/mcp, en-tête Authorization: Bearer <your token>
Journal d’audit

Qui a fait quoi, sur quelle machine, et quand.

Studio tient un journal d’audit sur votre ordinateur : les actions de l’opérateur dans la fenêtre, chaque appel d’outil MCP par une IA avec le nom du client, les alarmes, les collisions, les programmes lancés et terminés. Chaque entrée porte l’empreinte SHA-256 de la précédente, y compris d’un jour à l’autre, si bien qu’une entrée modifiée ou manquante se voit.

  • Cinq niveaux de détail, réglables par catégorie : machine, opérateur, programme, bridage, IA, système
  • Vérifier la chaîne dans la fenêtre du journal ou avec TwinwrightStudio.exe --audit-verify ; exporter en CSV
  • Conservé 180 jours ou jusqu’à 2 Go par défaut ; les clés API et les jetons sont masqués
La fenêtre du journal d’audit (Ctrl+L). Dans la barre d’état : un fichier, 83 entrées, la chaîne de hachage concorde de la première à la dernière.
La fenêtre du journal d’audit (Ctrl+L). Dans la barre d’état : un fichier, 83 entrées, la chaîne de hachage concorde de la première à la dernière.

Conçu pour que l’IA reste dans le jumeau

Aucune liaison avec le matériel

Le serveur MCP et l’hôte des jumeaux ne lancent et ne pilotent que des machines simulées. Ils n’ont aucune connexion série ou réseau avec une MC-1 réelle ; en mode ombre, l’IA peut seulement lire.

Désactivée tant que vous ne l’activez pas

L’interrupteur IA de la fenêtre est désactivé par défaut. Tant qu’il l’est, les clients IA travaillent sur un jumeau d’entraînement (sandbox) que vous ne voyez pas, et ses résultats le signalent, pour que l’IA ne le confonde pas avec votre machine.

Votre accord pour votre fenêtre

Quand une IA veut modifier la machine de votre fenêtre, l’en-tête vous demande de choisir « Autoriser » ou « Refuser » ; sans réponse sous 60 s, la demande est considérée comme refusée. C’est vous qui décidez si la question est posée.

Simulations sur des copies

program_simulate s’exécute sur une copie cachée du bridage, à partir de la pièce dans son état actuel ou, sur demande, d’un brut neuf ; essayer un programme ne modifie donc jamais la machine sur laquelle porte la demande.

Des humains aux commandes

Un programme vérifié par l’IA reste un fichier. Une personne le charge sur la machine réelle, définit le zéro et appuie sur Départ cycle.

Des preuves reproductibles

Chaque exécution se termine par une empreinte de relecture : le même programme sur le même bridage donne la même empreinte sur n’importe quel ordinateur, si bien que ce qu’affirme l’IA peut être vérifié.

À venir

Prévu

Twinwright Cloud

Un point d’accès MCP hébergé pour les clients qui ne peuvent accéder qu’à Internet – claude.ai, ChatGPT sur le web, Gemini, Microsoft Copilot –, avec authentification et des jumeaux propres à chaque utilisateur.

Prévu

Cartes de résultats interactives

Des images que vous pouvez faire tourner et cliquer dans la conversation, dans les clients qui prennent en charge MCP Apps.

Prévu

Un banc d’essai CNC pour l’IA

Des tâches d’usinage notées automatiquement par le jumeau, pour comparer la capacité des modèles à écrire et à corriger du G-code.

FAQ

Quels clients IA sont compatibles ?

Tout client MCP capable de lancer un programme local : Claude Desktop, Claude Code, l’application de bureau ChatGPT (modes Codex et Work), Cursor, VS Code, LM Studio, Cherry Studio, Trae et d’autres. Les versions web comme claude.ai ou ChatGPT sur le web n’atteignent que des serveurs sur Internet ; le service Twinwright Cloud prévu en fournira un. Chaque version publiée est testée avec des clients MCP automatisés via stdio et HTTP ; les entrées en un clic suivent la configuration documentée de chaque client.

L’IA voit-elle mes fichiers ?

Seulement ce que vous lui donnez ou ce que renvoient les outils MCP. Le serveur tourne sur votre ordinateur, et Twinwright ne reçoit rien. Avec un modèle dans le cloud, vos prompts et les résultats des outils sont transmis à ce fournisseur, selon ses conditions.

Combien cela coûte-t-il ?

Le serveur MCP et l’assistant font partie de Studio et sont gratuits. Un modèle dans le cloud est facturé par son fournisseur sur votre clé ; un modèle local ne coûte rien.

Combien de temps peut durer une simulation ?

Un appel répond en 40 s au plus ; une exécution plus longue répond par un identifiant d’exécution, et run_status en récupère le résultat, car certains clients n’accordent que 60 s à un appel d’outil MCP. Les simulations avec enlèvement de matière tournent généralement plusieurs fois plus vite que le temps réel (exemples de la 1.0 : 8 à 28× sur un PC de bureau actuel) ; des passages denses, comme les entrées en hélice dans une poche profonde, peuvent brièvement tourner plus lentement que le temps réel (exemple 14 : 0,6× sur ses cinq secondes les plus lentes).

Est-ce une IA qui écrit du G-code ?

Non. C’est un moyen pour n’importe quelle IA – ou n’importe quel programme – de faire écrire du G-code par la CAM de Studio à partir d’une forme, de tester du G-code sur un modèle physique de la machine et de l’améliorer preuves à l’appui. Utilisez-le avec votre CAM, votre propre code ou un assistant.

Une IA pilotera-t-elle un jour ma machine réelle ?

L’IA est audacieuse dans le jumeau et prudente sur la machine. Dans Studio, les assistants travaillent sur des jumeaux – c’est là qu’ils peuvent tout essayer. Reliée à une vraie MC-1 (mode ombre, un aperçu dans la version 1.0), l’IA ne fait que lire : ce que la machine mesure et enregistre, et son analyse ; elle ne lance jamais de programme et ne modifie jamais un paramètre. Ses appels sont inscrits dans le journal d’audit, activé par défaut.