Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Blender Open Mcp

    Open Models MCP for Blender Using Ollama

    55 stars
    Python
    Updated Oct 6, 2025
    blender
    blender-addon
    blender3d
    mcp
    mcp-server
    model-context-protocol
    python

    Table of Contents

    • Architecture
    • Installation
    • Prerequisites
    • 1. Clone and set up
    • 2. Install the Blender Add-on
    • 3. Pull an Ollama model
    • Setup
    • Usage
    • MCP Client CLI
    • Python API
    • Claude Desktop / Cursor Integration
    • Available Tools
    • Default Ports
    • Development
    • Troubleshooting
    • License

    Table of Contents

    • Architecture
    • Installation
    • Prerequisites
    • 1. Clone and set up
    • 2. Install the Blender Add-on
    • 3. Pull an Ollama model
    • Setup
    • Usage
    • MCP Client CLI
    • Python API
    • Claude Desktop / Cursor Integration
    • Available Tools
    • Default Ports
    • Development
    • Troubleshooting
    • License

    Documentation

    blender-open-mcp

    Open Models MCP for Blender3D using Ollama

    Control Blender 3D with natural language prompts via local AI models. Built on the Model Context Protocol (MCP), connecting Claude, Cursor, or any MCP client to Blender through a local Ollama LLM.

    ---

    Architecture

    code
    MCP Client (Claude/Cursor/CLI)
             │ HTTP / stdio
             ▼
    ┌─────────────────────┐
    │   FastMCP Server    │  ← server.py  (port 8000)
    │   blender-open-mcp  │
    └─────────────────────┘
        │ TCP socket           │ HTTP
        ▼                      ▼
    ┌──────────────┐    ┌─────────────┐
    │  Blender     │    │   Ollama    │  (port 11434)
    │  Add-on      │    │  llama3.2   │
    │  addon.py    │    │  gemma3...  │
    │  (port 9876) │    └─────────────┘
    └──────────────┘
           │ bpy
           ▼
      Blender Python API

    Three independent processes:

    • FastMCP Server (server.py): Exposes MCP tools over HTTP or stdio
    • Blender Add-on (addon.py): TCP socket server running inside Blender
    • Ollama: Local LLM serving natural language queries

    ---

    Installation

    Prerequisites

    DependencyVersionInstall
    Blender3.0+blender.org
    Python3.10+System or python.org
    OllamaLatestollama.com
    uvLatestpip install uv

    1. Clone and set up

    bash
    git clone https://github.com/dhakalnirajan/blender-open-mcp.git
    cd blender-open-mcp
    
    # Create virtual environment and install
    uv venv
    source .venv/bin/activate   # Linux / macOS
    # .venv\Scripts\activate    # Windows
    
    uv pip install -e .

    2. Install the Blender Add-on

    1. Open Blender

    2. Go to Edit → Preferences → Add-ons → Install...

    3. Select addon.py from the repository root

    4. Enable "Blender MCP"

    5. Open the 3D Viewport, press N, find the Blender MCP panel

    6. Click "Start MCP Server" (default port: 9876)

    3. Pull an Ollama model

    bash
    ollama pull 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:

    bash
    blender-mcp

    Custom options:

    bash
    blender-mcp \
      --host 127.0.0.1 \
      --port 8000 \
      --blender-host localhost \
      --blender-port 9876 \
      --ollama-url http://localhost:11434 \
      --ollama-model llama3.2

    For stdio transport (Claude Desktop, Cursor):

    bash
    blender-mcp --transport stdio

    ---

    Usage

    MCP Client CLI

    bash
    # Interactive shell
    blender-mcp-client interactive
    
    # One-shot scene info
    blender-mcp-client scene
    
    # Call a specific tool
    blender-mcp-client tool blender_get_scene_info
    blender-mcp-client tool blender_create_object '{"primitive_type": "SPHERE", "name": "MySphere"}'
    
    # Natural language prompt
    blender-mcp-client prompt "Create a metallic sphere at position 0, 0, 2"
    
    # List all available tools
    blender-mcp-client tools

    Python API

    python
    import asyncio
    from client.client import BlenderMCPClient
    
    async def demo():
        async with BlenderMCPClient("http://localhost:8000") as client:
            # Scene inspection
            print(await client.get_scene_info())
    
            # Create objects
            await client.create_object("CUBE", name="MyCube", location=(0, 0, 0))
            await client.create_object("SPHERE", name="MySphere", location=(3, 0, 0))
    
            # Apply materials
            await client.set_material("MyCube", "GoldMat", color=[1.0, 0.84, 0.0, 1.0])
    
            # Move objects
            await client.modify_object("MySphere", location=(3, 0, 2), scale=(1.5, 1.5, 1.5))
    
            # PolyHaven assets
            categories = await client.get_polyhaven_categories("textures")
            await client.download_polyhaven_asset("brick_wall_001", resolution="2k")
            await client.set_texture("MyCube", "brick_wall_001")
    
            # Render
            await client.render_image("/tmp/my_render.png")
    
            # AI assistance
            response = await client.ai_prompt(
                "Write bpy code to add a sun light pointing down"
            )
            print(response)
    
            # Execute the generated code
            await client.execute_code(response)
    
    asyncio.run(demo())

    Claude Desktop / Cursor Integration

    Add to your mcp.json (or ~/.cursor/mcp.json):

    json
    {
      "mcpServers": {
        "blender-open-mcp": {
          "command": "blender-mcp",
          "args": ["--transport", "stdio"]
        }
      }
    }

    ---

    Available Tools

    ToolDescriptionModifies Blender
    blender_get_scene_infoFull scene summary: objects, camera, render settingsNo
    blender_get_object_infoDetailed object info: transforms, materials, mesh statsNo
    blender_create_objectAdd a primitive mesh (CUBE, SPHERE, CYLINDER, ...)Yes
    blender_modify_objectChange location, rotation, scale, visibilityYes
    blender_delete_objectRemove an object from the sceneYes ⚠️
    blender_set_materialCreate and assign a Principled BSDF materialYes
    blender_render_imageRender current scene to a fileYes
    blender_execute_codeRun arbitrary Python/bpy code in BlenderYes ⚠️
    blender_get_polyhaven_categoriesList PolyHaven asset categoriesNo
    blender_search_polyhaven_assetsSearch PolyHaven library with paginationNo
    blender_download_polyhaven_assetDownload & import a PolyHaven assetYes
    blender_set_textureApply a downloaded PolyHaven texture to an objectYes
    blender_ai_promptSend a natural language prompt to OllamaNo
    blender_get_ollama_modelsList available local Ollama modelsNo
    blender_set_ollama_modelSwitch the active Ollama modelNo
    blender_set_ollama_urlUpdate the Ollama server URLNo

    ---

    Default Ports

    ServicePort
    FastMCP Server8000
    Blender Add-on (TCP)9876
    Ollama11434

    ---

    Development

    bash
    # Install dev dependencies
    uv pip install -e ".[dev]"
    
    # Run tests
    pytest tests/ -v
    
    # Type checking
    mypy src/
    
    # Linting
    ruff check src/ client/

    ---

    Troubleshooting

    ProblemSolution
    Cannot connect to Blender add-onOpen Blender → N-sidebar → Blender MCP → Start MCP Server
    Cannot connect to OllamaRun ollama serve in a terminal
    Object not foundCheck exact object name via blender_get_scene_info
    Render failsEnsure the output directory exists and is writable
    PolyHaven download failsCheck internet connection; try a lower resolution

    ---

    License

    MIT License. See LICENSE for details.

    This project is not affiliated with the Blender Foundation.

    Similar MCP

    Based on tags & features

    • MC

      Mcp Aoai Web Browsing

      Python·
      30
    • BI

      Biomcp

      Python·
      327
    • FH

      Fhir Mcp Server

      Python·
      55
    • FA

      Fal Mcp Server

      Python·
      8

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • MC

      Mcp Aoai Web Browsing

      Python·
      30
    • BI

      Biomcp

      Python·
      327
    • FH

      Fhir Mcp Server

      Python·
      55
    • FA

      Fal Mcp Server

      Python·
      8

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k