Server facts
BlenderMCP MCP Server
Project
- Author
- ahujasid
- Repository
- github.com/ahujasid/blender-mcp
- Website
- blendermcp.org/
- License
- MIT
- Category
- Games & 3D
Tech
- Runtime / language
- pythonPython
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- 31,192
- Last commit
- Data as of
Tags
- 3d Modeling
- Blender
- Hyper3d
- Poly Haven
- Scene Management
- Sketchfab
Overview
BlenderMCP connects an AI assistant to a Blender session for prompt-driven 3D work. The integration combines a Blender addon, which listens for commands through a socket server, with a Python MCP server that relays the assistant's requests. Documented operations include inspecting scenes and objects, creating or modifying geometry, changing materials, capturing viewport screenshots, and executing Python inside Blender. Optional connections extend the workflow beyond the current scene: Poly Haven provides assets and textures, Sketchfab supplies downloadable models, and Hyper3D Rodin can generate assets from text or images. The README also highlights Hunyuan3D support.
Setup requires Blender 3.0 or later, Python 3.10 or later, and the addon installed and enabled. The standard client configuration uses uvx, with troubleshooting guidance for GUI clients that cannot find the executable. Only one MCP server instance should be active across clients. The addon must also be connected from Blender's sidebar. Important limitations accompany the broad control surface: arbitrary Python execution is potentially dangerous, complex changes may need smaller steps, and external assets require downloads or service credentials. The README advises saving work before code execution. It also documents telemetry controls, including an environment variable that disables telemetry completely. This makes BlenderMCP useful for assisted scene construction while leaving setup, asset access, and execution safety under the operator's responsibility.
Install & configure
Requirements
- Blender 3.0 or later
- Python 3.10 or later
- uv with uvx available for this setup
- The repository's addon.py installed and enabled in Blender
- An MCP-compatible client
uvx blender-mcpConfigure the MCP client, install the addon, and connect it through Blender's BlenderMCP sidebar. Run only one server instance across clients. Optional BLENDER_HOST and BLENDER_PORT customize the socket connection; DISABLE_TELEMETRY=true disables telemetry.
Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"blender-mcp": {
"command": "uvx",
"args": [
"blender-mcp"
],
"env": {}
}
}
}Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"blender-mcp": {
"command": "uvx",
"args": [
"blender-mcp"
],
"env": {}
}
}
}Config file · Workspace: .vscode/mcp.json
For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.
{
"servers": {
"blender-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"blender-mcp"
],
"env": {}
}
}
}Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"blender-mcp": {
"command": "uvx",
"args": [
"blender-mcp"
],
"env": {}
}
}
}Config file · Project scope: .mcp.json at the repository root
The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"blender-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"blender-mcp"
],
"env": {}
}
}
}Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Tools
Source: repository tool metadata. Tool descriptions are a documented snapshot, not a live capability check.
| Tool | What it does |
|---|---|
| get_scene_info | Inspect the current Blender scene. |
| get_object_info | Read details for a named scene object. |
| get_viewport_screenshot | Capture the Blender viewport as an image. |
| execute_blender_code | Run arbitrary Python inside Blender; use small steps and save work first. |
| get_polyhaven_categories | List Poly Haven categories for a chosen asset type. |
| search_polyhaven_assets | Find Poly Haven assets with optional type and category filters. |
| download_polyhaven_asset | Download and import a selected Poly Haven asset. |
| set_texture | Apply a downloaded Poly Haven texture to a scene object. |
| get_polyhaven_status | Check whether Poly Haven integration is enabled. |
| get_hyper3d_status | Check availability of the Hyper3D Rodin integration. |
| get_sketchfab_status | Check whether Sketchfab integration is enabled. |
| search_sketchfab_models | Search Sketchfab models with optional category and downloadability filters. |
| download_sketchfab_model | Import a downloadable Sketchfab model by UID when access rights permit. |
| generate_hyper3d_model_via_text | Generate a textured 3D asset from a description through Hyper3D and import it. |
| generate_hyper3d_model_via_images | Generate and import a Hyper3D asset using reference images. |
| poll_rodin_job_status | Check progress of a Hyper3D Rodin generation task. |
| import_generated_asset | Import a completed Hyper3D Rodin generation result into the scene. |
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Inspect a Blender scene and individual object properties.
- Create geometry and modify materials from an assistant conversation.
- Find and import Poly Haven or downloadable Sketchfab assets.
- Generate and import a 3D asset through Hyper3D Rodin.
- Capture viewport images to inform scene iteration.
Strengths
- Combines scene inspection, editing, and direct Python execution.
- Integrates external asset libraries and generated models.
- Documents credential persistence and telemetry controls.
Limitations
- Requires Blender, an enabled addon, and a separate MCP server connection.
- Arbitrary Python execution can be dangerous and warrants saving work first.
- Complex operations may need to be split into smaller steps.
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.