跳到正文
cccskills
免费在 GitHub 公开

blender-mcp

Control Blender directly from Hermes via socket connection to the blender-mcp addon. Create 3D objects, materials, animations, and run arbitrary Blender Python (bpy) code. Use when user wants to create or modify anything in Blender.

中文简介正在准备中。当前显示原文说明。

集成工具Blender
查看安装方法

包含的文件(1)

  • SKILL.md4.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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

🔗 Связи

  • [[000 - Map of Maps]] — REPO_DOCS
  • [[000 - Map of Maps]] — Map of Maps

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

1password

免费

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in, and reading/injecting secrets for commands.

中文简介正在准备中。当前显示原文说明。

ibragimov-oasis/vibe-coder32026年6月24日 更新

Use this skill when the user requests to review, analyze, critique, or summarize academic papers, research articles, preprints, or scientific publications. Supports comprehensive structured reviews covering methodology assessment, contribution evaluation, literature positioning, and constructive feedback generation. Trigger on queries involving paper URLs, uploaded PDFs, arXiv links, or requests like "review this paper", "analyze this research", "summarize this study", or "write a peer review".

中文简介正在准备中。当前显示原文说明。

ibragimov-oasis/vibe-coder32026年6月24日 更新

Add descriptions for new models from the HuggingFace router to chat-ui configuration. Use when new models are released on the router and need descriptions added to prod.yaml and dev.yaml. Triggers on requests like "add new model descriptions", "update models from router", "sync models", or when explicitly invoking /add-model-descriptions.

中文简介正在准备中。当前显示原文说明。

ibragimov-oasis/vibe-coder32026年6月24日 更新

Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.

中文简介正在准备中。当前显示原文说明。

ibragimov-oasis/vibe-coder32026年6月24日 更新

Master advanced AgentDB features including QUIC synchronization, multi-database management, custom distance metrics, hybrid search, and distributed systems integration. Use when building distributed AI systems, multi-agent coordination, or advanced vector search applications.

中文简介正在准备中。当前显示原文说明。

ibragimov-oasis/vibe-coder32026年6月24日 更新

Create and train AI learning plugins with AgentDB's 9 reinforcement learning algorithms. Includes Decision Transformer, Q-Learning, SARSA, Actor-Critic, and more. Use when building self-learning agents, implementing RL, or optimizing agent behavior through experience.

中文简介正在准备中。当前显示原文说明。

ibragimov-oasis/vibe-coder32026年6月24日 更新

查看 ibragimov-oasis 的全部技能

报告此技能的问题