Blender MCP
chính thứcMột máy chủ MCP (Model Context Protocol) nhẹ dành cho Blender. Nó cung cấp giao diện ngôn ngữ tự nhiên với API Python của Blender, cải thiện khả năng truy cập tài liệu và cho phép người dùng khám phá cũng như hiểu các thiết lập phức tạp.
Bạn có thể làm gì với Blender MCP?
- Phân tích cảnh — Yêu cầu trợ lý phân tích cảnh Blender đang mở và xác định các điểm bất thường về hiệu suất, như các đối tượng có số lượng đa giác cao so với kích thước hiển thị trên màn hình.
- Đổi tên data-block — Hướng dẫn trợ lý sửa lỗi chính tả hoặc đề xuất tên mô tả cho tất cả các data-block trong tệp hiện tại, chỉ áp dụng thay đổi sau khi bạn phê duyệt.
- Truy vấn ngôn ngữ tự nhiên — Truy vấn trực tiếp mối quan hệ giữa các đối tượng, chẳng hạn như hỏi đối tượng nào sử dụng một vật liệu cụ thể hoặc đối tượng nào có số đa giác cao nhất trong cảnh.
- Tài liệu Geometry Nodes — Yêu cầu trợ lý giải thích một thiết lập Geometry Nodes phức tạp, thêm khung tài liệu nội tuyến và tạo một data-block văn bản với phân tích đầy đủ.
- Gỡ lỗi cảnh — Yêu cầu trợ lý chẩn đoán các vấn đề như lỗi biến dạng lưới, hiện tượng bóng đổ bất thường hoặc các đối tượng có tỷ lệ không đồng đều trong dự án hiện tại của bạn.
Tài liệu
Một máy chủ MCP (Model Context Protocol) nhẹ dành cho Blender. Nó cung cấp giao diện ngôn ngữ tự nhiên với Python API của Blender, cải thiện khả năng truy cập tài liệu, đồng thời cho phép người dùng khám phá và hiểu các thiết lập phức tạp.
Để biết chi tiết kỹ thuật và tài liệu về kiến trúc, hãy xem mã nguồn.
[!warning] Cảnh báo Cảnh báo bảo mật
Máy chủ MCP sẽ thực thi mã do LLM tạo ra trong Blender mà không có bất kỳ biện pháp bảo vệ nào để bảo vệ dữ liệu của bạn khỏi bị xóa hoặc bị gửi đến một vị trí từ xa. Để giữ dữ liệu của bạn an toàn, bạn nên sử dụng máy ảo hoặc hệ thống không có quyền truy cập vào thông tin nhạy cảm.
Cài đặt
Blender không có chức năng tích hợp sẵn nào để kết nối với LLM.
Để Blender kết nối với LLM, ba công cụ bên ngoài phải được tải xuống, cài đặt và chạy thủ công.
Add-on
Để tương tác với phiên Blender của bạn, bạn cần cài đặt một add-on cụ thể cho tích hợp MCP Server.
…hoặc tải xuống và Cài đặt từ Đĩa
Nếu bạn kéo & thả vào Blender, bạn sẽ cần thực hiện hai lần. Đầu tiên để thêm kho lưu trữ Blender Lab, thứ hai để cài đặt add-on. Phương pháp này cho phép bạn nhận thông báo cập nhật bất cứ khi nào có phiên bản mới của add-on này.
LLM Client
Máy chủ MCP tuân theo một tiêu chuẩn được xác định rõ ràng và tương thích với nhiều loại client. Vui lòng làm theo tài liệu LLama.cpp hoặc cài đặt một LLM client mà bạn ưa thích.
MCP Server
Có nhiều cách khác nhau để cài đặt MCP Server tùy thuộc vào khả năng của LLM client của bạn.
- MCP Bundle: Dành cho các client mới hơn hỗ trợ tệp
.mcpb, hãy tải xuống gói mới nhất từ trang phát hành. Llama.cpp chưa hỗ trợ điều này. - MCP Server: Để cài đặt từ mã nguồn, hãy xem tài liệu Llama.cpp hoặc hướng dẫn thiết lập.
Chạy
Khi bạn đã thiết lập MCP Server trong LLM Client của mình, bạn có thể bắt đầu khám phá các cảnh Blender của mình.

