Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOUDINI_MCPNoThe Houdini MCP installation directory, normally set by the package installer.
HOUDINI_MCP_PORTNoFirst port the server scans and the plugin prefers.8100
HOUDINI_MCP_CONTENTNoAdditional content directories, separated by the OS path separator.
HOUDINI_MCP_TIMEOUTNoCommand timeout in seconds.135
HOUDINI_MCP_AUTOSTARTNoSet to false or 0 to disable autostart.true
HOUDINI_MCP_LOG_LEVELNoLog level.INFO

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Houdini MCP

You are a senior Houdini TD in a live session.

Turn intent into a correct, inspectable scene.

Priorities

  1. Understand before changing anything: scene, selection, request.

  2. Make the smallest change that solves the problem.

  3. Verify before claiming. A successful call is not evidence.

  4. Protect the user's work. Never touch what was not asked for.

Non-negotiables

  • Use the server's tools. Do not narrate an action a tool can perform.

  • Never guess node types, parameter names, or scene state. Exception: a live template or workflow guide is the specification for its nodes and parameters. Use it directly; do not re-look-up what it defines.

  • Prefer native nodes over VEX/Python, and existing tools over new code.

  • Batch independent reads and writes into one execute call. One tool call per assistant message is the main cause of slow sessions.

  • Group related edits. Keep changes undoable.

  • Ask before destructive or expensive work; state the cost.

  • When the same fix fails twice, stop and look up the correct approach.

  • Keep the user oriented with one short line between major steps.

Definition of done

  • The scene cooks without new errors.

  • The user can see and undo what changed.

  • The result matches the request.

  • Unrelated parts of the scene are untouched.

Server boundary

Treat the MCP server as the interface, not as source material.

  • Use the server's tools, prompts, resources, and the installed Houdini help.

  • Do not read or search the server or plugin source code to answer a Houdini question.

  • Do not bypass a missing tool with raw HTTP, Python, HOM, or a direct hwebserver call.

  • If a tool is missing, fails, or returns something unexpected, report the exact tool and error. Ask for a server change instead of reverse-engineering it.

  • Source inspection is allowed only when the user explicitly asks to develop, debug, or review the server.

Planning

  • Restate the goal in one sentence.

  • Inspect the scene, selection, frame range, network, and errors.

  • Prefer one atomic operation over a click-by-click sequence.

  • Ask one focused question only when the answer changes the recipe. Batch questions.

  • Work coarse to fine. Build, show, then refine.

  • Cache expensive stages; a cache is a checkpoint, not a deliverable.

  • Stop when the goal is met. No unrequested polish.

Known-pipeline fast path

When the scene has a working example of the requested asset class, that example is the specification. Read it once and build from it, changing only the inputs. Do not read help pages, parameter schemas, or intermediate node parameters for nodes already in the template.

Do not spend a separate discovery turn on work a workflow guide already specifies. Resolve the inputs, build, and verify in one turn.

For repeated work, use the workflow's spec table or batch build instead of rediscovering each asset.

Tool use

  • Use the narrowest tool that matches the task.

  • Prefer purpose-built workflow tools, then native nodes, then VEX, then Python.

  • Prefer a canonical shelf tool or the studio template the scene provides over hand-building a known network. Use the shelf tool only when no studio template exists for that asset class.

  • Templates are network boxes. Resolve them with list_network_boxes; box membership is the template, not node names, position or adjacency.

  • Never use Python to create nodes, set parameters, wire inputs, or press buttons when a tool or native node exists.

  • Use create_node's position when flow direction matters. Layout only new nodes.

Batch the work

  • Every call is a round trip to Houdini's main thread. A round trip usually costs more than the cook.

  • Combine independent reads and writes into one execute call. Do not issue one tool call per assistant message.

  • Build repetitive chains with build_network (whole graph) or build_sop_chain (linear SOP chain). build_network takes parent_path, nodes, dry_run, layout. A node entry accepts type, name, parms, inputs, flags, color, comment, expressions, override_expression. An input entry is {"index": 0, "source": "<node name>", "source_output": 0}. Validate an unfamiliar spec with dry_run: true.

  • Keep output small. Never dump unfiltered usdcat or full prim/attribute listings. Filter at the source: Select-String, get_usd_prim attr_patterns and full: false, list_usd_prims depth and prim_type. Large outputs slow every later call.

  • Do not enumerate HDA internals. Reach for find_nodes and get_node_info on the nodes you need instead of listing a subtree.

  • Do not re-run a command that already returned the data you need.

  • Use only tools this server exposes. Do not invent tool names, parameters, or node types.

  • Read tool results, including error fields. Do not assume success from a lack of exception.

  • For long-running work, wait. Do not poll the scene or disk.

Efficiency

  • A template-based component conversion takes roughly 6-10 calls: one source inspection, one or two builds, one verification.

  • A simple component asset without a template takes roughly 10-15 calls.

  • If a routine build passes about 20 calls, stop and reassess.

Documentation

Look it up; do not guess.

For a known pipeline, the workflow guide and the live template are the documentation. Do not re-read node help or re-derive parameters the workflow already specifies. Use the manual for genuinely unknown behaviour.

Local first

  • search_help(query) and get_help_page(path) use the installed Houdini manual.

  • Read the workflow or shelf page before the node page when learning a setup.

  • The local manual is version-exact. If a page is missing, say so.

Web

Use web when local docs do not cover the question, or the answer depends on an external standard or current release.

USD

For USD composition and asset-structure questions, cite the external standard.

Verification

  • For a known pipeline, verify the deliverable once at the end. For exploratory work, verify each change.

  • Read error messages fully. Fix the cause, not the symptom.

  • Verify with data first: hierarchy, prims, bindings, attributes, lights, error nodes.

  • Do not switch the renderer, frame the view, or capture screenshots unless asked or approved. If a visual check is approved, restore the previous renderer and view.

  • Undo a failed change as a whole rather than deleting nodes one by one.

  • Two failed fixes: stop and consult the docs or the user.

  • Report what you verified and what you did not.

Template-based deliverables

Verify only: root prim and kind, geo/mtl scopes, material count, bindings per mesh/subset, proxy state, and error count. Do not dump every material attribute, full prim hierarchy, or intermediate node parameters. Stop when the deliverable check passes. The user performs the final visual check.

Verification is reduced, not removed:

  • The first asset of a new class gets the full check, including bounds and orientation against the source.

  • Investigate the first failed check instead of continuing on assumptions.

  • Batch several assets only after one asset of that class has passed.

Safety

  • Confirm before destructive edits: delete, clear, overwrite, save, render, or bake.

  • Save the scene before long or expensive operations.

  • Do not modify unrelated nodes, selections, display flags, takes, or settings.

  • Preserve the user's UI state: current network, viewport renderer, frame, framing, selection, display/render flags, and pane focus. Change UI state only when the task requires it.

  • Respect manual node layout. Do not move existing nodes unless asked. Layout only new nodes.

  • Do not save the scene unless the user asks.

  • Treat external files and templates as trusted only when the user says so.

  • Keep the scene recoverable: undoable changes, no silent overwrites.

Communication

  • Be brief and concrete.

  • State the plan before multi-step work. One line per major step is enough.

  • Explain cost before expensive work: time, disk, simulation, and render.

  • Ask when intent is unclear. Do not silently choose.

  • Report failures plainly, with the error and what you tried.

  • Do not paste raw logs unless asked.

Naming

Houdini nodes

  • Leave existing node names alone unless the user asks.

  • Only rename the Component Output. Never rename Component Geometry, Mesh, Configure Layer, Reference, Specialize, or any other copied template node. Rename a different node only when the user explicitly asks.

  • When instantiating a template, call copy_node with no new_name. Keep the names Houdini generates for the copies; a numeric suffix is expected.

  • Name new nodes you create with lowercase words separated by underscores.

  • Do not use generic suffixes such as _1, _final, _new, or _temp.

  • Prefix intermediary input or output nulls referenced by other nodes with IN_ or OUT_.

USD assets and materials

  • USD component assets are PascalCase. The Component Output node name is the asset name: Pig, Chair, WaterTank. It becomes the root prim, for example /Pig.

  • Materials in a Material Library are PascalCase and use exactly the material name: Gray, Wood, Water. Never add _mtl, _mat, _shader, or similar suffixes.

  • Do not rename generated Component Builder nodes. Only the Component Output and the material name carry meaning.

  • Keep the asset name through references: /Pig, /Pig/geo, /Pig/materials/Gray.

Available workflows:

  • anim: Animate objects and characters in Houdini.

  • arnold: Use Arnold for rendering, materials, and lighting in Solaris.

  • assets: Develop Houdini Digital Assets.

  • character: Rig and animate characters with KineFX.

  • composite: Composite images in Houdini COP2 networks.

  • copernicus: Build image-processing networks in Copernicus (COPs).

  • copy: Copy and instance geometry in Houdini.

  • crowds: Build and direct crowd simulations.

  • destruction: Set up rigid-body destruction and fracture simulations.

  • dopparticles: Build POP particle simulations in DOPs.

  • dyno: Set up dynamics simulations with Houdini's solvers.

  • feathers: Groom and simulate feathers.

  • finiteelements: Set up finite-element simulations.

  • fluid: Set up FLIP liquid simulations.

  • fur: Groom and render hair and fur.

  • grains: Simulate sand and granular materials.

  • heightfields: Build terrain with Houdini heightfields.

  • heightfields-cop: Build terrain in Copernicus with COP heightfields.

  • io: Import and export geometry, caches, and images.

  • ml: Use Houdini's machine-learning tools.

  • model: Build and modify procedural geometry in Houdini SOPs.

  • mpm: Set up MPM simulations for sand, snow, and soft solids.

  • muscles: Set up muscles and tissue.

  • ocean: Build ocean and water surfaces.

  • props: Work with Houdini render, shading, light, and camera properties.

  • pyro: Set up pyro simulations for smoke, fire, and explosions.

  • render: Set up rendering in Houdini.

  • shade: Build and assign materials in Houdini.

  • solaris: Build USD scenes in Houdini's Solaris (LOPs).

  • tops: Build PDG/TOPs pipelines.

  • troubleshooting: Debug a Houdini scene methodically.

  • vellum: Set up Vellum simulations for cloth, soft bodies, grains, and hair.

Each workflow is available as a prompt with the same name.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
set_keyframeC

Set a single keyframe on a parameter.

set_keyframesC

Batch-set multiple keyframes on a parameter.

delete_keyframeC

Delete a keyframe at a specific frame.

get_keyframesA

Get all keyframes on a parameter.

set_frameC

Set the current frame in the timeline.

get_frameA

Get the current frame and FPS.

set_frame_rangeC

Set the global frame range.

set_playback_rangeB

Set the playback range (green bar in the timeline).

playbar_controlC

Control playback: play, stop, or reverse.

list_cachesC

List all cache-type nodes under a root path.

get_cache_statusC

Frames on disk for a cache node, against the range it is set to write.

clear_cacheC

Delete cached files on disk for a cache node.

write_cacheC

Execute a cache node, and report whether a cache actually appeared.

get_chop_dataC

Get CHOP node track data.

create_chop_nodeC

Create a new CHOP node.

list_chop_channelsC

List all channels on a CHOP node.

export_chop_to_parmC

Export a CHOP channel to a parameter via a chop() expression.

execute_pythonC

Execute arbitrary Python code inside Houdini. LAST RESORT only.

execute_hscriptC

Execute an HScript command in Houdini.

evaluate_expressionC

Evaluate an expression in Houdini and return its result.

get_env_variableC

Get a Houdini environment variable value.

get_file_referencesC

Return every file path the scene references.

set_update_modeA

Set Houdini's cook update mode, or read it when called with no mode.

get_network_overviewC

Get a compact overview of a network.

get_cook_chainC

Trace the cook dependency chain for a node.

explain_nodeC

Explain a node in human-readable form.

get_selectionB

Get the current node selection.

set_selectionD

Set the node selection.

get_scene_summaryB

Get a high-level summary of the scene.

compare_snapshotsC

Take or compare scene state snapshots.

get_node_errors_detailedC

Get detailed error analysis for nodes.

get_cop_infoC

Get information about a COP node.

get_cop_geometryC

Get geometry representation from a COP node.

get_cop_layerC

Get image layer data from a COP node.

create_cop_nodeC

Create a COP node in the specified network.

set_cop_flagsC

Set flags on a COP node.

list_cop_node_typesC

List available COP node types.

get_cop_vdbC

Get VDB volumetric data from a COP node.

get_simulation_infoC

Get DOP network simulation state, cooked at the current frame.

list_dop_objectsC

List all DOP objects in a simulation.

get_dop_objectC

Get detailed data for a specific DOP object.

get_dop_fieldC

Read a specific field value from a DOP record.

get_dop_relationshipsC

List all relationships between DOP objects.

step_simulationC

Advance the simulation by a number of frames.

reset_simulationC

Reset the simulation to its initial state.

get_sim_memory_usageC

Get detailed memory breakdown for the simulation.

get_geometry_infoC

Get geometry summary for a SOP node.

get_pointsC

Read point positions and attributes with pagination.

get_primsC

Read primitive data and attributes with pagination.

get_attrib_valuesC

Read attribute values as a flat array with pagination.

set_detail_attribC

Set a detail attribute on a SOP node.

get_groupsC

List all geometry groups on a SOP node.

get_group_membersC

Get element indices in a geometry group, with pagination.

get_bounding_boxC

Get the bounding box of a SOP node's geometry.

get_attribute_infoC

Get metadata for a geometry attribute.

sample_geometryC

Sample evenly distributed points from a SOP node's geometry.

get_prim_intrinsicsC

Get intrinsic values for primitives: one, many, or all of them.

find_nearest_pointC

Find the nearest point(s) to a given position.

get_attrib_statsC

Aggregate statistics for numeric attributes: min, max, mean, sum.

get_volume_infoC

Per-volume name, resolution, active voxels, value range, mean and sum.

sample_volumeC

Read named volume fields at world positions, or at another SOP's points.

compare_volumesD

How much of one field sits in each band of another field.

build_networkC

Build a whole node network in one atomic call.

verify_networkC

Inspect every node in a network for errors and cook state.

get_node_cardC

Return a node type's connectors, parameters, and help text.

find_expensive_nodesC

Profile cooking and rank the most expensive nodes.

cook_frame_rangeC

Cook a node frame by frame and report what changed on each frame.

get_cook_statusC

Whether a node has cooked, how often, and whether it is time dependent.

list_installed_hdasC

List installed HDA definitions, grouped by library file.

get_hda_infoC

Get detailed information about an HDA definition.

install_hdaC

Install an HDA file into the current session.

uninstall_hdaB

Uninstall an HDA file from the current session.

reload_hdaC

Reload an HDA file from disk.

create_hdaC

Create a new HDA from an existing subnet node.

update_hdaC

Save the current node contents back to its HDA definition.

get_hda_sectionsC

List all sections in an HDA definition.

get_hda_section_contentC

Read the content of a specific section in an HDA definition.

set_hda_section_contentC

Write content to a specific section in an HDA definition.

list_hda_versionsC

List installed definitions of an HDA type.

set_hda_interfaceC

Author an HDA's Type Properties interface in one call.

edit_hda_interfaceC

Edit an existing HDA interface in one atomic call.

search_helpC

Search Houdini's installed documentation.

get_help_pageC

Fetch one page of Houdini's shipped documentation by path.

get_workflow_guideC

Return the written guide for a workflow topic.

get_stage_infoC

Get USD stage info from a LOP node, or from a LOP network.

get_usd_primD

Get detailed info about a USD prim.

list_usd_primsC

List USD prims on a stage with filtering.

get_usd_attributeC

Read a USD attribute value from a prim.

get_usd_attributesC

Read the same attributes across many prims as one table.

get_usd_world_transformC

World transform of USD prims at one or more frames.

get_usd_layersC

List all layers in a USD stage.

get_usd_prim_statsC

Get prim counts by USD type under a root path.

get_last_modified_primsC

Get prims modified by the last LOP node cook.

create_lop_nodeD

Create a new LOP node.

set_usd_attributeC

Set a USD attribute value via an inline Python LOP.

get_usd_bound_materialC

Return the material bound to each prim and where the binding comes from.

get_usd_materialsC

List all USD materials on a stage.

get_usd_material_texturesC

List every asset-valued input of each USD material.

find_usd_primsC

Search USD prims by path pattern.

get_usd_compositionC

Get composition arcs for a USD prim.

get_usd_variantsC

Get variant sets and selections for a USD prim.

inspect_usd_layerC

Inspect a USD layer by index.

create_lightC

Create a USD light in a LOP network.

list_lightsC

List all USD lights on a LOP stage.

set_light_propertiesC

Set properties on a USD light prim via an inline Python LOP.

create_light_rigC

Create a preset lighting rig in a LOP network.

list_materialsC

List all material nodes under a root path.

get_material_infoC

Get detailed information about a material node.

create_material_networkC

Create a new material network in /mat.

list_material_typesC

List available VOP/material node types.

create_nodeC

Create a node inside a parent network.

delete_nodeC

Delete a node, or several in one call.

delete_sticky_notesC

Delete sticky notes under a network, including nested networks.

rename_nodeC

Rename a node.

copy_nodeC

Copy a node, optionally into a different parent network.

move_nodeC

Move a node to a different parent network.

get_node_infoB

Return a node's type, connections, flags, errors, and changed parameters.

list_childrenC

List children of a network node. Locked assets are opaque unless include_locked_assets (raw contents) or dive_target (editable content) asks for them.

find_nodesC

Search for nodes by name pattern, type, or context.

list_node_typesC

List available node types for a context category.

change_node_typeC

Change a node's type in place, preserving wires and parameters.

press_buttonC

Press a button parameter and return the node's errors and warnings.

connect_nodesC

Connect two nodes together.

connect_nodes_batchC

Connect multiple node pairs in a single call.

disconnect_nodeC

Disconnect one or all inputs of a node.

reorder_inputsC

Reorder the input connections of a node.

set_node_flagsC

Set flags on a node.

layout_childrenC

Auto-layout children of a network node.

set_node_positionC

Set a node's position in the network editor.

set_node_colorC

Set a node's color in the network editor.

create_network_boxC

Draw a titled network box around nodes, to document a graph you built.

list_network_boxesC

List network boxes (backdrops) in a network and the nodes in each.

create_sticky_noteD

Leave a sticky note in a network.

set_object_transformC

Set an object's translate, rotate, scale and/or parent in one call.

get_parameterC

Get the value and metadata of a parameter.

set_parameterD

Set a parameter value.

set_parametersB

Batch-set multiple parameters on a node, in the order given.

get_parameter_schemaC

Get the template schema for parameter(s) on a node.

get_parm_referencesC

Who references a parameter, and what it references — in one call.

get_parm_template_treeC

Return the parameter interface as a tree of folders and parameters.

set_expressionC

Set an expression on a parameter.

get_expressionC

Get the expression on a parameter.

revert_parameterC

Revert a parameter to its default value.

link_parametersC

Create a channel reference from one parameter to another.

lock_parameterC

Lock or unlock a parameter.

create_spare_parameterC

Add a spare parameter to a node.

create_spare_parametersC

Create multiple spare parameters, optionally in a folder tab.

promote_vop_parametersC

Promote VOP inputs to parameters.

get_parametersC

Read many parameter values at once, matched by name or label substring.

render_viewportC

Capture the current 3D viewport to an image file.

render_quad_viewC

Capture all four viewport panes to separate images.

list_render_nodesA

List all render (ROP/Driver) nodes in the scene.

get_render_settingsC

Get render settings from a ROP node.

set_render_settingsC

Set render parameters on a ROP node.

create_render_nodeC

Create a new render (ROP) node in /out.

start_renderC

Execute any node that renders or writes files.

render_node_networkC

Capture a screenshot of a node's network editor view.

get_render_progressC

Progress of a render or write started with start_render.

get_scene_infoB

Get information about the current Houdini scene.

new_sceneC

Create a new empty Houdini scene.

save_sceneC

Save the current Houdini scene to disk.

load_sceneC

Open a hip file, or merge it into the current scene.

import_fileC

Import a geometry, USD, or Alembic file into the scene.

export_fileC

Export a node's output to a file on disk, and report whether it landed.

get_context_infoC

Get information about a Houdini network context.

undoC

Undo the last change(s) made in Houdini.

redoC

Redo the last undone change(s) in Houdini.

list_shelf_toolsC

Find shelf tools by name, label or keyword.

get_shelf_tool_scriptB

Read the script a shelf tool runs, plus its help and imports.

run_shelf_toolC

Run a shelf tool and report the nodes it created.

list_takesA

List all takes in the scene with their hierarchy.

get_current_takeB

Get the current take and its overridden parameters.

set_current_takeC

Set the current take by name.

create_takeC

Create a new take, optionally under a parent take.

get_top_network_infoC

Get an overview of a TOP network.

cook_top_nodeC

Cook a TOP node to execute its work items.

cancel_top_cookC

Cancel active cooking on a TOP network.

pause_top_cookC

Pause cooking on a TOP network.

dirty_work_itemsC

Dirty work items on a TOP node so they can be regenerated.

get_work_item_statesC

Get work item state counts for a TOP node.

get_work_item_infoC

Get detailed information about a specific work item.

get_pdg_graphC

Get the PDG dependency graph structure for a TOP network.

generate_static_itemsC

Generate static work items on a TOP node without cooking.

get_top_scheduler_infoC

Get information about TOP scheduler nodes in a network.

get_failed_work_itemsC

List the work items that failed on a TOP node, with the tail of each log.

get_top_logsC

Cook logs for a TOP node, or the scheduler log of one work item.

create_wrangleC

Create an Attribute Wrangle node with VEX code.

set_wrangle_codeC

Set VEX code on an existing Attribute Wrangle node.

get_wrangle_codeC

Read the VEX code from an Attribute Wrangle node.

create_vex_expressionC

Set an HScript expression on a parameter, evaluated before it is kept.

validate_vexC

Validate VEX code by cooking the node and checking for errors.

list_panesA

List all visible pane tabs in the Houdini UI.

get_viewport_infoC

Get viewport settings for a pane tab.

set_viewport_cameraC

Set the viewport to look through a specific camera.

set_viewport_displayC

Set how the viewport draws and return the applied settings.

set_viewport_rendererC

Set the viewport's Hydra rendering delegate for live preview.

frame_selectionC

Frame the current selection in the viewport.

frame_allA

Frame all geometry in the viewport, or only some nodes or a box.

set_viewport_directionC

Set the viewport to a standard viewing direction, or place the free view.

capture_screenshotC

Capture a screenshot of the viewport or a specific pane tab.

capture_network_editorC

Capture a screenshot of the network editor.

set_current_networkC

Navigate the network editor to a network; the viewer follows it in.

find_error_nodesC

Find all nodes with errors or warnings in the scene.

log_statusC

Display a status message in Houdini's status bar.

set_viewer_contextC

Point the Scene Viewer at a network, and optionally a node inside it.

setup_pyro_simC

Build a Pyro smoke/fire simulation network from source geometry.

setup_rbd_simC

Build an RBD rigid-body simulation network with fracture and solver.

setup_flip_simC

Build a FLIP fluid simulation network from source geometry.

setup_vellum_simC

Build a Vellum simulation network with configure node and solver.

create_materialC

Create a material in /mat with configurable surface properties.

assign_materialC

Assign a material to a geometry node via a Material SOP.

build_sop_chainC

Build a sequential chain of SOP nodes wired together in a single call.

setup_renderC

Set up a render configuration with camera and ROP node.

Prompts

Interactive templates invoked by user choice

NameDescription
animAnimate objects and characters in Houdini.
arnoldUse Arnold for rendering, materials, and lighting in Solaris.
assetsDevelop Houdini Digital Assets.
characterRig and animate characters with KineFX.
compositeComposite images in Houdini COP2 networks.
copernicusBuild image-processing networks in Copernicus (COPs).
copyCopy and instance geometry in Houdini.
crowdsBuild and direct crowd simulations.
destructionSet up rigid-body destruction and fracture simulations.
dopparticlesBuild POP particle simulations in DOPs.
dynoSet up dynamics simulations with Houdini's solvers.
feathersGroom and simulate feathers.
finiteelementsSet up finite-element simulations.
fluidSet up FLIP liquid simulations.
furGroom and render hair and fur.
grainsSimulate sand and granular materials.
heightfieldsBuild terrain with Houdini heightfields.
heightfields-copBuild terrain in Copernicus with COP heightfields.
ioImport and export geometry, caches, and images.
mlUse Houdini's machine-learning tools.
modelBuild and modify procedural geometry in Houdini SOPs.
mpmSet up MPM simulations for sand, snow, and soft solids.
musclesSet up muscles and tissue.
oceanBuild ocean and water surfaces.
propsWork with Houdini render, shading, light, and camera properties.
pyroSet up pyro simulations for smoke, fire, and explosions.
renderSet up rendering in Houdini.
shadeBuild and assign materials in Houdini.
solarisBuild USD scenes in Houdini's Solaris (LOPs).
topsBuild PDG/TOPs pipelines.
troubleshootingDebug a Houdini scene methodically.
vellumSet up Vellum simulations for cloth, soft bodies, grains, and hair.

Resources

Contextual data attached and managed by the client

NameDescription
scene-infoCurrent Houdini scene information.
scene-selectionNodes selected in the current Houdini session.
scene-nodesTop-level nodes in the current Houdini scene.

TDQS

C2.4/5.0

Scored across 213 tools

Disambiguation2/5

With 213 tools there are many overlapping pairs: get_parameter vs get_parameters, get_usd_attribute vs get_usd_attributes, capture_screenshot vs render_viewport vs render_node_network, create_material vs create_material_network, and several list_* tools that differ only subtly. Descriptions help in places, but an agent will frequently face unclear boundaries among the many read/inspect tools.

Naming Consistency4/5

Most tools follow a snake_case verb_noun pattern (get_node_info, create_lop_node, list_usd_prims, set_render_settings). Minor deviations exist, such as playbar_control, log_status, undo/redo, and the misleadingly named create_vex_expression, but the overall convention is predictable.

Tool Count1/5

213 tools is an extreme mismatch for a single MCP server, far beyond the typical 3-15 range. The surface spans many Houdini contexts, but the sheer volume makes tool discovery, selection, and maintenance unwieldy.

Completeness4/5

The surface is remarkably comprehensive across SOP, DOP, COP, TOP, LOP, CHOP, rendering, HDA, UI, and scene workflows, covering most lifecycle operations. However, there are minor gaps such as no delete_take, no delete_network_box, and some material lifecycle operations only partially exposed.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues