Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
nousresearch avatar

Blender Mcp

  • 23 installs
  • 226k repo stars
  • Updated August 5, 2026
  • nousresearch/hermes-agent

Helps with ai & agent building tasks.

About

blender-mcp is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • blender-mcp
  • AI & Agent Building
  • AI-coding skill

Blender Mcp by the numbers

  • 23 all-time installs (skills.sh)
  • +1 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #10,028 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/nousresearch/hermes-agent --skill blender-mcp

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs23
repo stars226k
Last updatedAugust 5, 2026
Repositorynousresearch/hermes-agent

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Blender MCP

Control a running Blender instance from Hermes via socket on TCP port 9876.

Setup (one-time)

1. Install the Blender addon

curl -sL https://raw.githubusercontent.com/ahujasid/blender-mcp/main/addon.py -o ~/Desktop/blender_mcp_addon.py

In Blender: Edit > Preferences > Add-ons > Install > select blender_mcp_addon.py Enable "Interface: Blender MCP"

2. Start the socket server in Blender

Press N in Blender viewport to open sidebar. Find "BlenderMCP" tab and click "Start Server".

3. Verify connection

nc -z -w2 localhost 9876 && echo "OPEN" || echo "CLOSED"

Protocol

Plain UTF-8 JSON over TCP -- no length prefix.

Send: {"type": "<command>", "params": {<kwargs>}} Receive: {"status": "success", "result": <value>} {"status": "error", "message": "<reason>"}

Available Commands

typeparamsdescription
execute_codecode (str)Run arbitrary bpy Python code
get_scene_info(none)List all objects in scene
get_object_infoobject_name (str)Details on a specific object
get_viewport_screenshot(none)Screenshot of current viewport

Python Helper

Use this inside execute_code tool calls:

import socket, json

def blender_exec(code: str, host="localhost", port=9876, timeout=15): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host, port)) s.settimeout(timeout) payload = json.dumps({"type": "execute_code", "params": {"code": code}}) s.sendall(payload.encode("utf-8")) buf = b"" while True: try: chunk = s.recv(4096) if not chunk: break buf += chunk try: json.loads(buf.decode("utf-8")) break except json.JSONDecodeError: continue except socket.timeout: break s.close() return json.loads(buf.decode("utf-8"))

Common bpy Patterns

Clear scene

bpy.ops.object.select_all(action='SELECT') bpy.ops.object.delete()

Add mesh objects

bpy.ops.mesh.primitive_uv_sphere_add(radius=1, location=(0, 0, 0)) bpy.ops.mesh.primitive_cube_add(size=2, location=(3, 0, 0)) bpy.ops.mesh.primitive_cylinder_add(radius=0.5, depth=2, location=(-3, 0, 0))

Create and assign material

mat = bpy.data.materials.new(name="MyMat") mat.use_nodes = True bsdf = mat.node_tree.nodes.get("Principled BSDF") bsdf.inputs["Base Color"].default_value = (R, G, B, 1.0) bsdf.inputs["Roughness"].default_value = 0.3 bsdf.inputs["Metallic"].default_value = 0.0 obj.data.materials.append(mat)

Keyframe animation

obj.location = (0, 0, 0) obj.keyframe_insert(data_path="location", frame=1) obj.location = (0, 0, 3) obj.keyframe_insert(data_path="location", frame=60)

Render to file

bpy.context.scene.render.filepath = "/tmp/render.png" bpy.context.scene.render.engine = 'CYCLES' bpy.ops.render.render(write_still=True)

Pitfalls

  • Must check socket is open before running (nc -z localhost 9876)
  • Addon server must be started inside Blender each session (N-panel > BlenderMCP > Connect)
  • Break complex scenes into multiple smaller execute_code calls to avoid timeouts
  • Render output path must be absolute (/tmp/...) not relative
  • shade_smooth() requires object to be selected and in object mode

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.