
Blender Mcp
Wire Blender MCP to CC0 asset libraries like PolyHaven for HDRIs, PBR textures, and models inside agent-driven 3D workflows.
Overview
Blender MCP is an agent skill for the Build phase that documents Blender MCP integrations for PolyHaven HDRIs, PBR textures, and 3D model import via MCP tools or execute_python.
Install
npx skills add https://github.com/vladmdgolam/agent-skills --skill blender-mcpWhat is this skill?
- Documents PolyHaven integration for CC0 HDRIs, PBR texture sets, and 3D models
- Search by keyword, category, or asset type then download and auto-import into Blender
- HDRI workflow sets world lighting via environment texture node setup
- PBR imports include baseColor, normal, roughness, metallic, and displacement node wiring
- Assets reachable via MCP tool calls or `execute_python` in Blender
- PolyHaven PBR auto-import covers baseColor, normal, roughness, metallic, and displacement channels
Adoption & trust: 996 installs on skills.sh; 5 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have Blender MCP enabled but lack a clear recipe to pull CC0 HDRIs and PBR sets into scenes through tool calls or Python.
Who is it for?
Indie game devs and 3D content builders using Blender MCP with PolyHaven for environments and materials.
Skip if: Pure 2D web UI work, Strapi-style backends, or pipelines with no Blender MCP server configured.
When should I use this skill?
Configuring Blender MCP with external asset services, PolyHaven HDRIs or textures, or MCP tool and execute_python import flows.
What do I get? / Deliverables
You can search PolyHaven, import lighting and materials with correct node graphs, and reuse MCP-driven patterns for 3D asset workflows.
- HDRI-based world lighting setups in Blender
- Imported meshes and PBR material node graphs
- Repeatable MCP or execute_python scripts for asset search and import
Recommended Skills
Journey fit
3D asset import and MCP tooling are implemented while building the creative pipeline or game/content deliverable, not during abstract idea research. Agent-tooling subphase covers MCP servers, `execute_python`, and tool-call patterns that connect Claude/Cursor to Blender.
How it compares
This is MCP + Blender integration guidance—not a standalone mesh modeling tutorial or a generic image generator skill.
Common Questions / FAQ
Who is blender-mcp for?
Builders who run Blender with an MCP server and want agent-callable workflows for external 3D asset libraries, especially PolyHaven.
When should I use blender-mcp?
During Build while configuring agent-tooling: importing HDRIs for lighting, pulling PBR texture sets, or loading models through MCP or execute_python.
Is blender-mcp safe to install?
Integrations may use network downloads and local Blender Python execution; review the Security Audits panel on this Prism page and vet API keys and paths before running scripts.
SKILL.md
READMESKILL.md - Blender Mcp
# Blender MCP Asset Integrations The Blender MCP server supports several external asset services when configured with appropriate API keys or local installations. Each integration is accessible via MCP tool calls or `execute_python`. --- ## PolyHaven **What it is:** A free, CC0 library of HDRIs, PBR texture sets, and 3D models. No license restrictions. Best source for environment maps and surface materials. **Capabilities via Blender MCP:** - Search the library by keyword, category, or asset type - Download and auto-import HDRIs as world lighting - Download and auto-import PBR texture sets with full node setup (baseColor, normal, roughness, metallic, displacement) - Download 3D models with materials pre-applied **Typical usage patterns:** ### Import an HDRI for environment lighting ```python import bpy # After MCP downloads the HDRI to a local path: hdri_path = "/path/to/studio_small_09_4k.exr" world = bpy.data.worlds["World"] world.use_nodes = True nodes = world.node_tree.nodes links = world.node_tree.links # Clear existing nodes nodes.clear() # Add environment texture bg_node = nodes.new("ShaderNodeBackground") env_node = nodes.new("ShaderNodeTexEnvironment") out_node = nodes.new("ShaderNodeOutputWorld") map_node = nodes.new("ShaderNodeMapping") coord_node = nodes.new("ShaderNodeTexCoord") env_node.image = bpy.data.images.load(hdri_path) links.new(coord_node.outputs["Generated"], map_node.inputs["Vector"]) links.new(map_node.outputs["Vector"], env_node.inputs["Vector"]) links.new(env_node.outputs["Color"], bg_node.inputs["Color"]) links.new(bg_node.outputs["Background"], out_node.inputs["Surface"]) bg_node.inputs["Strength"].default_value = 1.0 print("HDRI loaded:", hdri_path) ``` ### Import a PBR texture set onto a material ```python import bpy, os # After MCP downloads the texture set to a local directory: tex_dir = "/path/to/concrete_layers_02_1k/" mat = bpy.data.materials.new(name="ConcreteLayers") mat.use_nodes = True nodes = mat.node_tree.nodes links = mat.node_tree.links nodes.clear() bsdf = nodes.new("ShaderNodeBsdfPrincipled") output = nodes.new("ShaderNodeOutputMaterial") links.new(bsdf.outputs["BSDF"], output.inputs["Surface"]) def load_tex(fname, colorspace="sRGB"): path = os.path.join(tex_dir, fname) if not os.path.exists(path): return None img = bpy.data.images.load(path) img.colorspace_settings.name = colorspace node = nodes.new("ShaderNodeTexImage") node.image = img return node base_color = load_tex("concrete_layers_02_diff_1k.jpg", "sRGB") roughness = load_tex("concrete_layers_02_rough_1k.jpg", "Non-Color") normal_img = load_tex("concrete_layers_02_nor_gl_1k.jpg", "Non-Color") disp_img = load_tex("concrete_layers_02_disp_1k.jpg", "Non-Color") if base_color: links.new(base_color.outputs["Color"], bsdf.inputs["Base Color"]) if roughness: links.new(roughness.outputs["Color"], bsdf.inputs["Roughness"]) if normal_img: normal_map = nodes.new("ShaderNodeNormalMap") links.new(normal_img.outputs["Color"], normal_map.inputs["Color"]) links.new(normal_map.outputs["Normal"], bsdf.inputs["Normal"]) print("Material setup complete:", mat.name) ``` **Notes:** - PolyHaven textures are CC0 — safe to include in commercial projects - Always choose 1K or 2K resolution downloads; 4K+ will need resizing before GLB export - Displacement maps are not supported in GLTF — skip or bake to normal map --- ## Sketchfab **What it is:** A marketplace and community for 3D models. Free and paid assets. Requires a Sketchfab access token for download. **Capabilities via Blender MCP:** - Search the library by keyword - Download licensed models (free and purchased) directly into Blender - Auto-import with materials **Configuration:** Set your Sketchfab API token in the Blender MCP addon settings before use. **Typical usage pattern:** ### Search and import a model ```python # MCP handles search and download internally. # After import, verify the object land