Blender Universal & Token-Efficient MCP Server
by domainjon
README.md
# Blender Universal & Token-Efficient MCP Server
Blender 3D bilan ishlashda AI agentlar (**Antigravity**, **Claude Code**, **Cursor**, **Windsurf** va h.k.) uchun maxsus yaratilgan **Universal, Token-tejamkor va Gibrid Model Context Protocol (MCP)** serveri.
Ushbu tizim Blender sahnasini qo'lda boshqarish, murakkab `bpy` skriptlarini yozish va xatolarni taxmin qilish o'rniga, **token sarfini 80-90% gacha tejaydi** va Blender Editor bilan real vaqtda bevosita muloqot qilish imkonini beradi.
---
## 🌟 Asosiy Imkoniyatlar
1. **Gibrid Rejim (Jonli Editor + Oflayn Headless CLI):**
- **Jonli Rejim (Live Editor):** Blender ochilganda TCP soketi (port 8190) orqali bevosita ulanadi. Barcha operatsiyalar Blenderning Main Thread'ida (`bpy.app.timers`) xavfsiz bajariladi.
- **Headless CLI Rejimi:** Agar Blender ochiq bo'lmasa, server to'xtamaydi — `blender -b` buyrug'i orqali fonda xuddi shu operatsiyalarni bajaradi.
2. **Token Tejamkorligi (Smart Outliner & Object Pruning):**
- Minglab vertex va poligonlardan iborat og'ir ma'lumotlar o'rniga LLM uchun eng muhim bo'lgan parametrlar (mesh statistikasi, transformatsiyalar, modifikatorlar va shader materiallari) ixcham formatda taqdim etiladi.
3. **Nol Tashqi Pip Bog'liqligi (Blender ichida Zero Dependencies):**
- Blender ichiga birorta ham qo'shimcha `pip` paket o'rnatish shart emas! Standart Python kutubxonasi (`socket`, `threading`, `bpy`) orqali ishlaydi.
4. **Blender 3D Viewport N-Panel UI:**
- 3D Viewport Sidebar (N) da **MCP Bridge** paneli mavjud: Port sozlash (standart 8190), Start/Stop qilish va ulangan mijozlar monitoringi.
5. **Avtomatlashtirilgan O'rnatish (`install_global.py`):**
- Windows tizimidagi barcha Blender versiyalarini (`%APPDATA%\Blender Foundation\Blender\<ver>\scripts\addons`) avtomatik topib, add-onni to'g'ridan-to'g'ri o'rnatadi hamda Antigravity / AI konfiguratsiyasiga ro'yxatdan o'tkazadi.
---
## 🛠Taqdim Etiladigan Asosiy MCP Vositalari (Tools)
| Vositachi (Tool) | Tavsifi | Rejim |
| :--- | :--- | :--- |
| `blender_ping` | Blender bilan aloqani, ochilgan fayl nomi, faol sahna va versiyani tekshiradi. | Jonli / Oflayn |
| `blender_get_scene_info` | Faol kamera, render dvigateli (Cycles/EEVEE), FPS, kadrlar chegarasi va obyektlar soni. | Gibrid |
| `blender_get_outliner` | Sahnadagi barcha kolleksiyalar va obyektlar iyerarxiyasi (token-tejamkor ixcham format). | Gibrid |
| `blender_inspect_object` | Bitta obyektning koordinatalari, mesh statistikasi, modifikatorlari, materiallari va ota-onasi. | Gibrid |
| `blender_create_object` | Mesh primitivlari (`cube`, `sphere`, `cylinder`, `plane`, `monkey` va h.k.), kamera yoki yorug'lik yaratish. | Gibrid |
| `blender_modify_object` | Obyekt koordinatalari (`location`), burchagi (`rotation`), masshtabi (`scale`), nomi yoki ko'rinishi. | Gibrid |
| `blender_manage_modifiers` | Modifikator qo'shish (`Subsurf`, `Bevel`, `Mirror`, `Boolean`), parametrlarini sozlash yoki o'chirish. | Gibrid |
| `blender_manage_material` | Material yaratish, Principled BSDF parametrlarini sozlash (Rang, Metallik, G'adir-budurlik) va biriktirish. | Gibrid |
| `blender_render_viewport` | Viewport yoki to'liq sahnani tezkor rasmga olib diskda PNG saqlash va fayl yo'lini qaytarish. | Gibrid |
| `blender_export_asset` | Sahnani yoki tanlangan obyektlarni `GLTF/GLB`, `FBX` yoki `OBJ` formatida eksport qilish. | Gibrid |
| `blender_execute_script` | Blender ichida ixtiyoriy Python (`bpy`) skriptini bajarish va stdout/stderr natijasini olish. | Gibrid |
---
## 🚀 1 Daqiqalik O'rnatish Qo'llanmasi
### 1-qadam: Virtual muhit va bog'liqliklarni o'rnatish
Loyiha papkasida terminal ochib:
```powershell
# Virtual muhit yaratish
uv venv
# Bog'liqliklarni o'rnatish
uv pip install -e .
```
### 2-qadam: Global ro'yxatdan o'tkazish va Add-onni o'rnatish
```powershell
python install_global.py
```
Bu skript:
1. Blender Add-onni barcha aniqlangan Blender versiyalarining `scripts/addons` papkasiga avtomatik nusxalaydi.
2. `blender` MCP serverini `~/.gemini/config/mcp_config.json` fayliga ulaydi.
3. Qo'lda o'rnatish uchun `mcp_blender_bridge_addon.zip` paketini yaratadi.
### 3-qadam: Blenderda Add-onni faollashtirish
1. Blenderni oching.
2. **Edit > Preferences > Add-ons** bo'limiga kiring.
3. Qidiruv maydoniga **"MCP Blender Bridge"** deb yozing va qutichani belgilab faollashtiring.
4. 3D Viewportda `N` tugmasini bosing — o'ng tomondagi panelda **"MCP Bridge"** yorlig'ini ko'rasiz! Server avtomatik ravishda 8190 portida faol bo'ladi.
---
## 💡 Foydalanish Misollari
- **Blender holatini tekshirish:**
> "Blender holatini tekshir (blender_ping)"
- **Sahnani ko'rish:**
> "Sahnadagi barcha kolleksiyalar va obyektlarni ko'rsat (blender_get_outliner)"
- **Obyekt yaratish va material berish:**
> "Sahnaga bitta Sphere yarat va unga oltin rangli metall material ber"
- **Rasm olish:**
> "Hozirgi sahnaning renderini ol va rasmni ko'rsat"
- **Ixtiyoriy procedural skript bajarish:**
> "bpy orqali spiral shaklida 20 ta kubik joylashtiradigan skriptni bajar"
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues