viewport
viewport
¶
MCP tool definitions for Houdini viewport and UI operations.
Provides tools for inspecting and controlling Houdini's viewport panes, display modes, camera assignment, screenshot capture, network editor navigation, and error node discovery.
Functions:
| Name | Description |
|---|---|
capture_network_editor |
Capture a screenshot of the network editor. |
capture_screenshot |
Capture a screenshot of the viewport or a specific pane tab. |
find_error_nodes |
Find all nodes with errors or warnings in the scene. |
frame_all |
Frame all geometry in the viewport. |
frame_selection |
Frame the current selection in the viewport. |
get_viewport_info |
Get viewport settings for a pane tab. |
list_panes |
List all visible pane tabs in the Houdini UI. |
log_status |
Display a status message in Houdini's status bar. |
set_current_network |
Navigate the network editor to a specific network path. |
set_viewport_camera |
Set the viewport to look through a specific camera. |
set_viewport_direction |
Set the viewport to a standard viewing direction. |
set_viewport_display |
Set the viewport shading mode. |
set_viewport_renderer |
Set the viewport's Hydra rendering delegate for live preview. |
Functions¶
capture_network_editor
async
¶
capture_network_editor(
ctx: Context, output_path: str, node_path: str | None = None
) -> list[TextContent | ImageContent]
Capture a screenshot of the network editor.
Screenshots consume significant context tokens. Only take one when visual confirmation of wiring is genuinely needed — prefer get_node_info or list_children for inspecting node connections.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Image file path. |
required |
|
str | None
|
Node path to navigate to before capture. |
None
|
capture_screenshot
async
¶
capture_screenshot(
ctx: Context, output_path: str, pane_name: str | None = None
) -> list[TextContent | ImageContent]
Capture a screenshot of the viewport or a specific pane tab.
Screenshots consume significant context tokens. Only take one when visual confirmation is genuinely needed — prefer get_geometry_info, get_node_info, or get_scene_summary for most inspection tasks.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Image file path. |
required |
|
str | None
|
Pane tab name. |
None
|
find_error_nodes
async
¶
frame_all
async
¶
frame_selection
async
¶
get_viewport_info
async
¶
log_status
async
¶
Display a status message in Houdini's status bar.
Call this at the START of every major step so the user can follow along in real time without having to inspect tool call logs. Examples: "Creating base geometry...", "Wiring SOP chain...", "Setting up pyro simulation...", "Assigning materials...".
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Status message to display (keep it short and human-readable). |
required |
|
str
|
"message" (default), "important", "warning", or "error". |
'message'
|
set_current_network
async
¶
set_current_network(ctx: Context, network_path: str) -> dict
set_viewport_camera
async
¶
set_viewport_camera(
ctx: Context, camera_path: str, pane_name: str | None = None
) -> dict
set_viewport_direction
async
¶
set_viewport_display
async
¶
set_viewport_display(
ctx: Context, display_mode: str, pane_name: str | None = None
) -> dict
set_viewport_renderer
async
¶
Set the viewport's Hydra rendering delegate for live preview.
Use this during lookdev to preview materials and lighting directly in the viewport instead of writing full renders to disk.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Renderer name — "GL", "Storm", "Karma CPU", "Karma XPU", etc. Case-insensitive partial match. |
required |
|
str | None
|
Pane tab name. |
None
|