Blender MCP
आधिकारिकब्लेंडर के लिए एक हल्का MCP (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) सर्वर। यह ब्लेंडर के पायथन API के साथ एक प्राकृतिक भाषा इंटरफ़ेस प्रदान करता है, दस्तावेज़ीकरण तक पहुंच में सुधार करता है, और उपयोगकर्ताओं को जटिल सेटअपों का अन्वेषण और समझने की अनुमति देता है।
Blender MCP के साथ आप क्या कर सकते हैं?
- दृश्य प्रदर्शन विश्लेषण — अपने AI से खुले Blender दृश्य का विश्लेषण करने और उन वस्तुओं की पहचान करने के लिए कहें जिनकी पॉलीगॉन संख्या उनके ऑन-स्क्रीन आकार के सापेक्ष अधिक है, जैसे कि कक्षा डेमो में आउटलायर का पता लगाना।
- डेटा-ब्लॉक का नाम बदलना — सहायक से वर्तमान फ़ाइल में सभी डेटा-ब्लॉक के लिए टाइपो सुधारने या वर्णनात्मक नाम सुझाने के लिए कहें, और आपकी स्वीकृति के बाद ही परिवर्तन लागू करें।
- प्राकृतिक भाषा में दृश्य प्रश्न — वस्तु संबंधों के बारे में प्रश्न पूछें, जैसे "कौन सी वस्तुएँ 'pebbles' सामग्री का उपयोग कर रही हैं?" या दृश्य में सबसे अधिक पॉलीगॉन संख्या वाली वस्तु की पहचान करें।
- ज्योमेट्री नोड्स दस्तावेज़ीकरण — मुख्य ज्योमेट्री नोड्स सेटअप का स्पष्टीकरण प्राप्त करें, जिसमें इनलाइन फ्रेम दस्तावेज़ीकरण और विश्लेषण का सारांश देने वाला एक टेक्स्ट डेटा-ब्लॉक शामिल हो।
- दृश्य डिबगिंग — गैर-समान रूप से स्केल किए गए मेश, खराब नॉर्मल, या आर्मेचर के साथ सही ढंग से विकृत न होने वाली वस्तुओं जैसी समस्याओं के समाधान में सहायता प्राप्त करें।
दस्तावेज़
ब्लेंडर के लिए एक हल्का MCP (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) सर्वर। यह ब्लेंडर के Python API के साथ एक प्राकृतिक भाषा इंटरफ़ेस प्रदान करता है, दस्तावेज़ीकरण तक पहुँच में सुधार करता है, और उपयोगकर्ताओं को जटिल सेटअपों को समझने और अन्वेषण करने की अनुमति देता है।
वास्तुकला के बारे में तकनीकी विवरण और दस्तावेज़ीकरण के लिए स्रोत कोड देखें।
[!warning] चेतावनी सुरक्षा चेतावनी
MCP सर्वर ब्लेंडर में LLM द्वारा उत्पन्न कोड को बिना किसी सुरक्षा उपाय के निष्पादित करेगा, जो आपके डेटा को हटाने या दूरस्थ स्थान पर भेजे जाने से सुरक्षित नहीं करता। अपने डेटा को सुरक्षित रखने के लिए वर्चुअल मशीन या संवेदनशील जानकारी तक पहुँच के बिना सिस्टम का उपयोग करने की अनुशंसा की जाती है।
स्थापना
ब्लेंडर में LLM से कनेक्ट करने के लिए कोई अंतर्निहित कार्यक्षमता नहीं है।
ब्लेंडर को LLM से कनेक्ट करने के लिए, तीन बाहरी उपकरणों को मैन्युअल रूप से डाउनलोड, इंस्टॉल और चलाना होगा।
ऐड-ऑन
अपने ब्लेंडर सत्र के साथ इंटरैक्ट करने के लिए आपको MCP सर्वर एकीकरण के लिए एक विशिष्ट ऐड-ऑन स्थापित करना होगा।
…या डाउनलोड करें और डिस्क से इंस्टॉल करें
यदि आप ब्लेंडर में ड्रैग और ड्रॉप करते हैं तो आपको इसे दो बार करना होगा। पहले Blender Lab रिपॉजिटरी जोड़ने के लिए, दूसरे ऐड-ऑन को स्वयं स्थापित करने के लिए। यह विधि आपको इस ऐड-ऑन का नया संस्करण उपलब्ध होने पर अपडेट सूचनाएँ प्राप्त करने की अनुमति देती है।
LLM क्लाइंट
MCP सर्वर एक अच्छी तरह से परिभाषित मानक का पालन करते हैं और कई क्लाइंटों के साथ संगत हैं। कृपया LLama.cpp दस्तावेज़ीकरण का पालन करें, या अपनी पसंद का LLM क्लाइंट स्थापित करें।
MCP सर्वर
अपने LLM क्लाइंट की क्षमताओं के आधार पर MCP सर्वर स्थापित करने के विभिन्न तरीके हैं।
- MCP बंडल: नए क्लाइंटों के लिए जो
.mcpbफ़ाइलों का समर्थन करते हैं, रिलीज़ पृष्ठ से नवीनतम पैकेज डाउनलोड करें। Llama.cpp अभी तक इसका समर्थन नहीं करता है। - MCP सर्वर: स्रोत कोड से स्थापित करने के लिए Llama.cpp दस्तावेज़ीकरण या सेटअप निर्देश देखें।
चलाना
एक बार जब आप अपने LLM क्लाइंट में अपना MCP सर्वर सेटअप कर लेते हैं, तो आप अपने ब्लेंडर दृश्यों का अन्वेषण शुरू कर सकते हैं।

