materials
materials
¶
MCP tool wrappers for Houdini materials and shaders operations.
Each tool delegates to the corresponding handler running inside Houdini via the HTTP bridge.
Functions:
| Name | Description |
|---|---|
create_material_network |
Create a new material network in /mat. |
get_material_info |
Get detailed information about a material node. |
list_material_types |
List available VOP/material node types. |
list_materials |
List all material nodes under a root path. |
Functions:¶
create_material_network
async
¶
create_material_network(
ctx: Context,
name: str,
shader_type: str = "principled",
params: dict[str, Any] | None = None,
) -> dict
Create a new material network in /mat.
The keys base_color ([r, g, b]), roughness, metalness and opacity are accepted on both shader types and mapped to the shader's own parameter names (base_colorr/g/b and specular_roughness on MaterialX, basecolor, rough, metallic and opac on Principled). Any other key must be the shader's real parameter name; a list sets the whole parm tuple. The reply lists what was applied and, under "skipped", every key that matched no parameter, with the reason.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
Context
|
MCP context. |
required |
|
str
|
Name for the new material node. |
required |
|
str
|
"principled" (principledshader::2.0), "materialx" (mtlxstandard_surface), or any material node type name. |
'principled'
|
|
dict[str, Any] | None
|
Parameter name-value pairs to set on the shader. |
None
|
get_material_info
async
¶
Get detailed information about a material node.
assignments lists the nodes under /obj and /stage whose material-path parameters name this material; only those parameters are read, so the call costs the same on a 4,000-node scene as on an empty one (assignment_scan reports how many nodes were visited).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
Context
|
MCP context. |
required |
|
str
|
Absolute path to the material node. |
required |