Back to Browse

Scenemodel MCP Server

Developer ToolsUse Caution3.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Drive Blender scenes: scene and object info, code execution, assets and 3D generation.

About

Drive Blender scenes: scene and object info, code execution, assets and 3D generation.

Security Report

3.2
Use Caution3.2High Risk

scenemodel is a clean, well-tested Blender socket client, but its core tool execute_blender_code runs arbitrary Python inside Blender with no authentication, confirmation, or restriction, and the socket protocol has no auth or TLS. Because BLENDER_HOST can point to any remote host, code can be sent over plaintext TCP to unintended destinations. These design-level risks keep the score in the fair range, though the code itself shows no malicious or exfiltrating behavior. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 11 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

TCP Network Access

Opens direct network connections, common for database or messaging tools.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

code_execution

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-scenemodel": {
      "args": [
        "-y",
        "@reneturcios/scenemodel"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

scenemodel

scenemodel is a small MCP server and CLI for driving a Blender scene from an agent. It is a clean-room rebuild of a core subset — eight tools — from the documented surface of ahujasid/blender-mcp: scene and object info, arbitrary Blender Python execution, viewport screenshots, PolyHaven category browsing, search and download, and Hunyuan3D model generation.

The transport is the original's, unchanged: Blender runs an addon that listens on a TCP socket (default localhost:9876) and exchanges JSON commands of the shape {type, params} for JSON responses. scenemodel implements exactly that protocol behind an injectable socket function — one connection, one JSON request, one JSON response per call — with the host and port taken from BLENDER_HOST / BLENDER_PORT. When nothing is listening, calls fail honestly with the underlying connection error (ECONNREFUSED); scenemodel never invents scene data.

One documented gap: upstream, the screenshot tool returns image content. scenemodel returns an artifact summary instead — the image format plus its byte and base64 lengths — and never the image content block itself.

Deliberately omitted: the Hyper3D (Rodin) generation tools and their status checks, Hunyuan job status/polling beyond the generate call, the dedicated set_texture tool (texture setting stays reachable through asset download and code execution, as in the original), telemetry/user-id tools, and viewport scene manipulation beyond execute_blender_code.

The published container image bundles no Blender binary: the addon runs inside the user's own Blender install, so the image expects to reach a host Blender socket and says so in its Dockerfile.

Install

npx @reneturcios/scenemodel get-scene-info
docker run -i ghcr.io/cloudcorprecords/scenemodel

Start Blender with the blender-mcp addon enabled first; it listens on localhost:9876 by default.

CLI

scenemodel get-scene-info
scenemodel get-object-info <object_name>
scenemodel execute-blender-code "import bpy; print(bpy.context.scene.name)"
scenemodel get-viewport-screenshot [--max-size 1024]
scenemodel get-polyhaven-categories [asset_type]
scenemodel search-polyhaven-assets [asset_type] [categories]
scenemodel download-polyhaven-asset <asset_id> <asset_type> [--resolution 2k] [--format gltf]
scenemodel generate-hunyuan3d-model --text "a wooden chair"
scenemodel --version

Exit codes: 0 success, 1 addon/socket error, 2 usage error.

MCP server

npx -y @reneturcios/scenemodel mcp
{
  "mcpServers": {
    "scenemodel": {
      "command": "npx",
      "args": ["-y", "@reneturcios/scenemodel", "mcp"],
      "env": { "BLENDER_HOST": "localhost", "BLENDER_PORT": "9876" }
    }
  }
}

The env block is optional; the defaults are shown.

Tools

ToolInputAddon command
get_scene_info—get_scene_info
get_object_infoobject_name (required)get_object_info
execute_blender_codecode (required)execute_code
get_viewport_screenshotmax_size (optional)get_viewport_screenshot — returns a format/length summary, not image content
get_polyhaven_categoriesasset_type (optional)get_polyhaven_categories
search_polyhaven_assetsasset_type, categories (optional)search_polyhaven_assets
download_polyhaven_assetasset_id, asset_type (required), resolution, file_formatdownload_polyhaven_asset
generate_hunyuan3d_modeltext_prompt, input_image_url (one required)generate_hunyuan3d_model

Addon error envelopes and socket failures — a refused connection, a timeout, a malformed response — are reported as tool errors carrying the underlying message.

Development

npm install
npm run build
npm test
npm run dev

Tests run entirely on a fake socket function: command shaping, response unwrapping, screenshot summarisation, and error propagation. No live Blender instance is touched.

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!