====== FreeCAD MCP ====== //Vytvořeno: **27.8.2026** | Aktualizováno: **~~LASTMOD~~**// [[https://github.com/neka-nat/freecad-mcp|FreeCAD MCP]] je MCP server, který umožňuje AI klientovi ovládat [[https://www.freecad.org/|FreeCAD]] — open-source parametrický 3D modelář pro návrh reálných objektů. FreeCAD pracuje s historií modelu a jeho parametry, takže lze návrh upravovat změnou rozměrů či dalších vlastností; používá se například pro 3D tisk, konstrukční návrhy a tvorbu výrobních výkresů. Server propojuje AI klienta s běžící instancí FreeCADu přes RPC server. Umožňuje vytvářet a upravovat model, spouštět Python kód ve FreeCADu, získat náhled pracovní plochy, pracovat s knihovnou dílů a spouštět FEM analýzu přes CalculiX. ===== Jak funguje ===== Součástí repozitáře je FreeCAD addon ''FreeCADMCP'' i MCP server. Addon se načte do FreeCADu jako samostatný workbench a po spuštění otevře RPC server. MCP server běžící v AI klientovi se pak připojí k této instanci a předává jí požadavky. RPC server je ve výchozím stavu dostupný jen na ''localhost''. Po otevření FreeCADu se ručně spouští příkazem **Start RPC Server** v toolbaru workbenchu **FreeCAD MCP**. Volba **Auto-Start Server** jeho spuštění uloží do nastavení a při dalších startech FreeCADu jej provede automaticky po načtení aplikace. ===== Co server umí ===== * vytvořit dokument nebo objekt, upravit jeho vlastnosti a objekt odstranit; * získat seznam objektů v dokumentu nebo detail jednoho objektu; * spustit libovolný Python kód uvnitř FreeCADu přes nástroj ''execute_code''; * vložit díl z [[https://github.com/FreeCAD/FreeCAD-library|knihovny dílů FreeCAD]] a vypsat dostupné položky; * vrátit screenshot aktuálního pohledu, případně pohled změnit například na izometrický, přední nebo horní; * spustit FEM analýzu existujícího objektu ''Fem::FemAnalysis'' pomocí solveru CalculiX a vrátit souhrn výsledků, včetně maximálního von Misesova napětí a deformace. Nástroje, které standardně vracejí screenshot, podporují parametr ''include_screenshot''. Hodnota ''false'' vrátí pouze textovou odezvu, což je vhodné pro mezikroky nebo situace, kdy obrázek není potřeba. Volba ''--only-text-feedback'' potlačí screenshoty pro celý MCP server. ===== Instalace addonu ===== Je potřeba mít nainstalovaný FreeCAD a nástroj ''uvx''. Repozitář se naklonuje a adresář s addonem se zkopíruje do adresáře FreeCADu. Pro Linux Ubuntu nebo Debian uvádí projekt tento postup: git clone https://github.com/neka-nat/freecad-mcp.git cd freecad-mcp mkdir -p ~/.FreeCAD/Mod/ cp -r addon/FreeCADMCP ~/.FreeCAD/Mod/ Po instalaci je nutné FreeCAD restartovat, vybrat workbench **MCP Addon** a spustit RPC server. Projekt dokumentuje také umístění addonu pro macOS, Flatpak a další linuxové distribuce. ===== Konfigurace MCP klienta ===== README projektu uvádí konfiguraci pro Claude Desktop. MCP server se spouští přes ''uvx'': { "mcpServers": { "freecad": { "command": "uvx", "args": ["freecad-mcp"] } } } Pro textové odpovědi bez screenshotů lze přidat parametr ''--only-text-feedback'': { "mcpServers": { "freecad": { "command": "uvx", "args": ["freecad-mcp", "--only-text-feedback"] } } } ===== Vzdálené připojení a bezpečnost ===== Pro připojení z jiného stroje je potřeba ve FreeCAD MCP Addonu zapnout **Remote Connections**. RPC server se pak při dalším restartu naváže na všechny síťové adresy (''0.0.0.0''), ale přijímá pouze klienty uvedené v seznamu **Allowed IPs**. Do seznamu lze vložit jednotlivé IP adresy i CIDR rozsahy, například ''192.168.1.100'' nebo ''10.0.0.0/24''. MCP server musí znát adresu stroje s FreeCADem přes parametr ''--host'': { "mcpServers": { "freecad": { "command": "uvx", "args": ["freecad-mcp", "--host", "192.168.1.100"] } } } Vzdálené rozhraní neotevírej bez omezení zdrojových adres. Nástroj ''execute_code'' umí ve FreeCADu spouštět libovolný Python kód, takže MCP klientu poskytuje široký přístup k otevřené instanci aplikace. ===== Omezení a řešení problémů ===== Operace, které pracují s GUI FreeCADu, se provádějí ve vlákně uživatelského rozhraní. Pokud už spuštěná operace překročí timeout, bridge vrátí chybu ''GUI_DISPATCH_STUCK'' a odmítne další GUI operace. Stav lze ověřit nástrojem ''get_rpc_status''; pokud se po dokončení původní operace nevrátí do stavu ''healthy'', dokumentace doporučuje restartovat FreeCAD. FreeCAD GUI operaci nelze bezpečně vynutit k ukončení. Po výjimce z ''execute_code'' ve vývojové verzi FreeCADu je také potřeba před další úpravou zkontrolovat nově vytvořené objekty ''FeaturePython'', zejména zda mají nainstalovaný požadovaný ''Proxy''. ===== Zdroje ===== * [[https://github.com/neka-nat/freecad-mcp|neka-nat/freecad-mcp – GitHub repozitář a instalační dokumentace]] * [[https://www.freecad.org/|FreeCAD – oficiální web]] * [[https://github.com/FreeCAD/FreeCAD-library|FreeCAD-library – knihovna dílů]]