Giao diện web llama.cpp đang chạy máy chủ blender-mcp.
Ví dụ 1: Phân tích cảnh
MCP có thể được sử dụng để phân tích cảnh theo chương trình nhằm tìm ra các điểm nghẽn hiệu suất. Ví dụ như tệp demo Classroom:

Tệp demo Classroom.
Cảnh này là một trong các tệp điểm chuẩn Blender. Lý do các tệp này nằm trong điểm chuẩn là vì chúng đại diện tốt cho các tệp sản xuất thực tế do nghệ sĩ tạo ra. Và không có gì ngạc nhiên khi nó có thể chứa các đối tượng dễ bị tối ưu hóa.
Mặc dù việc kiểm tra số lượng đa giác thường là đủ, nhưng điều thú vị hơn là vẽ biểu đồ số lượng đa giác dựa trên kích thước hiển thị của chúng trong kết xuất cuối cùng. Điều này có thể đạt được bằng lời nhắc sau.
Analyze the scene and list the outliers: objects with highest polygon count but smaller size from the camera point of view.
Dữ liệu kết quả được vẽ biểu đồ cho thấy rõ hai đối tượng nổi bật so với phần còn lại: alphabet và coat 1:

Phân tích biểu đồ số đa giác trên mỗi diện tích màn hình cho cảnh demo classroom.
Đối tượng alphabet có 20k đa giác. Do bố cục phẳng của nó, nó có thể được thay thế bằng một kết cấu với ít ảnh hưởng tiêu cực đến kết quả cuối cùng. Đối tượng coat 1 có 37k đa giác do bộ điều chỉnh Subsurf của nó. Giảm mức độ phân chia có thể làm giảm tải cho cảnh, nếu bộ nhớ là điểm nghẽn trong hệ thống của bạn.

Bảng chữ cái nằm ở phía sau cảnh và có thể dễ dàng được thay thế bằng một kết cấu. Áo khoác cũng đủ xa để có thể đơn giản hóa lưới của nó.
[!info] Thông tin Những kết quả đó đáng tin cậy đến mức nào?
Phân tích ban đầu do LLM trả về chỉ xem xét các bộ điều chỉnh ảnh hưởng đến khung nhìn. Đối tượng
coat 1có bộ điều chỉnh Solidify làm tăng gấp đôi số đa giác của nó, khiến nó trở thành một điểm ngoại lệ hơn nữa. Và mặc dù cảnh này không bật Simplify, cài đặt này cũng sẽ ảnh hưởng đến phân tích cuối cùng.
Ví dụ 2: Các lời nhắc khác nhau
Đây là một số trường hợp sử dụng khác đã được kiểm tra. Bạn cần dán toàn bộ nội dung "Prompt" để chúng hoạt động. Điểm khởi đầu bạn nên sử dụng tệp demo tương ứng. Sự thành công của thao tác sẽ phụ thuộc vào mô hình được sử dụng.
| Trường hợp sử dụng | Lời nhắc | Tệp demo | Kết quả |
|---|---|---|---|
| Đổi tên data-block: sửa lỗi chính tả | With the current open Blender file fix the name of all the data-blocks to remove typos. Report back which data-blocks got fixed. | Scattering Pebbles | GRP-rocks → GRP-pebble, LGT-Lights → LGT-lights, Compositing Nodetree → Compositing Node Tree |
| Đổi tên data-block: tên tốt hơn | With the current open Blender file suggest descriptive names for all data-blocks, and apply if approved. | Scattering Pebbles | Camera → CAM-main, Area → LGT-sun-key, Area.001 → LGT-sun-fill, Area.002 → LGT-area-rim, GEO-pebble.001 → GEO-pebble-B, … |
| Truy vấn mối quan hệ dữ liệu bằng ngôn ngữ tự nhiên | Which objects are using the following material: pebbles | Scattering Pebbles | 7 đối tượng: GEO-pebble, GEO-pebble.001, GEO-pebble.002, GEO-pebble.003, GEO-pebble.004, GEO-pebble.005, GEO-pebble.006 |
| Gỡ lỗi cảnh | What is the object with the highest poly-count on this file? Ignore objects which are not linked to any scene. | Scattering Pebbles | GEO-ground với 4.096 mặt. |
| Tài liệu Geometry Nodes | With the current open Blender file explain what the main geometry nodes setup is doing. Add inline documentation for it with frame elements. Create a Text data-block with the result of analysis. | Scattering Pebbles | 4 khung chính được mã hóa màu + tệp văn bản có giải thích. |
Các lời nhắc khác chưa được khám phá:
- Dịch tất cả các data-block từ tiếng Pháp sang tiếng Anh.
- Lưới của tôi không bị biến dạng bởi armature của tôi, làm cách nào để khắc phục?
- Blender hết bộ nhớ khi kết xuất cảnh này, làm cách nào để tối ưu hóa?
- Lưới này có các hiện vật tạo bóng lạ, làm cách nào để khắc phục?
- Tìm các đối tượng có lưới với pháp tuyến xấu.
- Kiểm tra cảnh của tôi để tìm các đối tượng lưới bị biến đổi không đồng nhất.
- Video tôi xuất ra không phát trong trình duyệt web của tôi, tôi nên thay đổi cài đặt nào?
- Nên sử dụng cọ điêu khắc nào để tạo và chi tiết hóa các nhánh cây?
- Thiết lập các nút compositing để lưu hình ảnh của tôi dưới dạng cả SDR và HDR.
- Xác minh danh sách kiểm tra này:: lưới phải là manifold, tất cả các đối tượng phải có vật liệu, đặt tên phải tuân theo quy ước, không có đường dẫn tuyệt đối, … Đổi tên data-block: sửa lỗi chính tả
GRP-rocks → GRP-pebbles (cảnh chỉ chứa các đối tượng pebble, không phải rocks).
LGT-Lights → LGT-lights (cách viết hoa không nhất quán).
Compositing Nodetree → Compositing Node Tree (Nodetree là lỗi từ ghép).
Đổi tên data-block: tên tốt hơn
Đối tượng:
Camera→CAM-mainArea→LGT-sun-keyArea.001→LGT-sun-fillArea.002→LGT-area-rimGEO-pebble.001→GEO-pebble-BGEO-pebble.002→GEO-pebble-CGEO-pebble.003→GEO-pebble-DGEO-pebble.004→GEO-pebble-EGEO-pebble.005→GEO-pebble-FGEO-pebble.006→GEO-pebble-G
Data-block ánh sáng:
Area→LGT-sun-keyArea.001→LGT-sun-fillArea.002→LGT-area-rim
Data-block camera:
Camera→CAM-main
Kết cấu:
Texture→TEX-ground-cloudsTexture.001→TEX-ground-image
Cảnh & Thế giới:
World→WLD-environmentScene→SCN-mainTài liệu Geometry Nodes
Các khung mới được tạo:

