Skip to main content

Blender integration with local AI models via MCP and Ollama

Project description

blender-open-mcp

blender-open-mcp is an open source project that integrates Blender with local AI models (via Ollama) using the Model Context Protocol (MCP). This allows you to control Blender using natural language prompts, leveraging the power of AI to assist with 3D modeling tasks.

Features

  • Control Blender with Natural Language: Send prompts to a locally running Ollama model to perform actions in Blender.
  • MCP Integration: Uses the Model Context Protocol for structured communication between the AI model and Blender.
  • Ollama Support: Designed to work with Ollama for easy local model management.
  • Blender Add-on: Includes a Blender add-on to provide a user interface and handle communication with the server.
  • PolyHaven Integration (Optional): Download and use assets (HDRIs, textures, models) from PolyHaven directly within Blender via AI prompts.
  • Basic 3D Operations:
    • Get Scene and Object Info
    • Create Primitives
    • Modify and delete objects
    • Apply materials
  • Render Support: Render images using the tool and retrieve information based on the output.

Installation

Prerequisites

  1. Blender: Blender 3.0 or later. Download from blender.org.
  2. Ollama: Install from ollama.com, following OS-specific instructions.
  3. Python: Python 3.10 or later.
  4. uv: Install using pip install uv.
  5. Git: Required for cloning the repository.

Installation Steps

  1. Clone the Repository:

    git clone https://github.com/dhakalnirajan/blender-open-mcp.git
    cd blender-open-mcp
    
  2. Create and Activate a Virtual Environment (Recommended):

    uv venv
    source .venv/bin/activate  # On Linux/macOS
    .venv\Scripts\activate  # On Windows
    
  3. Install Dependencies:

    uv pip install -e .
    
  4. Install the Blender Add-on:

    • Open Blender.
    • Go to Edit -> Preferences -> Add-ons.
    • Click Install....
    • Select the addon.py file from the blender-open-mcp directory.
    • Enable the "Blender MCP" add-on.
  5. Download an Ollama Model (if not already installed):

    ollama run llama3.2
    

    (Other models like Gemma3 can also be used.)

Setup

  1. Start the Ollama Server: Ensure Ollama is running in the background.

  2. Start the MCP Server:

    blender-mcp
    

    Or,

    python src/blender_open_mcp/server.py
    

    By default, it listens on http://0.0.0.0:8000, but you can modify settings:

    blender-mcp --host 127.0.0.1 --port 8001 --ollama-url http://localhost:11434 --ollama-model llama3.2
    
  3. Start the Blender Add-on Server:

    • Open Blender and the 3D Viewport.
    • Press N to open the sidebar.
    • Find the "Blender MCP" panel.
    • Click "Start MCP Server".

Usage

Interact with blender-open-mcp using the mcp command-line tool:

Example Commands

  • Basic Prompt:

    mcp prompt "Hello BlenderMCP!" --host http://localhost:8000
    
  • Get Scene Information:

    mcp tool get_scene_info --host http://localhost:8000
    
  • Create a Cube:

    mcp prompt "Create a cube named 'my_cube'." --host http://localhost:8000
    
  • Render an Image:

    mcp prompt "Render the image." --host http://localhost:8000
    
  • Using PolyHaven (if enabled):

    mcp prompt "Download a texture from PolyHaven." --host http://localhost:8000
    

Available Tools

Tool Name Description Parameters
get_scene_info Retrieves scene details. None
get_object_info Retrieves information about an object. object_name (str)
create_object Creates a 3D object. type, name, location, rotation, scale
modify_object Modifies an object’s properties. name, location, rotation, scale, visible
delete_object Deletes an object. name (str)
set_material Assigns a material to an object. object_name, material_name, color
render_image Renders an image. file_path (str)
execute_blender_code Executes Python code in Blender. code (str)
get_polyhaven_categories Lists PolyHaven asset categories. asset_type (str)
search_polyhaven_assets Searches PolyHaven assets. asset_type, categories
download_polyhaven_asset Downloads a PolyHaven asset. asset_id, asset_type, resolution, file_format
set_texture Applies a downloaded texture. object_name, texture_id
set_ollama_model Sets the Ollama model. model_name (str)
set_ollama_url Sets the Ollama server URL. url (str)
get_ollama_models Lists available Ollama models. None

Troubleshooting

If you encounter issues:

  • Ensure Ollama and the blender-open-mcp server are running.
  • Check Blender’s add-on settings.
  • Verify command-line arguments.
  • Refer to logs for error details.

For further assistance, visit the GitHub Issues page.


Happy Blending with AI! 🚀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mseep_blender_open_mcp-0.2.1.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mseep_blender_open_mcp-0.2.1-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file mseep_blender_open_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: mseep_blender_open_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for mseep_blender_open_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e5154efa9b13ab662a6d110bacabaa296ce053b4adb25069d2256eff6b9b4612
MD5 0a4653e3b161b6f01ea9f0d357d18fe7
BLAKE2b-256 017bfa70bf2d3cb94c5ed671cf871e6b57297c7bad74bb57ff20d5775332516c

See more details on using hashes here.

File details

Details for the file mseep_blender_open_mcp-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mseep_blender_open_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cdbdc246f6b013d73ba00523d00cc15e183138bff03df9aba9d0e2670357f2c6
MD5 abfa007e067411692632ba936b210bbb
BLAKE2b-256 62264530095afdad372b250210e117903a6e130d0a5ad7e8c891f4e3acec2f66

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page