Skip to main content
Glama

BlenderMCP

by SK-DEV-AI
README.md5.32 kB
# Blender MCP (Model Context Protocol) A Blender addon that enables AI assistants (like Claude) to interact with Blender through the Model Context Protocol (MCP). ## Installation ### 1. Install the Blender Addon 1. Download or clone this repository 2. Copy the entire `src/blender_mcp/addon/` directory to your Blender addons folder: - **Windows**: `%APPDATA%\Blender Foundation\Blender\4.x\scripts\addons\` - **macOS**: `~/Library/Application Support/Blender/4.x/scripts/addons/` - **Linux**: `~/.config/blender/4.x/scripts/addons/` 3. Rename the copied directory from `addon` to `blender_mcp` 4. Open Blender and go to `Edit > Preferences > Add-ons` 5. Search for "Blender MCP" and enable the addon ### 2. Install the MCP Server The MCP server runs outside Blender and communicates with it via sockets. 1. Install Python dependencies: ```bash pip install mcp-server-fastmcp ``` 2. Or if using the provided virtual environment: ```bash # Activate the virtual environment source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install dependencies pip install -r requirements.txt ``` ### 3. Configure Your MCP Client Add the Blender MCP server to your MCP client configuration (e.g., Claude Desktop): ```json { "mcpServers": { "blender": { "command": "python", "args": ["-m", "blender_mcp.server"], "env": { "BLENDER_HOST": "localhost", "BLENDER_PORT": "9876" } } } } ``` ## Usage 1. **Start Blender** and enable the Blender MCP addon 2. **Start your MCP client** (Claude Desktop, etc.) with the server configured 3. **In Blender**, click the "Connect to MCP server" button in the BlenderMCP panel (N-panel > BlenderMCP) 4. **Use Claude** to interact with Blender through natural language commands ## Features ### Core Tools - **Scene Information**: Get details about objects, materials, and scene structure - **Object Manipulation**: Query and modify 3D objects - **Viewport Screenshots**: Capture Blender's 3D viewport - **Code Execution**: Run Python code directly in Blender ### Template Engine - **Template Management**: Create, save, and reuse complex operations - **Dynamic Overrides**: Apply templates with parameter modifications - **Template Search**: Discover templates by tags and categories - **Usage Analytics**: Track template performance and success rates - **Version Control**: Optional Git versioning for template evolution ### Asset Integrations - **PolyHaven**: Download HDRIs, textures, and 3D models - **Sketchfab**: Search and download 3D models - **Hyper3D Rodin**: Generate 3D models from text or images ## Configuration ### Blender Addon Settings - **Port**: Socket port for communication (default: 9876) - **PolyHaven**: Enable/disable PolyHaven integration - **Hyper3D**: Configure API keys and modes - **Sketchfab**: Configure API key for model downloads ### Environment Variables - `BLENDER_HOST`: Host address (default: localhost) - `BLENDER_PORT`: Port number (default: 9876) ## Architecture The system consists of two main components: 1. **Blender Addon** (`src/blender_mcp/addon/`): Runs inside Blender, handles UI and executes Blender operations 2. **MCP Server** (`src/blender_mcp/server/`): Runs outside Blender, provides MCP tools and manages communication ## Development ### Project Structure ``` src/blender_mcp/ ├── addon/ # Blender addon code │ ├── handlers.py # Base command handlers │ ├── polyhaven_handlers.py # PolyHaven integration │ ├── hyper3d_handlers.py # Hyper3D integration │ ├── sketchfab_handlers.py # Sketchfab integration │ ├── ui.py # Blender UI components │ ├── server.py # Socket server for addon │ └── __main__.py # Addon registration └── server/ # MCP server code ├── connection.py # MCP server and socket client ├── tools.py # Core Blender tools ├── integrations.py # Integration tools ├── template_engine.py # Template storage and management ├── template_tools.py # MCP tools for templates ├── prompts.py # MCP prompts └── __main__.py # Server entry point templates/ # Template storage directory ├── template_name.json # Template definitions └── analytics.json # Usage statistics ``` ### Running Tests ```bash # Test server modules python -m pytest tests/ # Or manually test imports python -c "from src.blender_mcp.server.connection import mcp; print('OK')" ``` ## Troubleshooting ### Connection Issues - Ensure the Blender addon is enabled and running - Check that the port numbers match between client and server - Verify firewall settings allow socket connections ### Integration Issues - Check API keys are properly configured in Blender - Ensure internet connectivity for external services - Review Blender console for error messages ### Performance - Large scenes may take time to process - Asset downloads depend on internet speed - 3D generation can take several minutes ## Contributing 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Test thoroughly 5. Submit a pull request ## License See LICENSE file for details.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SK-DEV-AI/blender-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server