blender-fx-mcp
This MCP server lets an AI control Blender to build, simulate, preview, and export physics-based VFX from natural-language requests.
Check prerequisites, Blender connection, and scene contents; diagnose meshes before fracturing.
Create a demo building or import external 3D models (glb/gltf/fbx/obj/stl/usd/blend).
Fracture and collapse any mesh with Voronoi chunks and rigid-body physics, with impact direction, material, piece count, glue, dust, and repair options.
Create explosions with optional target fracture plus smoke and fire.
Simulate directed liquids with drop/stream/pool/object modes, viscosities (water, oil, honey, lava, mercury, slime), obstacles, and spray.
Add fire, smoke, particles (rain/snow/sparks/ash), wind, ocean surfaces, and cloth flags.
Set camera framing and shake, lighting/sky/HDRI, and ground materials.
Control timing, slow motion, gravity, physics accuracy, render samples, resolution, and film look.
Snapshot/list/restore scenes, reset generated effects, and clear caches.
Render preview frames or mp4 videos, save .blend files, and export models as glb/gltf/fbx/obj/abc.
Provides tools for creating and simulating 3D effects in Blender, including building destruction, explosions, fire, smoke, water, particles, and other physical simulations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@blender-fx-mcp Create a demo building and collapse it from the left with concrete, slow motion."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
blender-fx-mcp

자연어 명령 · 물리 효과 · 장면 미리보기
말로 시키면 블렌더에서 건물을 부수고, 터뜨리고, 물을 쏴 주는 MCP 서버. / Tell an AI "collapse it from the left" and Blender does it.
처음 한 번 (4단계) — 단계마다 blender-fx-doctor 의 그 줄이 [OK] 면 된 것입니다(순서도 doctor 의 "다음 할 일"과 같습니다).
uv 설치 — macOS
brew install uv, Linuxcurl -LsSf https://astral.sh/uv/install.sh | sh, Windows 는 해결법의 한 줄 →[OK] uv블렌더 5.2 + 수신기 애드온 — blender-mcp 의
addon.py를 받아 블렌더 Edit → Preferences → Add-ons → 오른쪽 위 ▾ → Install from Disk 로 설치하고 체크 →[OK] 수신기 애드온 파일(blender-mcp)· 막히면 해결법블렌더에서 Connect — 3D 화면에서
N키 → BlenderMCP 탭 → Connect to MCP server →[OK] 수신기 연결· 막히면 해결법
claude mcp add -s user blender-fx -- uvx blender-fx-mcp
uvx --from blender-fx-mcp blender-fx-doctor # 점검: 끝에 "모두 정상입니다."첫 명령 예시 — AI에게 이렇게 말합니다:
연습용 건물 하나 만들고, 왼쪽에서 충격 줘서 콘크리트처럼 무너뜨려. 끝나면 미리보기 보여 줘.
미리보기가 검거나 효과가 안 보이면 해결법, 오류 문장이 나오면 문제 해결에서 그 문장을 찾습니다.
붙여 넣기 대신 클라이언트의 / 메뉴에서 /first_demo(같은 순서: 연결 확인 → 건물 → 스냅샷 → 붕괴 → 미리보기, impact·material 을 고를 수 있음)를,
되돌릴 때는 /undo_last(스냅샷 목록 → 확인 → restore)를 골라도 됩니다(Claude Code 에서는 /blender-fx:first_demo 처럼 보일 수 있음).
더 많은 예시(유리 슬로모션·모델 가져와 부수기·폭발·물 쏘기)와 실제 결과 수치는 docs/recipes.md.
[English] An MCP server that lets an AI (Claude, Codex, Cursor, any MCP client) build Blender FX from plain language: building destruction, explosions with smoke and fire, water splashes, fire, particles, wind, ocean and cloth. You direct ("collapse it from the left, slower, more dust"), the AI picks a tool, Blender simulates, and preview frames come back. No Blender knowledge needed. Requires Blender 5.2, the blender-mcp receiver add-on inside Blender, and uv. Set BLENDER_FX_LANG=en for English messages. Full English guide: English (install, first command, all tools).
AI에게 말로 시키면 블렌더에서 아무 3D 모델이나 물리에 맞게 부수고, 물을 원하는 방향·점성으로 쏘고, 폭발·불·연기·비·눈·바다·깃발까지 만들어 주는 MCP 서버입니다. 블렌더를 몰라도 됩니다. 사용자는 감독처럼 "왼쪽에서 충격 줘서 무너뜨려, 더 잘게, 느리게"라고 말하고, AI가 도구를 골라 실행한 뒤 미리보기 프레임을 보여 줍니다.
어떻게 돌아가나
[클로드 / 코덱스 / 커서 등 MCP 클라이언트]
│ "Building을 왼쪽에서 부숴"
▼
[blender-fx-mcp] ← 이 프로젝트. 검증된 레시피를 도구로 감쌌다
│ 파이썬 레시피 전송 (localhost:9876)
▼
[블렌더 안 수신기 애드온 (blender-mcp)]
│
▼
[리지드바디 · Mantaflow 연기/물 → 굽기 → 렌더] → 프레임 이미지가 AI에게 돌아온다AI는 코드를 짜지 않습니다. 도구와 값만 고릅니다. 그래서 블렌더 버전이 바뀌어도 레시피 한 곳만 고치면 됩니다. 파일별 역할과 시험 경로는 docs/architecture.md.
Related MCP server: Blender MCP
준비물 3가지
순서는 첫 화면의 4단계·doctor 의 "다음 할 일"과 같습니다.
uv (파이썬 실행기): macOS
brew install uv. Windows·Linux 는 docs.astral.sh/uv 또는 doctor 가 알려 주는 명령블렌더 5.2 (5.x LTS 기준으로 만들었습니다) 와 블렌더 안 수신기 애드온: blender-mcp의
addon.py를 Edit → Preferences → Add-ons → 오른쪽 위 ▾ → Install from Disk 로 설치하고 켭니다.수신기 켜기: 3D 화면에서
N키 → BlenderMCP 탭 → Connect to MCP server 를 누르면 수신기가 켜집니다(블렌더를 켤 때마다).
준비물이 갖춰졌는지 한 번에 확인:
uvx --from blender-fx-mcp blender-fx-doctor오류 문장별 해결법(연결 거부·시간 초과·포트 충돌·유체 굽기 실패·검은 미리보기): docs/troubleshooting.md
질문·버그·보안 신고를 어디로 보내는지, 응답 목표, 지원하는 블렌더·파이썬 판: SUPPORT.md
도움 받기 — ① uvx --from blender-fx-mcp blender-fx-doctor --issue 를 돌려 결과를 복사(집 폴더는 ~ 로 가려짐)
② 버그 신고 · 질문 · 기능 요청 중 맞는 양식에 붙여 넣기
③ 첫 답 목표: 버그 7일, 질문·기능 14일 안. 보안 문제는 공개 이슈 대신 SECURITY.md 로.
이슈 분류·의존성 갱신·출시·지원 판 정리 규칙: docs/maintenance.md
설치 (한 줄)
클로드 코드:
claude mcp add -s user blender-fx -- uvx blender-fx-mcp로컬 폴더에서 개발 중이면:
claude mcp add -s user blender-fx -- uv --directory /절대/경로/blender-fx-mcp run blender-fx-mcp클로드 데스크톱 앱은 ~/Library/Application Support/Claude/claude_desktop_config.json의 mcpServers에,
코덱스는 ~/.codex/config.toml의 [mcp_servers.blender_fx]에 같은 명령을 적습니다.
바로 붙여 넣을 수 있는 설정(클로드 데스크톱·커서·코덱스)은 examples/에 있습니다.
등록 후 앱을 완전히 껐다 켜야 도구가 보입니다. 안 보이면 해결법.
AI 없이 블렌더 쪽만 먼저 확인(첫 렌더까지): 블렌더를 켜고 Connect 를 누른 뒤, 설치판에 blender-fx-first-render 진입점이 있으면 저장소 없이 실행합니다.
uvx --from blender-fx-mcp blender-fx-first-render # [1/5] 연결 확인 → 스냅샷 → 건물 → 붕괴 → 미리보기, 끝에 PNG 경로·여는 명령저장소에서 개발 중이거나 설치판에 진입점이 없으면, 저장소 루트에서 실행합니다.
uv run python examples/first_render.py연결이 안 되면 다음 할 일을 출력하고 종료 코드 2 입니다. 자세한 설명은 examples/README.md.
매일 쓰는 순서
블렌더를 켠다.
N키 → BlenderMCP 탭 → 수신기 켜기.AI에게 말한다: "연습용 건물 하나 만들고, 왼쪽에서 충격 줘서 콘크리트처럼 무너뜨려."
돌아온 미리보기 프레임을 보고 다시 말한다: "더 잘게", "맞은 데만 부서지게", "유리처럼", "물을 왼쪽에서 옆으로 쏴", "꿀처럼 걸쭉하게", "중력 절반", "슬로모션", "불 붙여", "눈 내리게", "로우앵글로", "노을로".
마음에 들면: "영상으로 뽑아 줘", "장면 저장해 줘", "glb로 내보내 줘."
자기 모델이 있으면: "~/Desktop/tower.glb 가져와서 12m 크기로 세우고 왼쪽에서 부숴." (/ 메뉴의 /my_model 은 가져온 뒤 inspect_mesh 로 상태부터 봅니다)
도구 목록
도구 | 하는 일 |
| 준비물 점검(파이썬·mcp·uv·블렌더·수신기·클라이언트 등록·출력 폴더). 안 될 때 먼저 부른다 |
| 수신기와 연결되는지, 블렌더 판이 시험한 판인지 확인 |
| 장면의 메시 이름·크기 목록 (부술 대상 고르기) |
| 부수기 전 모델 진단: 닫혀 있나, 부피, 오목한 정도, 면 수, 수리하면 얼마나 나아지나 |
| 연습용 건물 + 바닥 + 카메라 + 조명 생성. |
| 아무 메시나 보로노이(돌 깨지듯 다각형) 조각으로 부수고 물리로 무너뜨림. 메시 자동 수리 포함. 인자: |
| 폭발. |
| 방향·모양·점성을 정하는 물. |
|
|
| 계속 타오르는 불 / 피어오르는 연기. |
| 비·눈·불꽃·재. |
| 바람 힘장. 파티클·깃발·연기를 민다. |
| 바다 표면(파도 움직임). |
| 깃대에 걸린 깃발(천)이 바람에 펄럭임 |
| glb/gltf/fbx/obj/stl/usd/blend 모델을 가져와 하나로 합치고 크기 맞춰 바닥에 세움 |
| glb/gltf/fbx/obj/abc 로 내보내기. |
| 구도 프리셋 wide/medium/closeup/low/high/top/front/side + |
| 충돌·폭발 순간 카메라 흔들림 ( |
| 조명·하늘 분위기 day/sunset/night/overcast/studio. |
| 바닥 재질 asphalt/concrete/grass/sand/dirt/snow, |
| 장면을 저장해 두고 언제든 그때로 되돌린다. 위험한 작업 전에 쓴다 |
| 오래된 스냅샷부터 지우고 최근 |
| 프레임 범위·fps·슬로모션. 구간( |
| 중력 세기·기울기, 계산 하위단계·반복(정확도), 물리 속도, fps |
| 샘플 수, 모션블러, 해상도, 노출, 필름 룩, 배경 빼기 |
| 현재 장면 다시 렌더. |
| 장면 전체를 mp4(H.264)로 렌더 |
| 현재 장면을 .blend 로 저장 (블렌더에서 직접 열어 손볼 수 있음) |
| 구운 캐시와 캐시 폴더 비우기 |
| 이 도구가 만든 것(조각·충격체·연기·물·파티클·바다·깃발)을 지우고 원본 되살리기 |
미리보기·영상·.blend 는 ~/blender-fx-output/ 아래 실행별 폴더에 저장됩니다. (BLENDER_FX_OUT으로 변경)
연기·물 캐시는 같은 폴더의 cache_fluid/, cache_liquid/에 쌓입니다. 용량이 커지면 지워도 됩니다.
개발·테스트
1. pytest 시험
개발 의존성을 준비한 뒤 서버 동작과 레시피를 시험합니다. 블렌더 실행 파일이 필요한 레시피 시험은 파일을 찾지 못하면 건너뜁니다.
uv sync --group dev
uv run pytest -q2. headless 레시피 실행
블렌더 실행 파일이 필요합니다. 창 없이 띄워 레시피를 소켓 없이 검증합니다.
uv run blender-fx-headless demo-windows destroy render
uv run blender-fx-headless demo destroy-hold explode smoke
uv run blender-fx-headless demo water-side smoke
uv run blender-fx-headless demo snapshot destroy restore
uv run blender-fx-headless demo destroy video save3. e2e_socket 연결 시험
블렌더와 BlenderMCP 수신기가 켜져 있어야 합니다. 실제 MCP 클라이언트 → 서버 → 소켓 → 블렌더 경로와 이미지 응답을 확인합니다:
uv run python scripts/e2e_socket.py내려받은 무료 에셋 부수기
인터넷에서 받은 GLB/FBX 모델은 대개 "깨끗한 solid" 가 아닙니다. 바퀴가 몸통에 박혀 있거나,
내용물이 바닥에 딱 붙어 있거나, 껍데기뿐이거나, 꼭짓점이 쪼개져 있습니다.
import_model 이 가져올 때 꼭짓점을 다시 붙이고, destroy 가 조각내기 전에 겹친 덩어리를
하나로 정리합니다. 아래는 그런 결함을 그대로 재현해 만든 시험용 GLB 7개로 잰 값입니다
(내려받은 실제 파일이 아니라, 결함을 일부러 심어 만든 모델입니다).
모델의 문제 | 조각 수 | 부피 보존 | 열린 조각 |
부품 6개가 서로 박혀 있는 수레 | 40/40 | 1.00 | 0 |
뚜껑 없는 그릇(껍데기) | 40/40 | 1.00 | 0 |
법선이 뒤집힌 모델 | 40/40 | 1.00 | 0 |
벽 두께 5cm + 내용물이 바닥에 붙은 통 | 40/40 | 1.00 | 0 |
5cm 짜리 아주 작은 물건 | 40/40 | 1.00 | 0 |
면 20,480개짜리 무거운 모델 | 40/40 | 1.00 | 0 |
재질 3개가 섞인 모델 | 40/40 | 1.00 | 0 |
부피 보존(volume_kept) 은 조각 부피의 합 ÷ 원본 부피입니다. 1.00 이면 물질이 사라지지도
불어나지도 않았다는 뜻이고, 그래야 무게와 낙하가 물리에 맞습니다. 조각 500개까지 1.00 을 지킵니다.
게임 캐릭터처럼 부품이 여러 개인 파일
한 파일에 부품이 여러 개 들어 있으면 import_model 이 목록을 알려 줍니다. 보이지 않는
충돌용 껍데기가 섞여 있으면 경고도 합니다. 원하는 것만 고르려면 이렇게 하세요.
import_model(path="adventurer.glb", size=2.0, parts=["Adventurer", "Backpack"])부품 이름은 일부만 적어도 됩니다. 면이 하나도 없는 부품(리깅 조작용 위젯 등)은 자동으로 빠집니다.
.blend 파일 하나에 그런 위젯이 132개 들어 있던 적도 있습니다. 실제 CC0 게임 캐릭터(면 10,198개, 부품 5개 + 껍데기 구 1개)로
재면 조각 47/50, 부피 보존 1.00 입니다. 부품끼리 서로 관통하는 모델은 자동으로 느리지만 정확한
계산으로 넘어갑니다(50조각에 약 100초).
부수기 전에 inspect_mesh 로 한 번 보세요. 닫히지 않은 껍데기는 shell_thickness 로 두께를 주면
단면이 비어 보이지 않습니다.
지금 한계 (정직하게)
조각내기는 보로노이 + 불리언이라 정확하지만, 조각 수가 많으면 느립니다. 얇은 벽 모델 기준 120개 2초, 300개 7초, 500개 15초입니다.
면이 20,000개를 넘는 모델은 조각내기 전에 그 수까지 자동으로 줄입니다(
decimate_to, 0 이면 끄기). 아주 가는 장식은 이때 뭉개질 수 있습니다.뼈대 애니메이션이 들어 있는 모델은 현재 자세 그대로 굳혀서 부숩니다. 애니메이션은 따라가지 않습니다.
부품끼리 서로 관통하는 모델은 정확하지만 느린 계산으로 넘어갑니다. 50조각에 약 100초입니다.
glue(조각 접착)는 조각마다 이웃 4개까지, 모두 600개까지 제약을 만들어 굽기가 느려집니다. 느리면pieces를 줄이거나glue="none"으로 다시 시키세요.restore는 블렌더가 그 .blend 파일을 엽니다. 직전 상태는before_restore로 자동 저장되지만, 여러 단계 실행 취소는 아닙니다.sky="procedural"과 연기·물은 EEVEE·Cycles 에서만 보입니다. 빠른 미리보기에서는 도구가 그 사실을 알려 줍니다.HDRI 는 가지고 있는 파일만 씁니다. 인터넷에서 받아오지 않습니다.
물은 계산 격자보다 작은 물 덩어리는 사라집니다. 그럴 때 도구가 필요한
resolution숫자를 알려 줍니다.물 해상도 64 에서 표면에 각이 보입니다. 128 이상이 곱지만 굽기가 몇 배 느립니다.
구간 슬로모션은 물리·연기·물에만 걸립니다. 파티클까지 느리게 하려면
set_timing(global_slow=)을 쓰세요(전체 길이가 늘어납니다).export_model의.abc는 물 표면과 조각 움직임을 담지만, 연기(볼륨)는 어떤 형식으로도 나가지 않습니다.창문은 벽을 실제로 파낸 것이지만 실내는 없습니다.
블렌더 5.2에서만 확인했습니다.
메시지 언어는
BLENDER_FX_LANG(ko/en)로 정합니다. 없으면 로캘(LANG등)이 한국어면 한국어, 다른 언어면 영어이고, 로캘이 없으면(창 앱이 띄운 서버에서 흔함) 한국어입니다.수신기 애드온은 blender-mcp 것을 빌려 씁니다. 그쪽 포트·명령이 바뀌면 같이 고쳐야 합니다.
blender-mcp 서버와 이 서버를 같이 켜 두면 수신기가 하나라 끊길 수 있습니다. 문제가 나면 하나만 켜세요.
로드맵
v0.1 파괴 (완료)
v0.2 폭발: Mantaflow 연기·불 + 힘장 + 파편 (완료)
v0.3 물: Mantaflow 액체 스플래시, mp4 렌더, .blend 저장, doctor (완료)
v0.4 FX 작업 도구: 모델 가져오기/내보내기, 카메라·흔들림, 조명 프리셋, 슬로모션, 불·연기, 파티클, 바람, 바다, 깃발, 캐시 정리 (완료)
v0.5 스냅샷/되돌리기, 조각 접착(구조 붕괴), 창문 건물, 연기·조각 충돌, 하늘 텍스처·HDRI, 바닥 재질, 영어 메시지 (완료)
v0.6 보로노이 파괴(아무 메시나, 부피 보존), 메시 자동 수리·진단, 물 방향·점성·모드, 전 설정 개방(set_physics/set_render), 전체 슬로모션, Alembic 내보내기 (완료)
v0.6.1 내려받은 에셋 대응: 꼭짓점 재결합, 겹친 덩어리 정리, 씨앗 배치 교정 (완료)
v0.6.3 충격체 실제 표면 조준, .blend 위젯 자동 제외, 소켓 경로 재확인 (완료)
v0.6.2 실제 게임 캐릭터 대응: 부품 선택, 스킨 메시 굽기, 비다양체 수리, 볼록도·무게 표시 교정 (완료)
v1.0 프리셋 JSON 분리, 자체 수신기 애드온 동봉, 도로·차량 같은 소품 프리셋, 도구 설명 영어화
기여
CONTRIBUTING.md를 보세요. 레시피 하나 = 파일 하나라, 새 효과는 recipes/ 에 파일을 추가하고 server.py 에 도구 하나를 붙이면 됩니다.
참여할 때는 행동 강령을 지켜 주세요.
보안
수신기는 인증 없이 localhost:9876 으로 받은 파이썬을 블렌더 안에서 실행합니다. 포트를 밖으로 열지 마세요. 위험과 비공개 신고 방법은 SECURITY.md.
라이선스
MIT (이 저장소). 블렌더 안 수신기 애드온은 blender-mcp 프로젝트 것이며 그쪽 라이선스를 따릅니다. 함께 설치되는 파이썬 패키지의 라이선스는 docs/third-party-licenses.md(모두 허용적 라이선스, CI 가 확인).
English
What you need
Four steps, once. Each step is done when its blender-fx-doctor line shows [OK] (same order as doctor's "Next steps").
Install uv (Python runner) — macOS
brew install uv, Linuxcurl -LsSf https://astral.sh/uv/install.sh | sh, Windows: the one line in troubleshooting →[OK] uvBlender 5.2 + the receiver add-on — download
addon.pyfrom blender-mcp, then in Blender Edit → Preferences → Add-ons → top-right ▾ → Install from Disk, and tick it →[OK] receiver add-on file (blender-mcp)· stuck: fixConnect in Blender — in the 3D view press
N→ BlenderMCP tab → Connect to MCP server. It listens onlocalhost:9876→[OK] receiver connection· stuck: fixRegister with your AI client — see Install below →
[OK] MCP client registration· stuck: fix
Check everything at once (Python, mcp, uv, Blender, receiver, client registration, output folder):
uvx --from blender-fx-mcp blender-fx-doctorFixes for each error message (connection refused, timeout, port in use, fluid bake failed, black preview): docs/troubleshooting.md
Where to ask questions or report bugs, reply targets and supported Blender/Python versions: SUPPORT.md
Getting help: ① run uvx --from blender-fx-mcp blender-fx-doctor --issue and copy the output (your home folder is masked as ~)
② paste it into the matching form: bug report · question · feature request
③ first reply targets: 7 days for bugs, 14 days for questions and ideas. Security problems go to SECURITY.md, not a public issue.
How issues, dependency updates, releases and old versions are handled: docs/maintenance.md
Install
Claude Code:
claude mcp add -s user blender-fx -e BLENDER_FX_LANG=en -- uvx blender-fx-mcpClaude Desktop, Codex, Cursor and other MCP clients: add the same command (uvx blender-fx-mcp)
to the client's MCP server config with the environment variable BLENDER_FX_LANG=en, then fully restart the app.
Ready-to-paste configs for Claude Desktop, Cursor and Codex are in examples/.
If the tools do not show up, see troubleshooting.
Check the Blender side first, without an AI (up to a first render): open Blender and click Connect. If the installed package provides the blender-fx-first-render entry point, run it without a checkout:
BLENDER_FX_LANG=en uvx --from blender-fx-mcp blender-fx-first-render # [1/5] connection → snapshot → building → collapse → preview, then PNG paths and an open commandWhen developing in a checkout, or if the installed package lacks that entry point, run from the repository root:
BLENDER_FX_LANG=en uv run python examples/first_render.pyWithout a connection it prints the next step and exits with 2. Details: examples/README.md ("First render from the terminal").
Variable | Default | Meaning |
| from the locale |
|
|
| where previews, videos, |
|
| where the receiver listens. Keep it on localhost |
|
| seconds between progress notifications during bakes and renders (clients that show MCP progress) |
| (unset) |
|
|
| seconds to wait for a quick step. Bake and render tools wait at least 1800 ( |
First command
Open Blender, connect the receiver, then tell your AI:
Make a practice building, hit it from the left and collapse it like concrete. Show me a preview when it's done.
If the preview is black or the effect is missing, see the fix; for an error message, search troubleshooting for it.
Or pick /first_demo from your client's / menu instead of pasting (same steps: check connection → building → snapshot → collapse → preview;
optional impact and material), and /undo_last to go back (snapshot list → confirm → restore). Claude Code may show them as /blender-fx:first_demo.
Then keep directing from the preview frames: "smaller pieces", "only break where it was hit", "like glass", "shoot water sideways from the left", "thick like honey", "half gravity", "slow motion", "set it on fire", "make it snow", "low angle", "sunset". When you like it: "render a video", "save the scene", "export as glb".
Your own model works too: "Import ~/Desktop/tower.glb, stand it up 12 m tall and break it from the left." (the /my_model prompt checks the mesh with inspect_mesh first)
More examples with measured results: docs/recipes.md (English section).
Tools
Tool | What it does |
| Checks prerequisites (Python, mcp, uv, Blender, receiver, client registration, output folder). Call it first when something fails |
| Checks the connection to the receiver and whether the Blender version is a tested one |
| Lists mesh names and sizes in the scene (to pick a target) |
| Diagnoses a model before breaking it: closed or not, volume, concavity, face count, whether repair helps |
| Practice building + ground + camera + lights. |
| Breaks any mesh into Voronoi chunks and collapses it with rigid-body physics; repairs the mesh first. |
| Explosion. With |
| Liquid with direction, shape and viscosity. |
| Simple version of |
| Continuous fire / rising smoke. |
| Rain, snow, sparks, ash |
| Wind force field that pushes particles, cloth and smoke |
| Animated ocean surface |
| A cloth flag on a pole, waving in the wind |
| Imports glb/gltf/fbx/obj/stl/usd/blend, joins parts, scales and places it on the ground |
| Exports glb/gltf/fbx/obj/abc. Alembic keeps per-frame water and chunk motion |
| Framing presets wide/medium/closeup/low/high/top/front/side + |
| Camera shake at an impact or explosion |
| Lighting mood day/sunset/night/overcast/studio, procedural sky or your own HDRI |
| Ground material asphalt/concrete/grass/sand/dirt/snow |
| Save the scene and roll back to it later. Use before risky steps |
| Delete old snapshots, keeping the newest |
| Frame range, fps, slow motion for a frame range or globally |
| Gravity strength and tilt, substeps, solver iterations, simulation speed |
| Samples, motion blur, resolution, exposure, film look, transparent background |
| Re-renders the scene. |
| Renders the whole scene to mp4 (H.264) |
| Saves the scene as |
| Empties baked caches and cache folders |
| Removes everything this server created and restores the original objects |
Outputs go to per-run folders under ~/blender-fx-output/ (BLENDER_FX_OUT). Smoke and water caches pile up in
cache_fluid/ and cache_liquid/ there; delete them when they get large.
Security, contributing, license
The receiver runs Python it receives on localhost:9876 without authentication. Never expose that port.
See SECURITY.md for the risks and private reporting. Contributions: CONTRIBUTING.md
and the Code of Conduct; how the code fits together: docs/architecture.md. License: MIT; licenses of the installed dependencies are listed in docs/third-party-licenses.md.
Available Tools
32 toolscameraC
Frame the shot: wide, medium, closeup, low, high, top, front or side. 카메라 구도. angle_deg 0=정면, 90=오른쪽, -90=왼쪽. height 0=바닥, 1=꼭대기. lens mm.
Inputs: lens, height, preset, target, +2 more.
camera_shakeB
Shake the camera at an impact, settling down over time. 카메라 흔들림. strength m 단위(0.1 살짝, 0.3 보통, 0.8 강하게).
Inputs: seed, frame, duration, strength. Returns: result
clear_cachesA
Clear baked caches and free disk space. 구운 캐시와 캐시 폴더를 비운다. 다음 도구 호출 때 다시 굽는다.
Inputs: no named parameters. Returns: result
cloth_flagC
A cloth flag on a pole, flapping in the wind. 깃대에 걸린 깃발이 바람에 펄럭인다. at 은 깃대 밑 위치.
Inputs: at, width, frames, height, +2 more.
destroyA
Fracture any mesh into Voronoi chunks and collapse it with real physics. Works on imported models. 아무 메시나 보로노이(돌 깨지듯 다각형) 조각으로 부수고 물리로 무너뜨린다. 미리보기 프레임을 돌려준다.
target: 부술 메시 이름
impact: 충격 방향 left / right / front / back / top / none(충격체 없이)
material: concrete / brick / glass / wood / stone / metal / ice / plaster (무게·마찰·튐·속 색)
pieces: 조각 수 (50400 권장). 많을수록 잘게 부서지고 느려진다
pattern: 조각이 촘촘해지는 곳. impact(맞은 곳) / uniform(고르게) / radial(중심에서) / slabs(층층이)
focus: 01. pattern 의 집중도. 1이면 맞은 곳만 아주 잘게
impact_power: 충격체 무게 = 대상 전체 무게 × 이 값 (0.02 약하게, 0.04 보통, 0.15 폭발처럼)
glue: none / weak / medium / strong. 조각을 붙여 두면 맞은 곳만 무너지고 나머지는 버틴다
collision: auto / convex(빠름) / mesh(오목한 모양 정확) / box / sphere
interior: 부순 단면 재질. auto(재질에 맞춰) / none / 다른 material 이름
repair: 구멍 난 메시를 자동 수리 (남의 모델에 특히 필요)
shell_thickness: 껍데기뿐인 모델에 줄 두께(m). 닫히지 않은 모델에서만 쓰임
density / friction / bounce: 재질 프리셋을 덮어쓰는 값 (0 또는 음수면 프리셋 그대로)
neighbors: 셀 이웃 수. 기본이면 충분하다
decimate_to: 면이 이 수보다 많으면 줄여서 부순다
결과의 volume_kept 가 1.0 에 가까우면 물리적으로 맞게 쪼개진 것이다.
Inputs: target (required), dust, glue, seed, +19 more.
doctorA
Check prerequisites (python, mcp, uv, Blender, receiver add-on, connection, output folder). 준비물 점검. 뭔가 안 될 때 먼저 부른다.
Inputs: no named parameters. Returns: result
explodeA
Explosion: fracture the target, blow the chunks outward, and add smoke and fire. 폭발. target 을 주면 그 물건을 조각내 안에서 터뜨리고, 없으면 at 위치에 연기·불만 만든다. power 0.5 작게 / 1 보통 / 2 크게. resolution 32 빠름 / 48 보통 / 96 고화질. smoke_collision=True 면 연기가 조각을 통과하지 않고 부딪힌다(느려짐).
Inputs: at, dust, fire, glue, +11 more.
export_modelA
Export to glb/gltf/fbx/obj, or .abc (Alembic) which also carries the animated water surface. 장면을 내보낸다. .abc 로 하면 물 표면과 조각 움직임이 프레임마다 구워져 다른 프로그램에서 그대로 보인다. bake_physics=True 면 조각 물리를 키프레임으로 굽는다(되돌릴 수 없으니 먼저 snapshot). 연기(볼륨)는 어떤 형식으로도 나가지 않는다.
Inputs: path (required), names, bake_physics. Returns: result
fireC
Continuous fire with smoke, burning on a target's surface or at a point. 계속 타오르는 불. target 을 주면 그 표면이 타고, 없으면 at 위치에서 탄다. resolution 0 이면 대상 크기에 맞춰 자동으로 정한다(건물이면 알아서 높게). density 연기 농도, dissolve 사라지는 속도(클수록 오래 남음), vorticity 소용돌이, noise 디테일.
Inputs: at, noise, power, frames, +10 more.
import_modelA
Import a 3D model (glb/gltf/fbx/obj/stl/usd/blend), join it into one mesh and stand it on the ground. 외부 모델을 가져와 하나의 메시로 합치고 바닥에 세운다. size: 가장 긴 변을 이 길이(m)로 맞춤(0이면 원본). 가져온 뒤 inspect_mesh 로 상태를 보고 destroy 한다.
Inputs: path (required), name, size, center, +1 more.
inspect_meshB
Diagnose a mesh before fracturing it: closed?, volume, concavity, face count, repair preview. 부수기 전에 모델 상태를 본다. 닫혀 있는지, 부피, 오목한 정도, 면 수, 수리하면 얼마나 나아지는지. 남이 만든 모델을 가져왔을 때 destroy 전에 부르면 문제를 미리 알 수 있다.
Inputs: target (required), decimate_to. Returns: result
list_objectsA
List mesh objects with their names and sizes. 장면에 있는 메시 이름과 크기(m)를 돌려준다. 효과의 target 을 고를 때 쓴다.
Inputs: no named parameters. Returns: result
list_snapshotsC
List saved snapshots. 저장해 둔 스냅샷 목록.
Inputs: no named parameters. Returns: result
make_demo_buildingA
Create a practice building with ground, camera and light. Returns one preview frame. 연습용 건물과 바닥·카메라·조명을 만든다. 부술 오브젝트가 없을 때 쓴다. style: "plain" 민무늬 / "windows" 벽을 실제로 파낸 창문 건물. ground: asphalt/concrete/grass/sand/dirt/snow, 비우면 기본.
Inputs: name, depth, style, width, +4 more.
oceanC
Animated ocean surface. Hides the flat ground while it exists. 바다 표면. size 넓이(m), wave_scale 파도 높이(0.5 잔잔 / 1.5 보통 / 4 거침).
Inputs: size, frames, choppiness, wave_scale, +2 more.
particlesB
Rain, snow, sparks or ash particles. 비·눈·불꽃·재. kind: rain / snow / sparks / ash. size 알갱이 크기, gravity 중력 비율, drag 공기 저항, lifetime 수명(프레임), speed 튀어나가는 속도. 음수/0 이면 프리셋 그대로.
Inputs: at, area, drag, kind, +10 more.
ping_blenderA
Check the socket connection to Blender. 블렌더 수신기와 연결되는지 확인한다.
Inputs: no named parameters. Returns: result
render_previewC
Re-render the current scene. quality: preview (fast, no sky/smoke/water), smoke (shows them), final (high quality). 현재 장면을 다시 렌더한다.
Inputs: width, frames, height, quality, +1 more.
render_videoC
Render the whole scene to an mp4 video. 장면 전체를 mp4 로 렌더한다. 72프레임 720p 기준 1~3분.
Inputs: fps, name, width, height, +3 more. Returns: result
reset_destroyB
Remove everything this toolbox created and bring the originals back. 이 도구가 만든 것(조각·먼지·연기·물·파티클·바다·깃발·접착)을 지우고 원본을 되살린다.
Inputs: target. Returns: result
restoreA
Go back to a snapshot. The current scene is auto-saved as "before_restore" first, so this is undoable. 스냅샷으로 되돌린다. 되돌리기 직전 상태가 before_restore 로 자동 저장되므로 되돌리기도 되돌릴 수 있다.
Inputs: name (required). Returns: result
save_blendC
Save the scene as a .blend file you can open in Blender yourself. 현재 장면을 .blend 로 저장한다.
Inputs: name. Returns: result
set_groundA
Set the ground material: asphalt, concrete, grass, sand, dirt or snow. 바닥 재질을 바꾼다. size 는 한 변 길이(m), z 는 높이.
Inputs: z, size, material.
set_lookC
Lighting and sky: day, sunset, night, overcast or studio; flat colour, procedural sky, or your own HDRI file. 조명·하늘. sky="procedural" 은 진짜 하늘 텍스처(EEVEE/Cycles 에서만 보임). hdri 는 가지고 있는 .hdr/.exr 파일 경로. 인터넷에서 받아오지는 않는다.
Inputs: sky, hdri, preset, sun_strength.
set_physicsA
Global physics: gravity strength and tilt, simulation accuracy, playback speed. 물리 전역 설정. gravity 9.81 이 지구, 1.62 가 달, 0 이면 무중력. gravity_deg 는 중력을 기울이는 각도. substeps/solver_iterations 를 올리면 정확해지고 느려진다. speed 는 물리 진행 속도(0.5 = 절반). 바꾸면 시뮬레이션을 다시 굽는다.
Inputs: fps, speed, rebake, gravity, +3 more. Returns: result
set_renderB
Render quality: samples, motion blur, resolution, exposure and film look. 렌더 설정. samples 높을수록 깨끗하고 느림. motion_blur 는 빠른 물체를 흐리게(영화 느낌). view_transform/look 은 필름 룩(예: "AgX", "High Contrast"). transparent_background 는 배경 빼기.
Inputs: fps, look, width, height, +6 more. Returns: result
set_timingA
Frame range, fps and slow motion. 프레임 범위·fps·슬로모션. 0 은 '그대로'. slow_from~slow_to 구간 슬로모션은 리지드바디·연기·물에만 걸린다(파티클 제외). global_slow(0.25 = 4배 느리게)는 장면 전체 시간을 늘려 파티클까지 전부 느려진다. 대신 길이가 늘어난다.
Inputs: fps, slow_to, frame_end, slow_from, +3 more. Returns: result
smokeB
Rising smoke without fire (chimney, smouldering debris, fog column). 피어오르는 연기. 인자는 fire 와 같다.
Inputs: at, noise, power, frames, +10 more.
snapshotB
Save the current scene as a snapshot you can go back to. 지금 장면을 저장한다. 되돌리고 싶을 수 있는 작업 전에 부른다.
Inputs: name. Returns: result
splashB
Drop a blob of water on something (shortcut for water(mode="drop")). 물 덩어리를 위에서 떨어뜨린다. water 의 간단 버전. 더 세밀한 제어는 water 를 쓴다.
Inputs: at, frames, radius, target, +4 more.
waterA
Liquid you aim: drop it, shoot it sideways, pour a stream, fill a pool, or turn any mesh into water. 물을 원하는 방향·모양·점성으로 만든다.
mode: drop(덩어리가 떨어짐) / stream(호스처럼 계속 뿜음) / pool(바닥에 물이 차 있음) / object(내 메시가 물이 됨) at: 물이 나오는 위치 [x, y, z] (m). 비우면 대상 위 size: 물 덩어리 반지름 또는 pool 깊이(m). 계산 격자보다 작으면 물이 안 생기니 오류로 알려 준다 shape: sphere(공) / box(상자) / column(기둥) direction_deg: 나가는 방향. 0=+Y 쪽, 90=+X 쪽, 180=-Y, 270=-X pitch_deg: 0=수평, -90=바로 아래, +90=위로 speed: 처음 속도(m/s). 0이면 그냥 떨어진다 liquid: water / oil / honey / lava / mercury / slime (점성·표면장력·색 프리셋) viscosity, surface_tension: 프리셋을 덮어쓰는 숫자 (음수면 프리셋 그대로) gravity_scale: 0이면 무중력에서 떠다니는 물방울 duration: stream 일 때 몇 프레임 동안 뿜을지 obstacles: 물이 부딪힐 물건 이름 목록. 비우면 보이는 메시 전부(바닥판 제외) source_object: mode="object" 일 때 물이 될 메시 이름 spray: 물보라·거품 알갱이 계산 켜기 resolution: 32 빠름 / 64 보통 / 128 고화질(느리고 메모리 많이 씀) 결과의 drift 로 물이 실제로 어느 쪽으로 갔는지 확인할 수 있다.
Inputs: at, mode, size, shape, +19 more.
windA
Wind force that pushes particles, cloth and smoke. 바람. direction_deg 0=+Y 쪽, 90=+X 쪽. strength 1 산들 / 3 보통 / 8 강풍. turbulence 흔들림(0~3).
Inputs: strength, turbulence, direction_deg. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 32 tools
Most tools have clear boundaries: state snapshots, scene inspection, destruction, fluid, atmosphere, camera, and render are distinct. Overlapping pairs like water/splash, fire/smoke, destroy/explode, and render_video/render_preview are described with enough detail to avoid major confusion, though render_video vs render_preview could still cause slight misselection.
Names are consistently lowercase snake_case, but the pattern mixes verb_noun commands (set_ground, render_video), bare verbs (destroy, restore), and effect nouns (water, smoke, ocean, cloth_flag). This mixed convention is still readable, but it is not a single predictable pattern.
32 tools is on the heavy side for an MCP server and exceeds the 16-25 'heavy' range. While the Blender FX domain is broad, several settings could be consolidated, and splash is a redundant shortcut for water(mode="drop"), making the surface feel over-scoped.
The tool set covers a coherent VFX workflow: diagnostics, scene inspection, import/export, destruction, fluids, fire/smoke, particles, wind/ocean/cloth, camera, lighting, timing/physics, rendering, and snapshot undo. Minor gaps include no per-effect removal or cancellation and no direct material editing, but agents can work around these with reset_destroy and snapshots.
Related MCP Connectors
Connect your AI assistant to Blender for 3D modeling, Geometry Nodes, materials, lighting, animation, rendering and export. Inspect real scenes and viewport images, refine the result and restore checkpoints. OAuth connects your chat to Blender Bridge Desktop on an online Windows 10/11 x64 computer running Blender 4.2+. The chat can run on another device. Requires an active Blender Bridge account; 7-day trial available. AI model access is separate.
Blender-as-a-service for agents: search 3D assets, run Blender Python, or brief the studio agent.
Blender and GLB/FBX/USD/STL rendered on cloud GPUs for AI agents: product shots, turntables, MP4
Generate, extend and edit AI images and videos, then assemble clips on a timeline and render.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered 3D content creation in Blender through natural language, including text-to-3D, image-to-3D, animation, rigging, rendering, and export.3MIT
- AlicenseBqualityBmaintenanceEnables AI assistants to control Blender 3D software through natural language, with tools for modeling, materials, animation, rendering, and rigging.3818MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to create, inspect, and animate 3D scenes in Blender through natural language and structured tool calls.6MIT
- AlicenseCqualityBmaintenanceEnables AI agents to control Blender through 150+ tools across 24 modules, including modeling, materials, lighting, animation, rendering, mesh quality analysis, and visual feedback, plus expert prompts and goal-first workflow management.2092MIT