Servidor MCP de Blender
Un servidor de Protocolo de Contexto de Modelo (MCP) para administrar y ejecutar scripts de Blender.
Características
- Agregar, editar, ejecutar y eliminar scripts de Python de Blender
- Ejecutar scripts en un entorno Blender sin interfaz gráfica
- Ver resultados de ejecución y errores
- Metadatos del script de seguimiento (fecha de creación, última modificación, número de ejecuciones)
Requisitos
- Python 3.7+
- Blender instalado y accesible
- Biblioteca MCP (
pip install mcp
)
Uso
- Iniciar el servidor:
- Conéctese al servidor mediante un cliente MCP (como Claude Desktop)
- Utilice las herramientas proporcionadas para administrar scripts:
add_script(name, content)
- Agregar un nuevo scriptedit_script(name, content)
- Editar un script existenteexecute_script(name, blend_file=None)
- Ejecuta un script en Blender, especificando opcionalmente un archivo .blendremove_script(name)
- Eliminar un script
- Acceda a recursos para obtener información:
scripts://list
- Obtener la lista de scripts disponiblesscript://{name}
- Obtener el contenido de un script específicoresult://{name}
- Obtener el resultado de la ejecución de un script
Ejemplos
Ejemplo básico
# Add a simple script
add_script("hello_cube", '''
import bpy
# Clear existing objects
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()
# Create a cube
bpy.ops.mesh.primitive_cube_add(size=2, location=(0, 0, 0))
print("Cube created!")
''')
# Execute the script
execute_script("hello_cube")
# Get the result
# Access using: result://hello_cube
Trabajar con archivos Blend
# Add a script that works with a blend file
add_script("analyze_scene", '''
import bpy
# Print information about the current scene
print(f"Current Blender version: {bpy.app.version_string}")
print(f"Current file: {bpy.data.filepath}")
# List all objects in the scene
print("\\nObjects in the scene:")
for obj in bpy.data.objects:
print(f" - {obj.name} ({obj.type})")
''')
# Execute with a specific blend file
execute_script("analyze_scene", blend_file="/path/to/your/project.blend")
# Get the result
# Access using: result://analyze_scene
Cómo funciona
- Cuando se agrega un script, se almacena en el directorio
script_files/scripts
- Cuando se ejecuta, el script se ejecuta en una instancia de Blender sin cabeza.
- Si se especifica un archivo de mezcla, Blender abrirá ese archivo antes de ejecutar el script
- De lo contrario, se utiliza una escena de Blender vacía predeterminada.
- La salida y los errores se capturan y almacenan en el directorio
script_files/results
- Los metadatos sobre los scripts se rastrean en
script_files/metadata.json
Instalación
- Clonar este repositorio
- Instalar la biblioteca MCP:
pip install mcp
- Asegúrese de que Blender esté instalado y sea accesible desde su PATH
Licencia
Instituto Tecnológico de Massachusetts (MIT)