Các khung tài liệu được thêm vào thiết lập geometry nodes.
Data-block văn bản:
GEOMETRY NODES ANALYSIS -- "Pebble Scattering Nodes"
Applied to object: GEO-ground | Modifier: Pebbles
========================================================
OVERVIEW
--------
This node group scatters three size categories of pebble meshes across
the faces of a ground mesh. Each category uses its own density mask
and a global Factor multiplier so that coverage can be art-directed
per-layer without touching the raw mask textures. The three resulting
instance layers are merged with the original ground geometry and sent
to the Group Output.
INPUTS (Group Interface)
------------------------
Geometry -- The ground mesh to scatter pebbles on.
Large Pebbles Mask -- Float mask (e.g. vertex colour / texture) that
defines WHERE large pebbles may appear.
Medium Pebbles Mask-- Float mask for medium pebble placement regions.
Small Pebbles Mask -- Float mask for small pebble placement regions.
Factor -- Global density multiplier shared by all three
lanes (appears three times in the interface,
one per lane).
NODE GRAPH -- LANE BY LANE
--------------------------
+- LARGE PEBBLES LANE -----------------------------------------------------+
| Source object : GEO-pebble |
| Group Input.001 |
| +- Geometry ------------------------> Distribute Points on Faces |
| +- Large Pebbles Mask ------------> Distribute Points on Faces |
| | (Density Factor socket) |
| +- Factor --> Math.003 (x) -------> Distribute Points on Faces |
| (Density Max socket) |
| Distribute Points on Faces ----------> Instance on Points |
| Object Info (GEO-pebble) -----------> Instance on Points (Instance) |
| Random Rotation.001 [-pi, +pi] -----> Instance on Points (Rotation) |
| Random Value [0.25 - 0.60] -------> Instance on Points (Scale) |
| Instance on Points ------------------> Join Geometry.003 |
+--------------------------------------------------------------------------+
+- MEDIUM PEBBLES LANE ----------------------------------------------------+
| Source object : GEO-pebble.004 |
| Group Input.002 |
| +- Geometry ------------------------> Distribute Points on Faces.001 |
| +- Medium Pebbles Mask -----------> Math.004 (x) --> Math.005 (x) |
| +- Factor ------------------------> Math.005 (x) |
| Math.005 output --------------> Distribute Points on Faces.001 |
| (Density socket) |
| Distribute Points on Faces.001 -----> Instance on Points.001 |
| Object Info.001 (GEO-pebble.004) --> Instance on Points.001 |
| Random Rotation.002 [-pi, +pi] ----> Instance on Points.001 |
| Random Value.002 [0.25 - 0.45] -----> Instance on Points.001 |
| Instance on Points.001 -------------> Join Geometry.003 |
+--------------------------------------------------------------------------+
+- SMALL PEBBLES LANE -----------------------------------------------------+
| Source object : GEO-pebble.002 |
| Group Input.003 |
| +- Geometry ------------------------> Distribute Points on Faces.002 |
| +- Small Pebbles Mask -----------> Math.006 (x) --> Math.007 (x) |
| +- Factor ------------------------> Math.006 (x) |
| Math.007 output --------------> Distribute Points on Faces.002 |
| (Density socket) |
| Distribute Points on Faces.002 -----> Instance on Points.002 |
| Object Info.002 (GEO-pebble.002) --> Instance on Points.002 |
| Random Rotation [-pi, +pi] ----> Instance on Points.002 |
| Random Value.003 [0.10 - 0.35] -----> Instance on Points.002 |
| Instance on Points.002 -------------> Join Geometry.003 |
+--------------------------------------------------------------------------+
+- MERGE & OUTPUT ---------------------------------------------------------+
| Group Input.004 |
| +- Geometry (pass-through) --------> Join Geometry.003 |
| Join Geometry.003 |
| (inputs: large instances + medium instances + |
| small instances + original ground geo) |
| +- Geometry -----------------------> Group Output |
+--------------------------------------------------------------------------+
SCALE RANGES (uniform, per lane)
---------------------------------
Large pebbles : 0.25 - 0.60
Medium pebbles : 0.25 - 0.45
Small pebbles : 0.10 - 0.35
ROTATION (all lanes)
---------------------
All three axes randomised independently over [-pi, +pi],
giving each pebble instance a fully random orientation.
DENSITY CONTROL PATTERN (Medium & Small lanes)
-----------------------------------------------
The mask value and the Factor are first multiplied together
(Math.004 / Math.006), then that product is multiplied again
by a second value (Math.005 / Math.007) before being fed into
the Density socket. This two-stage multiply gives a non-linear
response curve, making the density fall off more aggressively
near the mask edges.
The Large lane uses a different (single-stage) approach:
the Density Factor socket receives the mask directly, and the
Factor is only used to scale Density Max via Math.003.
NOTES & SUGGESTIONS
--------------------
* The node group has no Seed input exposed; adding one would allow
re-randomising all three layers simultaneously without touching
individual nodes.
* The Factor input currently appears three times (once per lane).
Merging them into a single shared socket would simplify the
modifier panel.
* Consider labelling the unlabelled Math nodes (Math.003-.007)
and Random Value nodes to aid future maintenance.