Che Blender Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Che Blender Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Blender MCP Server - Execute scripts, capture renders, and control 3D scenes via Claude.
bpy access# Clone and install
git clone https://github.com/kiki830621/che-blender-mcp.git
cd che-blender-mcp
pip install -e .
# Add to Claude Code
claude mcp add che-blender-mcp -- python3 -m che_blender_mcpEdit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"che-blender-mcp": {
"command": "python3",
"args": ["-m", "che_blender_mcp"],
"env": {
"BLENDER_PATH": "/Applications/Blender.app/Contents/MacOS/Blender"
}
}
}
}By default, the server looks for Blender at:
/Applications/Blender.app/Contents/MacOS/BlenderTo use a different path, set the BLENDER_PATH environment variable:
Claude Code:
claude mcp add che-blender-mcp \
--env BLENDER_PATH=/path/to/blender \
-- python3 -m che_blender_mcpClaude Desktop:
{
"mcpServers": {
"che-blender-mcp": {
"command": "python3",
"args": ["-m", "che_blender_mcp"],
"env": {
"BLENDER_PATH": "/path/to/blender"
}
}
}
}| Tool | Description |
|---|---|
execute_script | Execute arbitrary Python code in Blender with full bpy access |
list_objects | List all scene objects with name, type, location, visibility |
get_object_info | Get detailed info: mesh vertices/faces, light energy/color, camera lens |
render | Render scene and return base64-encoded PNG image |
get_scene_info | Get cameras, lights, render settings, frame range |
screenshot | Capture a viewport screenshot (renders at 50% resolution for speed) |
| Parameter | Type | Required | Description |
|---|---|---|---|
script | string | ✅ | Python code to execute |
blend_file | string | Path to .blend file to open first |
| Parameter | Type | Required | Description |
|---|---|---|---|
blend_file | string | Path to .blend file to open | |
object_type | string | Filter: MESH, CAMERA, LIGHT, EMPTY, ARMATURE |
| Parameter | Type | Required | Description |
|---|---|---|---|
object_name | string | ✅ | Name of the object to inspect |
blend_file | string | Path to .blend file to open |
| Parameter | Type | Required | Description |
|---|---|---|---|
blend_file | string | ✅ | Path to .blend file to render |
resolution_x | integer | Width in pixels (default: 1920) | |
resolution_y | integer | Height in pixels (default: 1080) | |
samples | integer | Cycles samples (default: 128) | |
engine | string | CYCLES or BLENDER_EEVEE_NEXT (default: CYCLES) |
| Parameter | Type | Required | Description |
|---|---|---|---|
blend_file | string | Path to .blend file to open |
| Parameter | Type | Required | Description |
|---|---|---|---|
blend_file | string | ✅ | Path to .blend file |
view | string | CAMERA, TOP, FRONT, RIGHT (default: CAMERA) |
"Open my_scene.blend and list all objects"
"Render /path/to/scene.blend at 1080p with 256 samples"
"Execute this script in Blender: bpy.ops.mesh.primitive_cube_add()"
"Get info about the object named 'Camera'"
"Show me the scene information for my project""Execute this script:
import bpy
bpy.ops.mesh.primitive_monkey_add(location=(0, 0, 0))
bpy.ops.object.shade_smooth()
"
"Now render the scene at 720p"This extension:
| Version | Changes |
|---|---|
| v0.1.0 | Initial release with 6 tools: execute_script, list_objects, get_object_info, render, get_scene_info, screenshot |
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.