← Retour au cours

Archicad et MCP Tapir Archicad

Voici une présentation complète de MCP Tapir Archicad — un serveur MCP qui expose les commandes de l'add-on Tapir (ENZYME-APD) ainsi que l'

Archicad et MCP Tapir Archicad

Etape 0 : Architecture MCP Server

Architecture générale

Le MCP Tapir Archicad agit comme une couche de traduction intelligente entre un agent IA et une instance Archicad en cours d'exécution. La chaîne complète est :

Agent IA (Claude ou Cursor)MCP ClientMCP Server (Python)Tapir Add-On (C++)Archicad

Il existe deux implémentations principales :

  • SzamosiMate/tapir-archicad-MCP : expose 80+ outils générés automatiquement depuis le schéma Tapir
  • tapir-archicad-mcp (PyPI v0.3.1) : version plus avancée avec 137 commandes combinant l'API Tapir communautaire ET l'API JSON officielle Graphisoft, avec recherche sémantique locale (sentence-transformers + faiss-cpu)

Workflow IA : Discover / Call

La version PyPI adopte un workflow en deux étapes pour ne pas saturer le contexte de l'IA :

  1. archicad_discover_tools — recherche sémantique parmi les 137 outils depuis une requête en langage naturel (ex: "get all wall elements" → renvoie elements_get_elements_by_type)
  2. archicad_call_tool — exécute l'outil découvert avec les paramètres construits (port + params)

Outil de découverte d'instances

CommandeDescription
discovery_list_active_archicadsListe toutes les instances Archicad actives, leur port TCP et le projet ouvert

C'est le point d'entrée obligatoire — le port retourné est utilisé comme cible pour toutes les commandes suivantes.github+1


Catégories d'endpoints disponibles

🏗️ Éléments BIM (Elements)

  • GetAllElements / elements_get_elements_by_type — récupère tous les éléments ou par type (Wall, Slab, Column, Object…)github+1
  • GetDetailsOfElements / SetDetailsOfElements — lit et modifie les détails géométriques (coordonnées, hauteur, arcs de polygone) pour Murs, Dalles, Colonnes, Polylignes, Feuilles de détail, objets libpart[github]​
  • GetConnectedElements — retourne les éléments connectés à un élément donné[github]​
  • MoveElements — déplace des éléments avec un vecteur de déplacement (x, y, z)[github]​
  • ReserveElements / ReleaseElements — réserve/libère des éléments en mode Teamwork[github]​
  • CreateColumns / CreateSlabs / CreateObjects / CreateZones — crée des éléments BIM programmatiquementgithub+1

📋 Propriétés & Classifications

  • GetAllProperties — récupère la liste de toutes les propriétés définies dans le projet[github]​
  • GetPropertyValuesOfElements / SetPropertyValuesOfElements — lit et écrit les valeurs de propriétés sur des éléments[github]​
  • GetPropertyValuesOfAttributes / SetPropertyValuesOfAttributes — idem pour les attributs[github]​
  • GetGDLParametersOfElements / ChangeGDLParametersOfElements — lit et modifie les paramètres GDL d'objets (ex: changer la couleur de crayon gs_cont_pen)[github]​
  • Classifications : GetAllClassifications, ClassificationById, SetClassifications — gestion du système de classification BIM (IFC, etc.)[github]​

🗂️ Attributs & Calques

  • GetAttributesByType / AttributesByType — liste les attributs par type (matériaux, surfaces, stylos…)[github]​
  • CreateLayers — crée de nouveaux calques dans le projet[github]​

📐 Navigation & Vues

  • GetViewSettings / SetViewSettings — lit et modifie les paramètres de vue active[github]​
  • GetModelViewOptions — récupère les options d'affichage du modèle 3D[github]​
  • NavigatorTree / FindNavigatorItem — explore et recherche dans l'arborescence du navigateur de projet[github]​
  • GetDatabaseIdFromNavigatorItemId — convertit un ID de navigateur en ID de base de données[github]​
  • UpdateDrawings — met à jour les dessins (layouts/vues)[github]​

🏢 Zones & Espaces

  • GetZoneDetails / ZoneDetails / CreateZones — lit les informations des zones (surfaces, volumes, noms) et en crée de nouvelles[github]​
  • GetHotlinks — récupère les modules hotlink du projet[github]​

⚙️ Gestion du projet & système

CommandeAction
GetProjectInfoNom, chemin, version du projet
GetAddOnVersionVersion du Tapir Add-On installé
GetArchicadLocationChemin d'installation d'Archicad
PublishPublie le projet (équivalent de la commande Publier)
TeamworkReceiveDéclenche un "Receive" Teamwork
ReloadLibrariesRecharge les bibliothèques GDL
QuitFerme Archicad

Abonnez-vous à IArchitectes

Inscrivez-vous dès maintenant pour accéder à la bibliothèque réservée aux membres.
Votre email
Adhérer