====== Blender MCP Server ====== //Vytvořeno: **3.9.2026** | Aktualizováno: **~~LASTMOD~~**// [[https://www.blender.org/lab/mcp-server/|Blender MCP Server]] je lehký MCP server, který zpřístupňuje [[https://www.blender.org|Blender]] a jeho Python API jazykovému modelu. Projekt udržuje zdrojový kód v repozitáři [[https://projects.blender.org/lab/blender_mcp|lab/blender_mcp]]. ===== Video: Claude a Blender ===== Video [[https://www.youtube.com/watch?v=CA96adUC-oM|Propojil jsem Clauda s Blenderem a nechal ho modelovat za mě]] ukazuje propojení klienta [[https://claude.ai|Claude]] s Blenderem. Jde o praktickou ukázku tvorby a následných úprav modelů pomocí přirozeného jazyka; aktuální instalaci je potřeba řídit podle [[https://www.blender.org/lab/mcp-server/|oficiální dokumentace Blender MCP Serveru]]. {{youtube>CA96adUC-oM?}} Ve videu jsou tři ukázky: * low-poly tropický ostrov, * prodejní vizualizace domu podle půdorysu, * plachetnice použitá jako základ prototypu výukové aplikace s popisky částí lodi. ===== Co server umožňuje ===== MCP server dává LLM klientovi rozhraní v přirozeném jazyce nad Blender Python API. Oficiální dokumentace ukazuje například analýzu scény, přejmenování data-blocků, zjištění vazeb mezi materiály a objekty, hledání objektů s vysokým počtem polygonů nebo vysvětlení Geometry Nodes. Výsledek závisí na použitém modelu a zadání. Video ukazuje rychlé vytvoření první verze scény; přesnější modelování vyžaduje doplnit rozměry, podklady a následně model iterativně kontrolovat a opravovat. ===== Architektura ===== Název add-onu může mást: add-on spuštěný v Blenderu sám není MCP server dostupný pro MCP klienta. Přijímá vlastní JSON protokol na TCP portu ''9876'' a bez omezení vykonává Python kód v procesu Blenderu. Samostatný MCP server funguje jako překladač mezi MCP a tímto add-onem. LLM klient ── MCP (stdio) ──> Blender MCP server ── TCP/9876 ──> Blender add-on MCP server nemusí běžet na počítači s Blenderem. Může být spuštěný u MCP klienta, například v izolovaném Docker kontejneru, a přes síť se připojit na add-on ve vzdáleném Blenderu. Prakticky tak na pracovní stanici zůstává jen Blender s add-onem; MCP server i LLM klient mohou běžet odděleně. ===== Instalace ===== Blender nemá vestavěné připojení k LLM. Podle oficiální dokumentace je potřeba Blender 5.1 nebo novější a vedle něj tři části: add-on pro komunikaci s otevřenou Blender relací, LLM klient a samotný MCP server. - Nainstalovat Blender 5.1 nebo novější. - Nainstalovat MCP add-on. Oficiální stránka nabízí přetažení balíčku do Blenderu nebo instalaci přes ''Install from Disk''. Při metodě drag-and-drop se balíček instaluje dvakrát: nejdřív se přidá Blender Lab repository, podruhé samotný add-on. - Připojit LLM klient podporující MCP. Dokumentace uvádí jako jednu z možností Llama.cpp, lze ale použít i jiného kompatibilního klienta. - Nainstalovat MCP server. Pro klienty podporující soubory ''.mcpb'' je k dispozici MCP Bundle. Pro lokálně spuštěný MCP server je potřeba instalovat podsložku ''mcp/'' z oficiálního repozitáře Blenderu. Zároveň je nutné připnout závislost ''mcp'' pod verzi 2, protože aktuální kód serveru používá rozhraní ''FastMCP'', které bylo v ''mcp 2.x'' přejmenováno: uv tool install --with "mcp[cli]<2" \ "git+https://projects.blender.org/lab/blender_mcp.git#subdirectory=mcp" Na PyPI existuje balíček ''blender-mcp'', ale jde o jiný komunitní projekt se stejným názvem a jiným protokolem. Pro oficiální Blender add-on je potřeba použít zdrojový kód z [[https://projects.blender.org/lab/blender_mcp|oficiálního repozitáře]], ne komunitní balíček z PyPI. Pokud se server při spuštění pokusí načíst ''mcp.server.fastmcp'' a skončí chybou ''ModuleNotFoundError'', bylo vytvořeno prostředí s ''mcp 2.x''; nainstaluj jej znovu s uvedeným pinem ''mcp[cli]<2''. ===== Připojení ke vzdálenému Blenderu ===== MCP server se připojuje na adresu add-onu přes proměnné ''BLENDER_MCP_HOST'' a ''BLENDER_MCP_PORT''. Následující adresy jsou pouze anonymizovaný příklad: MCP klient a server jsou na ''192.0.2.10'', Blender na ''192.0.2.149''. export BLENDER_MCP_HOST=192.0.2.149 export BLENDER_MCP_PORT=9876 blender-mcp Na firewallu Blender stanice stačí povolit jedno příchozí TCP spojení z adresy MCP serveru. Add-on nepotřebuje druhý port ani UDP: sudo ufw allow from 192.0.2.10 to any port 9876 proto tcp V ověřeném zapojení odchozí provoz Docker kontejneru prošel přes NAT s adresou hostitele. Pravidlo firewallu proto povoluje IP hostitele, ne privátní IP kontejneru. Otevřený port ''9876'' je rozhraní add-onu; samotný MCP server je samostatný lokální proces. Pokud se přímý test add-onu zdánlivě zasekne, zpráva jeho vlastního JSON protokolu musí být ukončená nulovým bytem (''\x00''). Bez něj add-on čeká na dokončení zprávy a může vrátit ''Client timed out''. Tento detail řeší pouze přímou diagnostiku add-onu; MCP klient komunikuje se samostatným MCP serverem. ===== Izolace Blenderu pomocí Firejail ===== > **⚠ Varování:** Add-on spouští Python generovaný LLM přímo v Blenderu. Bez sandboxu má tento Python stejná práva jako uživatel, který Blender spustil: může číst a měnit jeho soubory, spouštět programy a odesílat data po síti. Členství tohoto uživatele ve skupině ''docker'' rozšiřuje dopad prakticky na práva roota. Cílem je spouštět samostatnou instalaci Blenderu pro AI mimo běžný domovský adresář a dát jí přes ''--private'' izolovaný pracovní adresář. Snap varianta Blenderu v režimu classic confinement pro tento účel nestačí; v ověřeném případě byla kombinace Snapu a Firejail nefunkční. Samostatná binární instalace v ''/opt/blender'' zůstane Firejailu dostupná i při privátním domově. # Pracovní adresář, který bude Blender v sandboxu považovat za domov. mkdir -p "$HOME/projects/Blender-AI" # Blender se instaluje mimo domovský adresář; archív odpovídá použité verzi. sudo tar -xf blender-5.2.1-linux-x64.tar.xz -C /opt sudo mv /opt/blender-5.2.1-linux-x64 /opt/blender Add-on a jeho konfigurace musí být k dispozici uvnitř privátního domova. Lze je do něj zkopírovat z ''~/.config/blender'' nebo add-on nainstalovat znovu až v sandboxovaném Blenderu. Použitý příkaz pro spuštění Blenderu blokuje běžné cesty k datům, privátní dočasný adresář, D-Bus a zásuvky služeb z uživatelské relace: sandbox_dir="$HOME/projects/Blender-AI" runtime_dir="/run/user/$(id -u)" firejail --private="$sandbox_dir" \ --blacklist=/media --blacklist=/mnt --private-tmp \ --dbus-user=none --dbus-system=none \ --blacklist="$runtime_dir/keyring" \ --blacklist="$runtime_dir/gcr" \ --blacklist="$runtime_dir/Nextcloud" \ --blacklist="$runtime_dir/at-spi" \ --blacklist="$runtime_dir/pipewire-0-manager" \ --blacklist="$runtime_dir/pipewire-0" \ --blacklist="$runtime_dir/pulse" \ /opt/blender/blender Volba ''--net'' se nepoužívá. Blender proto zachová síť hostitele a add-on zůstane dostupný na povoleném portu ''9876''. Při pokusu o ''--net=wlo1'' byla síťová funkce Firejail v konfiguraci vypnutá; pro tento postup ji není nutné zapínat. ==== Ověřený rozsah a omezení ==== Po spuštění bylo ověřeno, že Blender běží z ''/opt/blender/blender'', vidí jen privátní domov a nevidí ''~/.ssh'', ''~/.gnupg'', Dokumenty ani Plochu skutečného uživatele. Dále nebyly dostupné skupiny ''sudo'' a ''docker'', cesty ''/media'', ''/mnt'' a sdílený ''/tmp'' ani zásuvky D-Bus, GPG a SSH agentů. Sandbox není úplná hranice důvěry. Blender stále potřebuje grafickou relaci; v použité X11 relaci zůstává riziko přístupu k živé ploše, například k obsahu jiných oken a vstupu z klávesnice. Síť navíc zůstává zapnutá: soubory uložené v ''Blender-AI'' může kód stále změnit nebo odeslat ven. Pro citlivější provoz je vhodný samostatný účet, virtuální stroj nebo vyhrazený počítač. ===== Příklady promptů ===== Prompty musí popisovat požadovaný výsledek a pracovat s kontextem právě otevřené scény. Pro ověření propojení je vhodné začít malým, snadno kontrolovatelným úkolem: Vytvoř v Blenderu low-poly model tropického ostrova. Pro práci s existující scénou je lepší požadavek zúžit na konkrétní kontrolu: V aktuálně otevřeném Blender souboru zjisti objekt s nejvyšším počtem polygonů. Ignoruj objekty, které nejsou propojené s žádnou scénou. Pro architektonický model je potřeba k půdorysu přidat rozměry, výšky a další omezení. Výstup je vhodné brát jako návrh ke kontrole, ne jako hotový technický model. ===== Bezpečnost a omezení ===== > **⚠ Varování:** Blender MCP Server spouští v Blenderu kód generovaný LLM bez ochranných mechanismů. Oficiální dokumentace výslovně upozorňuje, že kód může smazat data nebo je odeslat na vzdálené místo. Firejail výše omezuje přístup k běžným datům a klíčům uživatele, ale nemění charakter MCP nástrojů: mohou destruktivně měnit aktuální scénu a vše v pracovním adresáři sandboxu. Než se schválí změna scény nebo spuštění kódu, je potřeba zkontrolovat, co má daný krok udělat. Model může vytvořit chybnou geometrii nebo výsledek, který nesplňuje přesně zadané požadavky; ve videu je proto důležitá následná iterace a ruční kontrola. ===== Zdroje ===== * [[https://www.youtube.com/watch?v=CA96adUC-oM|Video: Propojil jsem Clauda s Blenderem a nechal ho modelovat za mě]] * [[https://www.blender.org/lab/mcp-server/|Blender MCP Server – oficiální dokumentace a instalace]] * [[https://projects.blender.org/lab/blender_mcp|lab/blender_mcp – zdrojový kód]] * [[https://www.blender.org|Blender]] * [[https://claude.ai|Claude]]