llama.cpp वेब इंटरफ़ेस जो blender-mcp सर्वर चला रहा है।
उदाहरण 1: दृश्य विश्लेषण
MCP का उपयोग प्रदर्शन बाधाओं के लिए दृश्य का प्रोग्रामेटिक रूप से विश्लेषण करने के लिए किया जा सकता है। उदाहरण के लिए क्लासरूम डेमो फ़ाइल लें:

क्लासरूम डेमो फ़ाइल।
यह दृश्य ब्लेंडर बेंचमार्क फ़ाइलों में से एक है। इन फ़ाइलों के बेंचमार्क में होने का कारण यह है कि वे कलाकारों द्वारा बनाई गई वास्तविक उत्पादन फ़ाइलों का अच्छा प्रतिनिधित्व करती हैं। और यह कोई आश्चर्य की बात नहीं है कि इसमें ऐसी वस्तुएँ हो सकती हैं जो अनुकूलन के लिए प्रवण हों।
जबकि बहुभुज गिनती की जाँच करना अक्सर पर्याप्त होता है, और भी दिलचस्प है अंतिम रेंडर में उनके आकार के आधार पर बहुभुजों की संख्या को प्लॉट करना। यह निम्नलिखित प्रॉम्प्ट से प्राप्त किया जा सकता है।
Analyze the scene and list the outliers: objects with highest polygon count but smaller size from the camera point of view.
प्लॉट किया गया परिणामी डेटा स्पष्ट रूप से दो वस्तुओं को दिखाता है जो बाकी से अलग हैं: alphabet और coat 1:

क्लासरूम डेमो दृश्य के लिए प्रति स्क्रीन क्षेत्र पॉलीकाउंट का ग्राफ विश्लेषण।
alphabet ऑब्जेक्ट में 20k बहुभुज हैं। इसकी सपाट व्यवस्था के कारण इसे अंतिम परिणाम के लिए थोड़ी हानि के साथ एक बनावट से बदला जा सकता है। coat 1 ऑब्जेक्ट में इसके Subsurf मॉडिफायर के कारण 37k बहुभुज हैं। उपखंड स्तर को कम करने से दृश्य को हल्का किया जा सकता है, यदि मेमोरी आपके सिस्टम में बाधा थी।

वर्णमाला दृश्य के पीछे बैठती है और आसानी से एक बनावट से बदली जा सकती है। कोट भी काफी दूर है कि इसकी जाली को सरल बनाया जा सकता है।
[!info] जानकारी ये परिणाम कितने विश्वसनीय हैं?
LLM द्वारा लौटाया गया प्रारंभिक विश्लेषण केवल उन मॉडिफायरों पर विचार करता था जो व्यूपोर्ट को प्रभावित करते थे।
coat 1ऑब्जेक्ट में एक Solidify मॉडिफायर है जो इसकी पॉली गिनती को दोगुना कर देता है, जिससे यह और भी अधिक बाहरी हो जाता है। और हालाँकि इस दृश्य में Simplify सक्षम नहीं था, ये सेटिंग्स अंतिम विश्लेषण को भी प्रभावित करतीं।
उदाहरण 2: विभिन्न प्रॉम्प्ट
ये कुछ अन्य परीक्षण किए गए उपयोग के मामले हैं। उन्हें काम करने के लिए आपको पूरी "प्रॉम्प्ट" सामग्री पेस्ट करनी होगी। शुरुआती बिंदु के रूप में आपको संबंधित डेमो फ़ाइल का उपयोग करना चाहिए। ऑपरेशन की सफलता उपयोग किए गए मॉडल पर निर्भर करेगी।
| उपयोग का मामला | प्रॉम्प्ट | डेमो फ़ाइल | परिणाम |
|---|---|---|---|
| डेटा-ब्लॉक नामकरण: टाइपो सुधार | 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 |
| डेटा-ब्लॉक नामकरण: बेहतर नाम | 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, … |
| प्राकृतिक भाषा का उपयोग करके डेटा संबंधों की क्वेरी | Which objects are using the following material: pebbles | Scattering Pebbles | 7 objects: GEO-pebble, GEO-pebble.001, GEO-pebble.002, GEO-pebble.003, GEO-pebble.004, GEO-pebble.005, GEO-pebble.006 |
| दृश्य डिबगिंग | 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 with 4,096 faces. |
| ज्योमेट्री नोड्स दस्तावेज़ीकरण | 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 major color-coded frames + text file with explanation. |
अन्य प्रॉम्प्ट जिन्हें अभी तक खोजा जाना है:
- सभी डेटा-ब्लॉकों का फ्रेंच से अंग्रेजी में अनुवाद करें।
- मेरी जाली मेरे आर्मेचर द्वारा विकृत नहीं हो रही है, मैं इसे कैसे ठीक कर सकता हूँ?
- ब्लेंडर इस दृश्य को रेंडर करते समय मेमोरी से बाहर चल रहा है, मैं इसे कैसे अनुकूलित कर सकता हूँ?
- इस जाली में अजीब छायांकन कलाकृतियाँ हैं, मैं इसे कैसे ठीक कर सकता हूँ?
- ऐसी वस्तुएँ खोजें जिनमें खराब नॉर्मल वाली जाली हों।
- मेरे दृश्य में गैर-समान रूप से रूपांतरित जाली वस्तुओं की जाँच करें।
- मेरे द्वारा निर्यात किया गया वीडियो मेरे वेब ब्राउज़र में नहीं चलता, मुझे कौन सी सेटिंग्स बदलनी चाहिए?
- पेड़ की शाखाओं को बनाने और विवरण देने के लिए मुझे कौन से स्कल्प्ट ब्रश का उपयोग करना चाहिए?
- अपनी छवि को SDR और HDR दोनों के रूप में सहेजने के लिए कंपोज़िटिंग नोड्स सेट करें।
- इस चेकलिस्ट को सत्यापित करें: जाली मैनिफोल्ड होनी चाहिए, सभी वस्तुओं में सामग्री होनी चाहिए, नामकरण सम्मेलन का पालन करना चाहिए, कोई पूर्ण पथ नहीं, … डेटा-ब्लॉक नामकरण: टाइपो सुधार
GRP-rocks → GRP-pebbles (दृश्य में केवल कंकड़ वस्तुएँ हैं, चट्टानें नहीं)।
LGT-Lights → LGT-lights (असंगत केसिंग)।
Compositing Nodetree → Compositing Node Tree (Nodetree एक यौगिक शब्द त्रुटि है)।
डेटा-ब्लॉक नामकरण: बेहतर नाम
ऑब्जेक्ट:
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
लाइट डेटा-ब्लॉक:
Area→LGT-sun-keyArea.001→LGT-sun-fillArea.002→LGT-area-rim
कैमरा डेटा-ब्लॉक:
Camera→CAM-main
बनावट:
Texture→TEX-ground-cloudsTexture.001→TEX-ground-image
दृश्य और विश्व:
World→WLD-environmentScene→SCN-mainज्योमेट्री नोड्स दस्तावेज़ीकरण
नए फ्रेम बनाए गए:

ज्योमेट्री नोड्स सेटअप में जोड़े गए दस्तावेज़ीकरण फ्रेम।
टेक्स्ट डेटा-ब्लॉक:
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.