RhinoMCP connecte Rhino 8 et Grasshopper à des agents IA via le Model Context Protocol. Le dépôt jingcheng-chen/rhinomcp le présente comme une intégration permettant de créer de la géométrie, lire le document Rhino, capturer le viewport et construire des définitions Grasshopper par conversation. Lors de la vérification GitHub du 26 août 2026, le dépôt était sous licence MIT, comptait 1 005 étoiles et 94 forks, et le package serveur déclarait la version 0.3.2.
Pour Educasium, ce connecteur mérite une page séparée parce qu'il couvre deux usages pédagogiques forts : la modélisation Rhino classique et l'automatisation Grasshopper. Il ne faut pas le confondre avec Rhino MCP (McNeel), qui est l'initiative officielle de l'éditeur de Rhino. RhinoMCP est un projet communautaire, riche, documenté, mais il expose aussi des surfaces d'exécution sensibles comme les commandes Rhino natives, RhinoScript-Python et RhinoCommon C#.
Sommaire
- Ce que fait RhinoMCP
- Installation et architecture
- Outils Rhino exposés
- Outils Grasshopper exposés
- Comparaison avec McNeel Rhino MCP, Blender et Houdini
- Sécurité et limites
- Position Educasium
Ce que fait RhinoMCP
À retenir : RhinoMCP transforme Rhino 8 en environnement pilotable par un client MCP, avec lecture de scène, création géométrique et automatisation Grasshopper. Sa force est de couvrir à la fois Rhino et Grasshopper dans une seule intégration.
Rhino et Grasshopper dans le même pont
Le README indique que l'assistant peut construire dans Rhino à partir d'une description en langage naturel, lire le document ouvert et capturer le viewport pour obtenir un retour visuel. Côté Rhino, la table de capacités couvre les points, lignes, polylignes, cercles, arcs, ellipses, courbes, boîtes, sphères, cônes, cylindres, surfaces, transformations, couleurs, renommage, suppression, loft, extrusion, sweep, offset, pipe, booléens, calques, mesures et sélection filtrée.
Côté Grasshopper, le même README indique que l'assistant peut chercher des composants installés, inspecter leurs entrées et sorties, ajouter et positionner des composants, connecter ou déconnecter des paramètres, piloter sliders, toggles, panels et value lists, lancer la solution et remonter warnings ou erreurs. Cette couverture est importante pour les écoles d'architecture et de design paramétrique, parce qu'elle rend visible le graphe au lieu de produire uniquement un objet final.
Un projet communautaire, pas l'outil officiel McNeel
Le dépôt précise dans son avertissement qu'il s'agit d'une intégration tierce, non créée par McNeel. Cette distinction doit rester claire. Le fait que RhinoMCP soit bien documenté ne change pas son statut : c'est un projet communautaire maintenu dans GitHub, pas une garantie de support éditeur.
Cette nuance est utile pour un lecteur Educasium. Une école peut l'étudier comme exemple concret de pont MCP vers Rhino. Un studio peut le tester pour prototypage interne. Mais une décision de déploiement doit comparer cette option avec l'intégration officielle McNeel, les politiques IT, les versions Rhino et la tolérance au code exécuté dans le poste de création.
Installation et architecture
À retenir : l'installation passe par le Package Manager de Rhino pour le plugin, puis par un serveur Python lancé avec uvx rhinomcp côté client IA. Le pont Rhino démarre ensuite avec la commande mcpstart dans Rhino.
Flux d'installation vérifié
Le README cible Rhino 8 sur Windows et macOS. Pour installer le plugin, il demande d'ouvrir Tools, Package Manager, chercher rhinomcp, installer, puis redémarrer Rhino. Côté client MCP, la documentation donne des exemples pour Codex, Claude Code et une configuration manuelle. L'exemple Codex ajoute un serveur nommé rhino avec RHINO_MCP_HOST=127.0.0.1 et la commande uvx rhinomcp.
Le démarrage dans Rhino se fait ensuite avec mcpstart dans la ligne de commande Rhino. Le même README indique que mcpstop arrête le pont. Cette étape est facile à oublier : si le serveur Python tourne mais que mcpstart n'a pas été lancé dans Rhino, le client MCP ne peut pas piloter le logiciel.
Architecture locale
Le schéma du README décrit une chaîne locale : client IA vers rhinomcp Python par MCP stdio, puis TCP vers le plugin Rhino sur 127.0.0.1:1999, puis Rhino et Grasshopper. Les dossiers du dépôt confirment cette séparation : server contient le serveur FastMCP Python, plugin contient le plugin RhinoCommon C#, et contracts contient les schémas JSON qui synchronisent le protocole entre les deux niveaux.
Le pyproject du serveur déclare Python 3.10 ou plus récent, le nom rhinomcp, la version 0.3.2, la licence MIT et une dépendance mcp[cli] >=1.16.0. Les dépendances de développement incluent jsonschema, pytest, pytest-cov, pytest-asyncio et ruff. Le README indique aussi que les tests Python utilisent un mock server et ne nécessitent pas Rhino, ce qui aide à contrôler une partie du comportement sans lancer le logiciel.
Outils Rhino exposés
À retenir : RhinoMCP expose des outils concrets pour créer, modifier, analyser et organiser la géométrie Rhino. La couverture va plus loin que la création de primitives, mais les opérations avancées restent à vérifier visuellement.
Géométrie et édition
La référence README liste create_object et create_objects pour créer un ou plusieurs objets, modify_object et modify_objects pour transformer ou éditer, delete_object pour supprimer, et les opérations boolean_union, boolean_difference et boolean_intersection. Elle inclut aussi loft, extrude_curve, sweep1, offset_curve et pipe pour la modélisation avancée, puis project_curve, intersect_curves et split_curve pour les opérations de courbes.
Les modules serveur vérifiés confirment cette organisation : create_object.py, create_objects.py, modify_object.py, modify_objects.py, advanced_geometry.py, boolean_operations.py, curve_operations.py, measure_objects.py, analyze_objects.py et section_profile.py existent dans server/src/rhinomcp/tools. Pour Educasium, ces outils permettent de créer des exercices graduels : primitive simple, transformation, opération booléenne, mesure, puis comparaison entre résultat attendu et résultat réel.
Document, calques et retour visuel
RhinoMCP expose aussi create_layer, delete_layer, get_or_set_current_layer, get_document_summary, get_objects, get_object_info, get_selected_objects_info, get_object_attributes, update_object_attributes et select_objects. Le README précise que select_objects peut filtrer par nom, couleur ou catégorie, avec logique AND ou OR. capture_viewport donne au modèle un retour visuel sur ce qui est réellement affiché.
Ce dernier point est important. Beaucoup d'intégrations IA échouent parce qu'elles agissent sans voir le résultat. La capture du viewport ne remplace pas un contrôle humain, mais elle permet une boucle plus fiable : créer, lire, capturer, corriger. Pour un cours, c'est une bonne base pour expliquer comment un agent peut travailler avec un logiciel graphique sans être omniscient.
Outils Grasshopper exposés
À retenir : RhinoMCP ne se limite pas à Rhino ; il expose une couche Grasshopper complète pour chercher, placer, câbler, résoudre et muter des graphes. C'est la partie la plus différenciante pour les workflows paramétriques.
Construire et inspecter un canvas
La référence Grasshopper inclut gh_create_document, gh_get_document_info, gh_get_canvas_state, gh_search_components, gh_batch_search_components, gh_list_component_categories, gh_get_available_components, gh_get_component_type_info, gh_get_component_info, gh_list_components, gh_add_component, gh_update_component, gh_delete_component et gh_layout_components. Elle couvre donc la création de document, la recherche de composants, l'ajout, la mise à jour, la suppression et l'organisation du canvas.
Dans une formation, cette granularité est utile. L'assistant peut expliquer pourquoi il choisit un composant, inspecter ses entrées, le placer, puis organiser le graphe. L'élève ne voit pas seulement le résultat ; il voit la logique paramétrique. Cela correspond mieux à l'apprentissage Grasshopper qu'une génération d'objet opaque.
Câblage, paramètres et résolution
RhinoMCP expose gh_connect_components, gh_disconnect_components, gh_set_parameter_value, gh_get_parameter_value, gh_run_solution, gh_expire_solution, gh_build_graph, gh_mutate_graph, gh_get_graph et gh_clear_graph. Le README indique que l'assistant peut aussi piloter sliders, toggles, panels et value lists, puis lire des données structurées en sortie.
Cette couverture permet des démonstrations ambitieuses : construire un attracteur de points, varier des hauteurs de cylindres, modifier un slider, relancer la solution et lire les warnings. Mais elle ne supprime pas la nécessité de comprendre Grasshopper. Un graphe peut fonctionner techniquement tout en restant mauvais pour l'objectif architectural, la performance ou la maintenabilité.
Comparaison avec McNeel Rhino MCP, Blender et Houdini
À retenir : RhinoMCP est le choix communautaire riche et scriptable ; McNeel Rhino MCP est l'option officielle à évaluer séparément. Le bon choix dépend du risque acceptable, de l'environnement et du type de formation.
| Option | Usage naturel | Force principale | Limite à surveiller |
|---|---|---|---|
| RhinoMCP communautaire | Rhino 8, Grasshopper, scripts, prototypage paramétrique | Couverture Rhino + Grasshopper détaillée | Projet tiers non créé par McNeel |
| Rhino MCP McNeel | Intégration officielle éditeur | Légitimité et documentation McNeel | Détails techniques à lire dans la doc officielle |
| Blender MCP | Initiation 3D et prototypage gratuit | Accessibilité et écosystème open source | Moins centré sur NURBS et Grasshopper |
| Houdini MCP | Graphes procéduraux, wrangles, VFX | Logique node-based avancée | Exécution de code et serveur local à encadrer |
Choisir selon le contexte
Pour une école qui enseigne Rhino et Grasshopper, RhinoMCP communautaire donne beaucoup de matière pédagogique parce que la référence des outils est explicite. Pour un cabinet ou un studio avec contraintes IT fortes, l'option officielle McNeel peut être plus rassurante, même si elle doit être évaluée sur ses propres capacités et limites.
Pour un atelier de découverte de l'IA créative, Blender reste plus simple à déployer parce que le logiciel est gratuit. Pour un public Houdini, le sujet n'est pas la géométrie de conception mais le graphe procédural, les wrangles et la cuisson. RhinoMCP se place donc au milieu : très pertinent pour design, architecture, produit et paramétrique.
Sécurité et limites
À retenir : RhinoMCP parle à Rhino par un lien TCP loopback non authentifié et expose des outils capables d'exécuter des commandes et du code. Le README recommande explicitement de ne pas l'exposer au-delà de la loopback sans authentification.
Surface d'exécution
La section sécurité du README nomme run_command, execute_rhinoscript_python_code et execute_rhinocommon_csharp_code comme surfaces d'exécution ouvertes dans Rhino. C'est utile pour les opérations avancées, mais c'est aussi le point de risque principal. Un assistant qui peut lancer une commande Rhino, exécuter du Python ou du C# agit dans un contexte applicatif local.
Le README documente des variables d'environnement pour réduire cette surface. RHINO_MCP_ENABLE_RUN_COMMAND peut désactiver run_command, RHINO_MCP_ENABLE_RHINOSCRIPT peut désactiver RhinoScript-Python, RHINO_MCP_ENABLE_CSHARP peut désactiver C#, RHINO_MCP_VALIDATE peut passer la validation de schéma en off, warn ou strict, et RHINO_MCP_TIMEOUT règle le timeout socket. Cette documentation est un signal positif : le projet donne des leviers opérateur, pas seulement des capacités.
Limites pratiques
Le pont est local et dépend d'un seul serveur RhinoMCP à la fois. Le README précise de ne lancer qu'un serveur à la fois, que ce soit via Codex, Claude, Cursor ou un autre client. Il faut aussi que Rhino soit ouvert et que mcpstart ait été exécuté dans la session.
La capture viewport aide le modèle à voir le résultat, mais elle ne garantit pas la conformité d'un modèle. Une forme peut être visuellement correcte et techniquement imprécise ; une définition Grasshopper peut produire un résultat attendu et rester difficile à maintenir. Les livrables professionnels doivent donc garder des étapes de contrôle métier, mesure et validation manuelle.
Position Educasium
À retenir : Educasium peut présenter RhinoMCP comme un excellent cas d'étude pour enseigner l'IA appliquée à Rhino et Grasshopper, sans le vendre comme automatisation sans risque. Sa richesse pédagogique vient de la combinaison géométrie, paramétrique, inspection et sécurité.
Pour une formation
Un atelier Educasium pourrait commencer par le cycle minimum : ouvrir Rhino 8, installer le plugin, lancer mcpstart, demander get_document_summary, créer quelques objets, capturer le viewport et mesurer les volumes ou surfaces. Ensuite, il peut passer à Grasshopper : chercher des composants, construire un petit graphe, régler un slider, lancer la solution et inspecter les erreurs.
Cette progression enseigne autant la méthode que l'outil. L'apprenant voit comment formuler une demande, vérifier ce qui a été créé, limiter l'exécution de code et reprendre la main. Pour les métiers d'architecture, de design produit et de fabrication numérique, c'est plus utile qu'une démonstration qui cache le graphe.
Suite logique
La suite logique est une comparaison pratique entre RhinoMCP communautaire et Rhino MCP McNeel : même tâche, même scène, mêmes critères de sécurité, mêmes contrôles de résultat. Educasium peut ensuite recommander un chemin selon le contexte : formation exploratoire, studio avancé, cabinet avec politique IT stricte ou usage Grasshopper intensif.