shelf
shelf
¶
MCP tools for Houdini's shelf tools.
Some setups are authored by a shelf tool rather than by node creation -- the ocean
procedural's internals come from dopparticlefluidtoolutils.largeOcean -- so
build_network structurally cannot produce them, and reading SideFX's own recipe is
often more valuable than running it.
Functions:
| Name | Description |
|---|---|
get_shelf_tool_script |
Read the script a shelf tool runs, plus its help and imports. |
list_shelf_tools |
Find shelf tools by name, label or keyword. |
run_shelf_tool |
Run a shelf tool and report the nodes it created. |
Functions:¶
get_shelf_tool_script
async
¶
Read the script a shelf tool runs, plus its help and imports.
This is how you learn SideFX's own recipe instead of reinventing it. Most scripts are two or three lines calling a worker in a toolutils module, and the reported imports name exactly what to read next.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Internal tool name, from list_shelf_tools. |
required |
list_shelf_tools
async
¶
Find shelf tools by name, label or keyword.
Use this when a setup exists as a shelf tool rather than as a node: oceans, quick sims, rigging setups. A full install ships around 8,000 of them, so always filter.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str | None
|
Substring matched against name, label and keywords. |
None
|
|
int
|
Maximum tools to return. |
60
|
run_shelf_tool
async
¶
run_shelf_tool(
ctx: Context,
tool_name: str,
kwargs: dict[str, Any] | None = None,
parent_path: str | None = None,
) -> dict
Run a shelf tool and report the nodes it created.
Most shelf tools call hou.ui, because Houdini invokes them from a click, so they work in a graphical session and fail with a clear message in a headless one. When that happens, read the recipe with get_shelf_tool_script and build the network directly.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Internal tool name, from list_shelf_tools. |
required |
|
dict[str, Any] | None
|
Overrides merged into the synthetic kwargs the script reads. |
None
|
|
str | None
|
An extra network to watch for new nodes. /obj, /stage, /out, /mat and /img are always watched, because a shelf tool is free to build in more than one of them: largeOcean creates both a geo in /obj and a LOP in /stage. |
None
|