The MCP server (mcp-for-blender 2.1.1, frozen requirements) runs inside the Blender container. Its add-on is vendored at upstream 41a18432 (MIT) and started by a startup hook. scripts/blender-mcp carries the stdio over ssh + docker exec, so the add-on socket, which runs arbitrary Python with no auth, stays on the container's localhost with no published port. It also runs there because viewport screenshots need a filesystem shared by server and Blender. Telemetry is off and safe mode is on. The hook also defaults Cycles to OptiX on GPU 3, because safe mode forbids agents from touching preferences. Verified end to end from nh3-dev: 36 tools; a GPU render of an agent-built scene; a viewport screenshot; and safe mode refusing 'import os'. Blender left down (on demand).
33 lines
773 B
Plaintext
33 lines
773 B
Plaintext
# mcp-for-blender server deps, installed INSIDE the blender container at /work/.mcp-venv (scripts/blender-mcp setup).
|
|
# Frozen 2026-09-27 from a clean install of mcp-for-blender==2.1.1 on the image python (3.14).
|
|
annotated-types==0.8.0
|
|
anyio==4.15.1
|
|
attrs==26.1.0
|
|
certifi==2026.7.22
|
|
cffi==2.1.1
|
|
click==8.5.0
|
|
cryptography==50.0.1
|
|
h11==0.16.0
|
|
httpcore==1.0.9
|
|
httpx==0.28.1
|
|
httpx-sse==0.4.3
|
|
idna==3.20
|
|
jsonschema==4.26.0
|
|
jsonschema-specifications==2025.9.1
|
|
mcp==1.30.0
|
|
mcp-for-blender==2.1.1
|
|
pycparser==3.0
|
|
pydantic==2.13.5
|
|
pydantic-settings==2.15.0
|
|
pydantic_core==2.46.5
|
|
PyJWT==2.15.0
|
|
python-dotenv==1.2.3
|
|
python-multipart==0.0.32
|
|
referencing==0.37.0
|
|
rpds-py==2026.6.3
|
|
sse-starlette==3.4.11
|
|
starlette==1.7.0
|
|
typing-inspection==0.4.4
|
|
typing_extensions==4.16.0
|
|
uvicorn==0.54.0
|