blender_mcp_pro
⚠️ Nota: El servidor no se iniciará hasta que se configure un Auth Token válido en las preferencias del complemento.
Blender MCP Pro
Blender MCP Pro es un complemento compacto para Blender que expone un servidor de comandos local seguro (estilo MCP) para inspección de escenas, integraciones con proveedores, bloqueos de personajes y props, y layouts de entornos simples.
El código es intencionadamente pequeño y enfocado en un transporte seguro, edición de geometría y flujos de trabajo depurables. No implementa aún visión avanzada, orquestación autónoma ni pipelines de producción completos.
Tabla de Contenidos
- Blender MCP Pro
- Tabla de Contenidos
- Estructura del Repositorio
- Modelo de Seguridad
- Quick Start
- Architecture
- Image-Guided Character Workflow
- Multipurpose Scope
- Supported MCP Tools
- Instalación
- Uso Seguro
- Puente MCP STDIO
- Smoke Test
- End-to-End Test
- Modelo de Comandos
- Workflows
- Integraciones con Proveedores
- Limitaciones Actuales
- Estado Actual
- Token de Autenticación
Estructura del Repositorio
blender-mcp-pro/
├── .gitignore
├── LICENSE
├── README.md
├── SECURITY.md
├── client/
│ ├── blender_client.py
│ ├── mcp_adapter.py
│ └── smoke_test.py
└── blender_mcp_pro/
├── __init__.py
├── addon.py
├── server.py
├── protocol.py
├── dispatcher.py
├── integrations.py
├── file_ops.py
└── character_tools.py
Descripción de archivos principales:
__init__.py: Entrada del paquete, exponebl_info,register,unregister.addon.py: UI, preferencias, operadores, registro.server.py: Ciclo de vida del socket, autenticación, logging.protocol.py: Validación, framing NDJSON, límites de tamaño.dispatcher.py: Router seguro, builders de props/entorno.integrations.py: Lógica HTTP para proveedores externos.file_ops.py: Seguridad de archivos, descargas, importación.character_tools.py: Herramientas de personajes y materiales.client/blender_client.py: Cliente TCP pequeño para autenticarse y enviar comandos al backend de Blender.client/mcp_adapter.py: Puente MCP por STDIO para clientes compatibles como Copilot/Codex.client/smoke_test.py: Smoke test local para validar auth y comandos básicos contra el backend TCP.
Modelo de Seguridad
- Modo local (por defecto): solo acepta conexiones de
127.0.0.1. - Modo LAN whitelist (opcional): requiere habilitación manual y lista de IPs/subredes permitidas.
- Token de autenticación obligatorio para todos los clientes.
- Validación estricta de mensajes y límites de tamaño.
- Restricción de rutas de archivos y capturas.
- Logging de admisiones y rechazos en
~/BlenderMCP/audit.log.
Modo Local
- El servidor escucha en
127.0.0.1. - Solo acepta clientes locales.
- El token sigue siendo obligatorio.
Modo LAN Whitelist (opcional)
-
Deshabilitado por defecto.
-
Debe habilitarse manualmente en las preferencias del complemento.
-
Requiere al menos una IP o subred CIDR permitida.
-
El token sigue siendo obligatorio para cada cliente.
-
No existe modo de acceso público a Internet.
Ejemplos:
- IPs permitidas:
192.168.1.10,192.168.1.25 - Subredes permitidas:
192.168.1.0/24,10.0.0.0/24
Para detalles completos de seguridad, ver SECURITY.md.
Quick Start
- Instala el ZIP del complemento
blender_mcp_proen Blender. - Activa el add-on
Blender MCP. - Configura un
Auth Tokenen las preferencias del complemento. - Inicia el servidor desde el panel del add-on en Blender.
- En una terminal PowerShell dentro de este repositorio, define:
$env:BLENDER_HOST = "127.0.0.1"
$env:BLENDER_PORT = "9876"
$env:BLENDER_TOKEN = "tu_token"
- Ejecuta el bridge MCP:
python client/mcp_adapter.py
- Haz el primer smoke test con
get_scene_info. - Haz el primer test con cambio real de escena con
create_prop_blockout.
Smoke test mínimo:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"quick-start","version":"0.0.0"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_scene_info","arguments":{}}}
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"create_prop_blockout","arguments":{"prop_type":"table","collection_name":"MCP_QuickStart_Props"}}}
Architecture
El flujo actual queda así:
Copilot / Codex MCP Client
|
v
client/mcp_adapter.py
(MCP STDIO bridge)
|
v
client/blender_client.py
(TCP auth client)
|
v
blender_mcp_pro add-on
(Blender backend + TCP server + command execution)
Responsabilidades:
blender_mcp_prodentro de Blender: UI, preferencias, token, validación de red y ejecución real de comandos.client/blender_client.py: autenticación y llamadas al backend TCP existente.client/mcp_adapter.py: servidor MCP STDIO compatible con clientes como Copilot/Codex.- cliente MCP externo: inicia el bridge y consume tools MCP estándar.
Image-Guided Character Workflow
El bridge MCP ahora expone una pipeline práctica para creación de personajes estilizados guiados por imágenes de referencia, siempre sobre el backend actual de Blender.
Soportado ahora:
- carga de referencias con
load_character_references - blockout base con
create_character_blockout - pelo estilizado con
build_character_hair - rasgos faciales con
build_character_face - materiales base con
apply_character_materials - capturas de revisión con
capture_character_review - comparación heurística con referencias con
compare_character_with_references - ajustes proporcionales con
apply_character_proportion_fixes - una secuencia compacta de orquestación con
create_character_from_references
Importante: esto permite una workflow guiada por referencia para un personaje estilizado, pero no hace reconstrucción automática completa desde imagen a malla final.
No soportado aún:
- reconstrucción automática completa image-to-3D
- reconstrucción avanzada basada en ML/visión
- retopología automática o generación final de producción desde fotos
La herramienta create_character_from_references solo encadena pasos Blender ya implementados:
- cargar referencias
- crear blockout
- generar pelo
- generar cara
- aplicar materiales
Multipurpose Scope
El proyecto sigue siendo multipropósito. El bridge MCP está organizado por dominios:
character: referencias, blockout, pelo, cara, materiales y workflow compuestoprops: blockouts rápidos de propsenvironment: layouts rápidos de entornoreview/refinement: inspección de escena, capturas, comparación y correcciones proporcionalesintegrations: estado y utilidades de Poly Haven / texturas ya soportadas por el backend
Esto mantiene el add-on útil para personajes, props y entornos, en lugar de convertirlo en una herramienta de un solo caso de uso.
Supported MCP Tools
Actualmente el bridge MCP expone estas herramientas locales:
Character
load_character_referencesclear_character_referencescreate_character_blockoutapply_character_symmetrybuild_character_hairbuild_character_faceapply_character_materialscreate_character_from_references
Props
create_prop_blockoutapply_prop_materials
Environment
create_environment_layoutapply_environment_materialscreate_shop_scene
Review / Refinement
get_scene_infoget_object_infocapture_character_reviewcompare_character_with_referencesapply_character_proportion_fixesreview_and_fix_character
Integrations
get_polyhaven_statussearch_polyhaven_assetsdownload_polyhaven_assetset_texture
Implementado hoy:
- backend local en Blender
- bridge MCP STDIO
- workflows prácticos de personaje, props y entorno
- revisión y refinamiento básicos
- algunas integraciones existentes del backend, como Poly Haven
No implementado hoy:
- reconstrucción automática completa image-to-3D
- visión avanzada tipo foundation model para inferir una malla final desde fotos
- servicios cloud obligatorios o complejidad remota adicional
Instalación
Requisitos:
- Blender 3.x o superior
- ZIP con la carpeta del paquete
blender_mcp_pro/
Estructura esperada del ZIP:
blender_mcp_pro.zip
└── blender_mcp_pro/
├── __init__.py
├── addon.py
└── ...
Pasos:
- Abre Blender.
- Ve a
Edit > Preferences > Add-ons. - Haz clic en
Install...y selecciona el ZIP. - Activa el complemento.
- Configura el Auth Token en las preferencias antes de iniciar el servidor.
Solución de errores comunes:
- El ZIP debe contener la carpeta del paquete, no archivos sueltos.
- La carpeta debe tener
__init__.pyy un nombre válido. - Elimina instalaciones previas rotas antes de reinstalar.
Uso Seguro
Mismo PC
- Mantén el modo local habilitado.
- Genera y configura un Auth Token.
- Inicia el servidor desde el panel de Blender.
- Conecta el cliente MCP local usando
127.0.0.1:<puerto>y el token.
LAN (opcional)
- Genera/rota el Auth Token.
- Habilita el modo LAN whitelist.
- Añade IPs/subredes permitidas.
- Inicia/reinicia el servidor.
- Conecta desde otra máquina usando la IP LAN y el token.
- Deshabilita el modo LAN al terminar.
Nunca expongas el servidor a Internet ni uses port forwarding.
Puente MCP STDIO
El complemento blender_mcp_pro sigue siendo el backend dentro de Blender. Su responsabilidad es:
- exponer el servidor TCP local autenticado
- validar red/token
- ejecutar comandos de escena en el hilo principal de Blender
Ese backend no es MCP nativo para Copilot/Codex porque habla un protocolo NDJSON propio sobre socket TCP (auth + command) en lugar de MCP estándar por STDIO y JSON-RPC.
Para resolverlo, el repositorio ahora incluye client/mcp_adapter.py, un puente MCP compacto que:
- corre como servidor MCP por STDIO
- lee
BLENDER_HOST,BLENDER_PORTyBLENDER_TOKEN - se conecta al backend TCP ya existente del complemento
- autentica primero
- traduce
tools/callde MCP a los comandos actuales de Blender
Herramientas MCP expuestas inicialmente:
get_scene_infoget_object_infoload_character_referencesclear_character_referencescreate_character_blockoutapply_character_symmetrybuild_character_hairbuild_character_faceapply_character_materialscapture_character_reviewcompare_character_with_referencesapply_character_proportion_fixescreate_character_from_referencescreate_prop_blockoutapply_prop_materialscreate_environment_layoutapply_environment_materialsget_polyhaven_statussearch_polyhaven_assetsdownload_polyhaven_assetset_texturereview_and_fix_charactercreate_shop_scene
Uso
- Instala y habilita el complemento en Blender.
- Configura el Auth Token en preferencias.
- Inicia el servidor desde el panel del complemento.
- Configura tu cliente MCP para lanzar:
python client/mcp_adapter.py
con estas variables de entorno:
$env:BLENDER_HOST = "127.0.0.1"
$env:BLENDER_PORT = "9876"
$env:BLENDER_TOKEN = "tu_token"
El detalle exacto de configuración depende del cliente MCP, pero la idea es siempre la misma: Copilot/Codex debe arrancar este proceso STDIO, y este proceso reenviará cada tool call al servidor TCP autenticado del add-on.
Smoke Test
El repositorio incluye client/smoke_test.py para validar rápidamente el backend TCP local sin depender de un cliente MCP externo.
Variables usadas:
$env:BLENDER_HOST = "127.0.0.1"
$env:BLENDER_PORT = "9876"
$env:BLENDER_TOKEN = "tu_token"
Ejecutar smoke test básico:
python client/smoke_test.py
Esto hace:
- auth contra el backend TCP de Blender
get_scene_infocreate_prop_blockout
Para incluir también un test de personaje:
python client/smoke_test.py --with-character
El script imprime PASS o FAIL por paso para que el primer diagnóstico local sea rápido.
End-to-End Test
Pasos exactos para validar el flujo completo cliente MCP -> bridge STDIO -> backend TCP de Blender -> cambio en escena:
- Inicia Blender.
- Activa el complemento
Blender MCP. - Abre el panel del complemento y pulsa
Start Server. - En una terminal PowerShell, sitúate en este repositorio.
- Define las variables de entorno que usa el bridge:
$env:BLENDER_HOST = "127.0.0.1"
$env:BLENDER_PORT = "9876"
$env:BLENDER_TOKEN = "tu_token"
- Lanza el adaptador MCP por STDIO:
python client/mcp_adapter.py
- Desde tu cliente MCP, envía primero
initialize, luegonotifications/initialized, y después un primer smoke test contools/callsobreget_scene_info.
Ejemplo mínimo por STDIO:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"manual-test","version":"0.0.0"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_scene_info","arguments":{}}}
- Para verificar un cambio real en la escena, usa después:
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"create_prop_blockout","arguments":{"prop_type":"table","collection_name":"MCP_Test_Props"}}}
Si todo está bien:
get_scene_infodevolverá el resumen de la escenacreate_prop_blockoutdevolverásuccess: true- en Blender aparecerá la colección y los objetos creados
Para depuración, el bridge escribe logs en stderr. Puedes subir el detalle con:
$env:BLENDER_MCP_BRIDGE_LOG = "DEBUG"
Modelo de Comandos
characterpropsenvironment
Workflows
Personajes
Comandos:
load_character_referencescreate_character_blockoutapply_character_symmetrybuild_character_hairbuild_character_faceapply_character_materialscapture_character_reviewcompare_character_with_referencesapply_character_proportion_fixes
Soporta referencias, bloqueos cartoon, simetría, materiales base, capturas y comparaciones heurísticas.
Props
Comandos:
create_prop_blockoutapply_prop_symmetryapply_prop_materials
Tipos soportados: chair, table, crate, weapon.
Entornos
Comandos:
create_environment_layoutapply_environment_materials
Tipos: room, corridor, shop, kiosk.
Integraciones con Proveedores
- Poly Haven
- Sketchfab
- Hyper3D / Rodin
- Hunyuan
Limitaciones Actuales
No implementa aún:
- Visión avanzada o ML
- Orquestación autónoma
- Generación procedural avanzada
- Acceso público o sin autenticación
- Rate limiting, negociación de versión, etc.
Estado Actual
- Arquitectura compacta y segura
- Servidor local y whitelist LAN
- Puente MCP STDIO para compatibilidad con clientes MCP locales
- Workflows básicos de personajes, props y entornos
No es aún una plataforma autónoma de generación 3D.
Token de Autenticación
El servidor requiere un Auth Token compartido para aceptar comandos.
Cómo crear un token:
- Simple:
123456(solo pruebas) - Personalizado:
mcp_secure_token_2026_victor - Aleatorio (recomendado):
En PowerShell:[guid]::NewGuid()
Dónde configurarlo:
En Blender, ve al panel MCP → Preferencias del complemento → campo Auth Token.
Ejemplo de autenticación cliente:
{
"type": "auth",
"token": "mcp_secure_token_2026_victor"
}
Notas de seguridad:
- Nunca publiques tu token.
- Rótalo si habilitas modo LAN.
- Usa tokens fuertes para múltiples máquinas.
- El token es obligatorio incluso en modo local.