Kết nối Blender với LLM qua MCP for Blender
Cài MCP for Blender để agent dựng, chỉnh sửa cảnh 3D trong Blender và kiểm soát dữ liệu telemetry.
Bài này hướng dẫn cài và dùng MCP for Blender để AI hỗ trợ dựng mô hình 3D, tạo và chỉnh sửa cảnh trong Blender bằng prompt.
MCP for Blender kết nối Blender với bất kỳ LLM nào qua Model Context Protocol (MCP). Dự án trước đây tên là blender-mcp, package PyPI nay là mcp-for-blender. Các thiết lập cũ vẫn chạy, không cần đổi cấu hình (đọc thêm).
Bắt đầu nhanh
Một lệnh thiết lập các ứng dụng AI của bạn và addon Blender:
macOS / Linux
curl -LsSf https://www.mcp-for-blender.com/install.sh | sh
Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://www.mcp-for-blender.com/install.ps1 | iex"
Đã có uv? Chạy uvx mcp-for-blender setup thay thế.
Lệnh này cài uv nếu cần, tìm các MCP client trên máy bạn (Claude Desktop, Claude Code, Codex, Cursor, VS Code, Devin Desktop/Windsurf, OpenCode, Antigravity) và cho bạn chọn client nào cần thiết lập. Sau đó nó cài addon Blender và bật addon. Cấu hình hiện có được giữ nguyên: lệnh chỉ thêm một mục blender và lưu bản .bak cho mỗi file nó sửa.
Sau đó thoát hẳn rồi mở lại ứng dụng AI (trên Windows, thoát từ khay hệ thống), mở Blender và yêu cầu nó dựng gì đó. Addon tự khởi động server khi Blender mở.
Tính năng
| Tính năng | Mô tả |
|---|---|
| Giao tiếp hai chiều | Kết nối Claude AI với Blender qua một server dùng socket |
| Thao tác đối tượng | Tạo, sửa và xoá đối tượng 3D trong Blender |
| Điều khiển vật liệu | Áp dụng và chỉnh sửa vật liệu, màu sắc |
| Kiểm tra bằng hình ảnh | Xem nhiều góc, camera, topology, rig và dải animation, để AI tự kiểm tra kết quả của mình |
| Thực thi code | AI viết trực tiếp Blender Python, có hướng dẫn theo yêu cầu cho rigging, retopology, animation và level design |
| Tạo asset và model | Asset Poly Haven, model Sketchfab, model low-poly Poly Pizza, và model 3D do AI tạo qua Tripo, Hyper3D Rodin và Hunyuan3D |
Thành phần
Hệ thống gồm hai thành phần chính:
- Blender Addon (
addon.py): addon tạo một socket server bên trong Blender để nhận và thực thi lệnh. - MCP Server (
src/blender_mcp/server.py): server Python hiện thực Model Context Protocol và kết nối tới addon Blender.
Cài đặt thủ công
Cách nhanh nhất là trình cài một dòng ở mục Bắt đầu nhanh. Phần dưới đây dành cho thiết lập thủ công.
Yêu cầu
- Blender 3.0 trở lên
- Python 3.10 trở lên
- Trình quản lý package uv
Cài uv theo từng nền tảng:
macOS
brew install uv
Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
Sau đó thêm uv vào user path trên Windows (có thể cần khởi động lại Claude Desktop sau bước này):
$localBin = "$env:USERPROFILE\.local\bin"
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$userPath;$localBin", "User")
Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
uv được cài vào ~/.local/bin, hãy mở shell mới để nó có trong PATH. Hướng dẫn cài khác có trên trang Install uv.
Trên mọi hệ điều hành, hãy dùng trình cài chính thức ở trên, không dùng pip install uv. Cách đó có thể không tạo lệnh uvx và có thể giấu uv trong một môi trường mà client của bạn không thấy.
Giúp client tìm thấy uvx
MCP client khởi động từ giao diện đồ hoạ (Claude Desktop, Cursor, VS Code mở từ Dock/Start menu) không kế thừa PATH của terminal. Vì vậy "command": "uvx" trần có thể lỗi spawn uvx ENOENT dù uvx chạy được trong terminal. Khi gặp lỗi này:
- Tìm đường dẫn đầy đủ của uvx bằng
which uvx(macOS/Linux) hoặcwhere uvx(Windows), rồi dùng nó làm"command", ví dụ/opt/homebrew/bin/uvxhoặcC:\Users\<you>\.local\bin\uvx.exe. - Trên Windows, bạn có thể bọc lại:
"command": "cmd", "args": ["/c", "uvx", "mcp-for-blender"]. - Sau mọi thay đổi PATH hoặc cấu hình, thoát hẳn rồi mở lại client (Windows: thoát từ khay hệ thống, không chỉ đóng cửa sổ; macOS:
Cmd+Q).
Cố định phiên bản Python
uv chọn Python nào chạy server. Trên máy có conda (tự kích hoạt base), pyenv hoặc asdf, hoặc có bản CPython mới mà một số dependency chưa có wheel, uv có thể lấy một interpreter làm cài đặt thất bại. Hãy cố định Python 3.11 và ưu tiên interpreter do uv quản lý để tránh dùng bất kỳ thứ gì có trong PATH:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["--python", "3.11", "mcp-for-blender"],
"env": { "UV_PYTHON_PREFERENCE": "only-managed" }
}
}
}
--python 3.11 vẫn thoả requires-python >=3.10 của package, còn UV_PYTHON_PREFERENCE=only-managed ngăn uv chọn conda, pyenv, asdf hoặc Python hệ thống trước. Nếu một lần thử lỗi trước đó cứ lặp lại sau khi đã sửa, hãy xoá cache:
uv cache clean mcp-for-blender blender-mcp && uvx --refresh mcp-for-blender
Biến môi trường
Các biến môi trường sau dùng để cấu hình kết nối Blender:
| Biến | Mặc định | Mô tả |
|---|---|---|
BLENDER_HOST | localhost | Địa chỉ host của socket server trong Blender |
BLENDER_PORT | 9876 | Cổng của socket server trong Blender |
BLENDER_MCP_SAFE_MODE | off | Đặt 1 để kiểm tra script trước khi chạy trong Blender (xem bên dưới) |
BLENDER_MCP_APPS | auto | Đặt 1 để bật cưỡng bức app viewport inline cho các client hỗ trợ MCP Apps nhưng không khai báo (plugin Codex đặt biến này) |
BLENDER_MCP_OPENAI_FORMS | auto | Đặt 1 để bật cưỡng bức bộ chọn asset dạng thumbnail (plugin Codex đặt biến này) |
Bạn cũng có thể truyền thông tin kết nối bằng cờ CLI, cờ CLI được ưu tiên hơn biến môi trường. Cách này tiện khi chạy nhiều instance Blender song song, vì mỗi mục MCP client trỏ tới một cổng khác nhau:
uvx mcp-for-blender --port 9877
Trong cấu hình MCP client, đó là một mục thứ hai chỉ khác ở args:
{
"mcpServers": {
"blender": { "command": "uvx", "args": ["mcp-for-blender"] },
"blender-b": { "command": "uvx", "args": ["mcp-for-blender", "--port", "9877"] }
}
}
Mỗi instance cần đặt cổng tương ứng trong panel addon của Blender.
Safe mode
Mặc định, AI có thể chạy bất kỳ code Python nào trong Blender. Đặt BLENDER_MCP_SAFE_MODE=1 để kiểm tra mọi script trước khi chạy và chặn code rủi ro, như đọc ghi file trực tiếp, chạy chương trình khác, truy cập mạng, hoặc cài code tiếp tục chạy sau khi script kết thúc. Công việc Blender bình thường (dựng mô hình, vật liệu, render, lưu, import/export) vẫn chạy. Script bị chặn được gửi lại cho AI kèm lý do, để AI thử lại với bản đã sửa.
Thiết lập MCP client
Claude for Desktop
Xem video hướng dẫn thiết lập (giả định bạn đã cài uv).
Vào Claude → Settings → Developer → Edit Config → claude_desktop_config.json và thêm:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"mcp-for-blender"
]
}
}
}
Claude Code
Dùng Claude Code CLI để thêm server MCP for Blender:
claude mcp add blender uvx mcp-for-blender
Codex
Codex CLI, ứng dụng desktop và extension IDE dùng chung một file cấu hình (~/.codex/config.toml), nên thiết lập server một lần là dùng được cho cả ba. Đăng ký server bằng Codex CLI:
codex mcp add blender -- uvx mcp-for-blender
Hoặc thêm tay vào ~/.codex/config.toml (hoặc $CODEX_HOME/config.toml):
[mcp_servers.blender]
command = "uvx"
args = ["mcp-for-blender"]
Kiểm tra đã đăng ký bằng codex mcp list, server blender phải hiện enabled. Các tool sẽ có từ lần khởi động Codex tiếp theo.
Cursor
macOS: vào Settings → MCP và dán đoạn sau:
- Dùng làm server global: bấm nút "add new global MCP server" rồi dán
- Dùng làm server riêng cho dự án: tạo
.cursor/mcp.jsonở thư mục gốc dự án rồi dán
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"mcp-for-blender"
]
}
}
}
Windows: vào Settings → MCP → Add Server, thêm server mới với thiết lập:
{
"mcpServers": {
"blender": {
"command": "cmd",
"args": [
"/c",
"uvx",
"mcp-for-blender"
]
}
}
}
Visual Studio Code
Đảm bảo bạn đã cài Visual Studio Code, rồi dùng link cài server mcp-for-blender cho VS Code.
OpenCode
{
"mcp": {
"blender-mcp": {
"type": "local",
"command": ["uvx", "mcp-for-blender"],
"enabled": true,
"environment": {
"BLENDER_HOST": "localhost",
"BLENDER_PORT": "9876"
}
}
}
}
Antigravity
{
"mcpServers": {
"blender-mcp": {
"command": "uvx",
"args": ["mcp-for-blender"],
"env": {
"BLENDER_HOST": "localhost",
"BLENDER_PORT": "9876"
}
}
}
}
Cài addon Blender
uvx mcp-for-blender setup làm toàn bộ việc này, kể cả bật addon. Các bước dưới là cách làm tay.
-
Khuyên dùng: chạy trong terminal:
bashuvx mcp-for-blender install-addonLệnh này chép addon vào thư mục addon của Blender với tên
blender_mcp.py, in ra nơi đã ghi và giữ bản.bakcủa file bị thay. Tuỳ chọn:uvx mcp-for-blender addon-pathsliệt kê các thư mục addon Blender tìm thấy, đổi đích bằngBLENDERMCP_ADDONS_DIR=/path/to/scripts/addons. -
Mở Blender.
-
Vào Edit → Preferences → Add-ons.
-
Bật Interface: MCP for Blender (tìm "MCP for Blender"). Nếu chưa thấy, bấm Install… và chọn file
blender_mcp.py/addon.pyđã chép, hoặc khởi động lại Blender. -
Cách thủ công khác: nếu lệnh trên không tìm thấy bản cài Blender, hoặc bạn muốn tự làm, tải
addon.pytừ repo, trong Blender vào Edit → Preferences → Add-ons → Install…, chọn fileaddon.pyđã tải rồi bật nó.
Sau đó mở tab MCP for Blender ở thanh bên của Blender (nhấn N trong 3D viewport) và bấm Start MCP Server.
Sử dụng
Bắt đầu kết nối

- Trong Blender, mở thanh bên 3D View (nhấn
Nnếu chưa hiện). - Tìm tab MCP for Blender.
- Bật các ô bạn muốn dùng (xem thêm ở mục Khả năng bên dưới).
- Bấm Connect to Claude.
- Đảm bảo MCP server đang chạy trong terminal.
Dùng với Claude
Khi đã đặt file cấu hình cho Claude và addon đang chạy trong Blender, bạn sẽ thấy biểu tượng búa kèm các tool của MCP for Blender.
![]()
Khả năng
AI tự viết Blender Python cho dựng mô hình, bố cục, vật liệu, animation, rigging và retopology. MCP bổ sung những gì Python không tự làm được, dưới dạng mười tool:
| Tool | Dùng để |
|---|---|
execute_blender_code | Chạy Python trong Blender đang mở |
look | Xem kết quả. Các chế độ: viewport, angles (bảng nhiều góc tự căn khung), camera, topology (wireframe + thống kê mesh), rig (xương + thống kê weighting), frames (dải animation) |
get_scene_info | Tóm tắt cảnh gọn, mỗi đối tượng một dòng; đi sâu bằng root hoặc query |
generate_3d | Một lời gọi để tạo và import model bằng Tripo, Hunyuan3D hoặc Hyper3D Rodin. Generator premium được tự động ưu tiên |
search_assets / import_asset | HDRI, texture và model của Poly Haven, model Sketchfab, model low-poly Poly Pizza |
get_guide | Hướng dẫn quy trình (workflow) chỉ nạp khi cần: bpy, scene, level-design, animation, rigging, retopology, materials (cũng có dưới dạng resource guide://) |
get_addon_status | Phiên bản Blender, phiên bản addon, và thư viện, generator nào đang bật |
disable_telemetry, record_trajectory_feedback | Điều khiển việc thu thập dữ liệu |
Giấy phép và ghi công asset
- Poly Haven: mọi asset đều là CC0. Bạn không bao giờ phải ghi công ai, cho bất kỳ mục đích nào, thương mại hay không. Điều khoản API của họ yêu cầu phần mềm dùng API trực tiếp phải nói rõ asset đến từ đâu, nên kết quả tìm kiếm và import đều ghi nguồn và link tới trang của asset. Khi import,
polyhaven_id,polyhaven_url,polyhaven_authors,polyhaven_resolutionvàpolyhaven_licenceđược ghi vào đối tượng, material, ảnh và world đã import dưới dạng custom property. - Poly Pizza: khoảng 69% danh mục là CC-BY, giấy phép này bắt buộc bạn ghi công tác giả ở mọi nơi model xuất hiện. Khi import, dòng ghi công định dạng sẵn được ghi vào từng đối tượng gốc dưới dạng custom property
polypizza_attribution(cùngpolypizza_idvàpolypizza_licence), nên nó được lưu trong file.blendvà còn lại sau phiên làm việc. Lọc bằnglicence="CC0"nếu bạn muốn dùng model không cần ghi công.
Lệnh mẫu
Một số ví dụ bạn có thể yêu cầu Claude làm:
| Prompt | Demo |
|---|---|
| "Create a low poly scene in a dungeon, with a dragon guarding a pot of gold" | Xem |
| "Create a beach vibe using HDRIs, textures, and models like rocks and vegetation from Poly Haven" | Xem |
| Đưa một ảnh tham chiếu và tạo cảnh Blender từ ảnh đó | Xem |
| "Get information about the current scene, and make a threejs sketch from it" | Xem |
| "Generate a 3D model of a garden gnome through Hyper3D" | |
| "Fill this room with low-poly furniture from Poly Pizza" | |
| "Make this car red and metallic" | |
| "Create a sphere and place it above the cube" | |
| "Make the lighting like a studio" | |
| "Point the camera at the scene, and make it isometric" |
Lưu API credential lâu dài
MCP for Blender hỗ trợ lưu credential lâu dài qua Add-on Preferences của Blender, tại Edit → Preferences → Add-ons → MCP for Blender. Bạn có thể lưu các giá trị sau để chúng còn sau khi khởi động lại Blender:
- Sketchfab API Key
- Poly Pizza API Key
- Hyper3D API Key
- Hunyuan3D SecretId / SecretKey
- Hunyuan3D API URL
Với thiết lập headless hoặc CI, credential cũng có thể được truyền qua biến môi trường: BLENDERMCP_SKETCHFAB_API_KEY, BLENDERMCP_POLYPIZZA_API_KEY, BLENDERMCP_HYPER3D_API_KEY, BLENDERMCP_HUNYUAN3D_SECRET_ID, BLENDERMCP_HUNYUAN3D_SECRET_KEY, BLENDERMCP_HUNYUAN3D_API_URL.
Khắc phục sự cố
| Vấn đề | Cách xử lý |
|---|---|
| Lỗi kết nối | Đảm bảo server của addon Blender đang chạy và MCP server đã được cấu hình trong Claude. Không chạy lệnh uvx trong terminal. Đôi khi lệnh đầu tiên không qua, nhưng sau đó sẽ chạy. |
| Lỗi timeout | Thử đơn giản hoá yêu cầu hoặc chia thành các bước nhỏ hơn. |
| Blender đứng khi tải từ Poly Haven | Asset được tải trên luồng chính của Blender, nên giao diện ngừng phản hồi tới khi tải xong. Dung lượng file tăng khoảng bốn lần mỗi bậc độ phân giải, nên hãy yêu cầu 1k hoặc 2k trừ khi asset ở sát camera. |
| Tải từ Poly Pizza lỗi do Cloudflare challenge | static.poly.pizza có lớp chống bot, chặn IP datacenter, VPN và cloud. API key của bạn không có vấn đề vì CDN không bao giờ thấy nó. Hãy thử lại từ kết nối thông thường, hoặc tải .glb bằng tay và dùng File → Import → glTF 2.0. |
| Bạn đã thử tắt đi bật lại chưa? | Nếu vẫn lỗi kết nối, thử khởi động lại cả Claude và server Blender. |
Giới hạn và lưu ý bảo mật
- Poly Haven cần tải model, texture và ảnh HDRI. Nếu không muốn dùng, hãy tắt nó ở ô chọn trong Blender.
- Các thao tác phức tạp có thể cần chia thành các bước nhỏ hơn.
Điều khiển telemetry
Telemetry là opt-in. Việc thu thập nội dung của bạn mặc định tắt và giữ tắt tới khi bạn chủ động bật.
Thu thập mặc định (không cần opt-in): một bản ghi sử dụng ẩn danh tối thiểu để tác giả đếm số người dùng hoạt động và xem tool nào được dùng. Bản ghi gồm ID cài đặt sinh ngẫu nhiên, ID phiên, tên tool, có thành công hay không, mất bao lâu, phiên bản MCP for Blender và Blender, hệ điều hành của bạn và một mốc thời gian.
Không bao giờ thu thập khi chưa opt-in: prompt của bạn, code được sinh, ảnh chụp viewport, dữ liệu cảnh và các bước trajectory.
Để opt-in: vào Edit → Preferences → Add-ons → MCP for Blender và tích ô đồng ý telemetry. Một số MCP client cũng sẽ hỏi opt-in một lần khi bắt đầu hội thoại. Opt-in sẽ thêm prompt, code được sinh, ảnh chụp màn hình và dữ liệu trajectory vào phần được thu thập; xem TnC để biết chi tiết. Bạn có thể tắt lại ở cùng chỗ bất cứ lúc nào.
Để tắt hoàn toàn telemetry, kể cả bản ghi sử dụng ẩn danh tối thiểu, đặt biến môi trường:
DISABLE_TELEMETRY=true uvx mcp-for-blender
Hoặc thêm vào cấu hình MCP:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["mcp-for-blender"],
"env": {
"DISABLE_TELEMETRY": "true"
}
}
}
}
Dữ liệu telemetry không gắn với tên hay tài khoản của bạn. Dữ liệu có thể được dùng để cải thiện MCP for Blender, cho nghiên cứu, và để huấn luyện model AI.
Chi tiết đầy đủ về dữ liệu được thu thập và giấy phép bạn cấp khi opt-in có trong TERMS_AND_CONDITIONS.md.
Nguồn
- Dịch và biên tập từ https://raw.githubusercontent.com/ahujasid/mcp-for-blender/main/README.md, giấy phép MIT.