Blender MCP
resmiBlender için hafif bir MCP (Model Context Protocol) sunucusu. Blender'ın Python API'si ile doğal dil arayüzü sunarak dokümantasyona erişimi iyileştirir ve kullanıcıların karmaşık kurulumları keşfetmesine ve anlamasına olanak tanır.
Blender MCP ile neler yapabilirsiniz?
- Sahne performansı analizi — Yapay zekâdan açık Blender sahnesini analiz etmesini ve ekran boyutlarına göre yüksek poligon sayısına sahip nesneleri tespit etmesini isteyin; sınıf demosundaki aykırı değer tespiti gibi.
- Veri bloğu yeniden adlandırma — Asistanın geçerli dosyadaki tüm veri bloklarındaki yazım hatalarını düzeltmesini veya açıklayıcı adlar önermesini sağlayın; değişiklikleri yalnızca onayınızdan sonra uygulayın.
- Doğal dil sahne sorguları — Nesne ilişkileri hakkında sorular sorun; örneğin "Hangi nesneler 'pebbles' malzemesini kullanıyor?" veya sahnedeki en yüksek poligon sayısına sahip nesneyi belirleyin.
- Geometry Nodes dokümantasyonu — Ana geometry nodes kurulumunun açıklamasını isteyin; satır içi çerçeve dokümantasyonu ve analizi özetleyen bir metin veri bloğu ile birlikte.
- Sahne hata ayıklama — Düzgün olmayan ölçeklendirilmiş ağlar, bozuk normaller veya armaturlerle doğru deforme olmayan nesneler gibi sorunları gidermede yardım alın.
Dokümantasyon
Blender için hafif bir MCP (Model Context Protocol) sunucusu. Blender'ın Python API'si ile doğal dil arayüzü sunar, dokümantasyona erişimi geliştirir ve kullanıcıların karmaşık kurulumları keşfetmesine ve anlamasına olanak tanır.
Mimari hakkında teknik detaylar ve dokümantasyon için kaynak koda göz atın.
[!warning] Uyarı Güvenlik Uyarısı
MCP sunucusu, Blender'da LLM tarafından üretilen kodu, verilerinizin silinmesine veya uzak bir konuma gönderilmesine karşı hiçbir koruma olmadan çalıştıracaktır. Verilerinizi güvende tutmak için sanal bir makine veya hassas bilgilere erişimi olmayan bir sistem kullanmanız önerilir.
Kurulum
Blender'da LLM'lere bağlanmak için yerleşik bir işlevsellik yoktur.
Blender'ın LLM'lere bağlanabilmesi için üç harici aracın manuel olarak indirilmesi, kurulması ve çalıştırılması gerekir.
Eklenti
Blender oturumunuzla etkileşim kurmak için MCP Sunucusu entegrasyonuna özel bir eklenti kurmanız gerekir.
…veya indirin ve Diskten Kurun
Blender'a sürükleyip bırakırsanız bunu iki kez yapmanız gerekecektir. Önce Blender Lab deposunu eklemek için, ardından eklentinin kendisini kurmak için. Bu yöntem, bu eklentinin yeni bir sürümü mevcut olduğunda güncelleme bildirimleri almanızı sağlar.
LLM İstemcisi
MCP Sunucuları iyi tanımlanmış bir standarda uyar ve çok sayıda istemciyle uyumludur. Lütfen LLama.cpp dokümantasyonunu takip edin veya tercih ettiğiniz bir LLM istemcisi kurun.
MCP Sunucusu
LLM istemcinizin yeteneklerine bağlı olarak MCP Sunucusunu kurmanın farklı yolları vardır.
- MCP Paketi:
.mcpbdosyalarını destekleyen daha yeni istemciler için, sürüm sayfasından en son paketi indirin. Llama.cpp bunu henüz desteklemiyor. - MCP Sunucusu: Kaynak koddan kurmak için Llama.cpp dokümantasyonuna veya kurulum talimatlarına bakın.
Çalıştırma
MCP Sunucunuzu LLM İstemcinizde kurduktan sonra Blender sahnelerinizi keşfetmeye başlayabilirsiniz.

blender-mcp sunucusunu çalıştıran llama.cpp web arayüzü.
Örnek 1: Sahne Analizi
MCP, sahneyi performans darboğazları açısından programatik olarak analiz etmek için kullanılabilir. Örneğin Classroom demo dosyasını ele alalım:

Classroom demo dosyası.
Bu sahne, Blender benchmark dosyalarından biridir. Bu dosyaların benchmark'ta olmasının nedeni, sanatçılar tarafından oluşturulan gerçek üretim dosyalarının iyi bir temsili olmalarıdır. Ve optimize edilmeye yatkın nesneler içerebileceği şaşırtıcı değildir.
Poligon sayısını kontrol etmek genellikle yeterli olsa da, poligon sayısını son render'da ne kadar büyük göründüklerine göre çizmek daha da ilginçtir. Bu, aşağıdaki komutla elde edilebilir.
Analyze the scene and list the outliers: objects with highest polygon count but smaller size from the camera point of view.
Çizilen sonuç verileri, geri kalanından sıyrılan iki nesneyi açıkça gösterir: alphabet ve coat 1:

Classroom demo sahnesi için ekran alanı başına poligon sayısının grafik analizi.
alphabet nesnesi 20 bin poligona sahiptir. Düz yapısı nedeniyle, nihai sonuçta çok az kayıpla bir doku ile değiştirilebilir. coat 1 nesnesi, Subsurf değiştiricisi nedeniyle 37 bin poligona sahiptir. Alt bölüm seviyesini düşürmek, sisteminizde bellek darboğazıysa sahneyi hafifletebilir.

Alfabe sahnenin arkasında yer alır ve kolayca bir doku ile değiştirilebilir. Ceket de ağı basitleştirilebilecek kadar uzaktadır.
[!info] Bilgi Bu sonuçlar ne kadar güvenilir?
LLM tarafından döndürülen ilk analiz yalnızca görünüm penceresini etkileyen değiştiricileri dikkate aldı.
coat 1nesnesi, poligon sayısını ikiye katlayan ve onu daha da aykırı bir değer haline getiren bir Solidify değiştiricisine sahiptir. Ve bu sahnede Simplify etkin olmasa da, bu ayarlar nihai analizi de etkilemiş olurdu.
Örnek 2: Çeşitli Komutlar
Bunlar test edilen diğer kullanım durumlarından bazılarıdır. Çalışmaları için "Komut" içeriğinin tamamını yapıştırmanız gerekecektir. Başlangıç noktası olarak ilgili demo dosyasını kullanmalısınız. İşlemin başarısı kullanılan modele bağlı olacaktır.
| Kullanım Durumu | Komut | Demo Dosyası | Sonuç |
|---|---|---|---|
| Veri bloğu yeniden adlandırma: yazım hatalarını düzeltme | 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 |
| Veri bloğu yeniden adlandırma: daha iyi adlar | 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, … |
| Doğal dil kullanarak veri ilişkilerini sorgulama | Which objects are using the following material: pebbles | Scattering Pebbles | 7 nesne: GEO-pebble, GEO-pebble.001, GEO-pebble.002, GEO-pebble.003, GEO-pebble.004, GEO-pebble.005, GEO-pebble.006 |
| Sahne hata ayıklama | What is the object with the highest poly-count on this file? Ignore objects which are not linked to any scene. | Scattering Pebbles | 4.096 yüzlü GEO-ground. |
| Geometry Nodes Dokümantasyonu | 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 büyük renk kodlu çerçeve + açıklamalı metin dosyası. |
Henüz keşfedilmemiş diğer komutlar:
- Tüm veri bloklarını Fransızcadan İngilizceye çevirin.
- Mesh'im armature tarafından deforme edilmiyor, bunu nasıl düzeltebilirim?
- Blender bu sahneyi render ederken bellek tükeniyor, bunu nasıl optimize edebilirim?
- Bu mesh'te garip gölgeleme artefaktları var, bunu nasıl düzeltebilirsiniz?
- Normalleri bozuk mesh'lere sahip nesneleri bulun.
- Sahneyi tekdüze olmayan dönüşümlere sahip mesh nesneleri için kontrol edin.
- Dışa aktardığım video web tarayıcılarımda oynatılmıyor, hangi ayarları değiştirmeliyim?
- Ağaç dalları oluşturmak ve detaylandırmak için hangi heykel fırçalarını kullanmalıyım?
- Görüntümü hem SDR hem de HDR olarak kaydetmek için kompozit düğümleri ayarlayın.
- Bu kontrol listesini doğrulayın: mesh'ler manifold olmalı, tüm nesneler materyallere sahip olmalı, adlandırma kurala uymalı, mutlak yollar olmamalı, … Veri bloğu yeniden adlandırma: yazım hatalarını düzeltme
GRP-rocks → GRP-pebbles (sahne yalnızca çakıl nesneleri içerir, kayalar değil).
LGT-Lights → LGT-lights (tutarsız büyük/küçük harf kullanımı).
Compositing Nodetree → Compositing Node Tree (Nodetree birleşik kelime hatasıdır).
Veri bloğu yeniden adlandırma: daha iyi adlar
Nesneler:
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
Işık Veri Blokları:
Area→LGT-sun-keyArea.001→LGT-sun-fillArea.002→LGT-area-rim
Kamera Veri Bloğu:
Camera→CAM-main
Dokular:
Texture→TEX-ground-cloudsTexture.001→TEX-ground-image
Sahne ve Dünya:
World→WLD-environmentScene→SCN-mainGeometry Nodes Dokümantasyonu
Oluşturulan Yeni Çerçeveler:

Geometry nodes kurulumuna eklenen dokümantasyon çerçeveleri.
Metin Veri Bloğu:
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.