====== 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ů]]