# dcc-mcp-houdini - AI reference

## Start server

```python
import dcc_mcp_houdini
server = dcc_mcp_houdini.start_server()
server.mcp_url  # exact OS-assigned instance URL
dcc_mcp_houdini.stop_server()
```

## MCP host config

```json
{"mcpServers": {"houdini": {"url": "http://127.0.0.1:9765/mcp"}}}
```

The gateway is stable; use `dcc-mcp-cli list` to inspect the transient direct
URL for every registered Houdini instance.

## Progressive loading

```python
server.find_skills(query="hda")
server.load_skill("houdini-scene")
server.load_skill("houdini-nodes")
server.loaded_skill_count()
server.list_skills()
```

## Public exports

- `HoudiniMcpServer`, `start_server`, `stop_server`, `get_server`
- `HoudiniUiDispatcher`, `HoudiniUiPump`, `HoudiniHost`, `HoudiniCallableDispatcher`, `create_execution_stack`
- `houdini_success`, `houdini_error`, `with_houdini`
- `build_minimal_mode_config`, `build_minimal_mode_for_stages`, `MINIMAL_SKILLS`, `STAGES`, `STAGE_SKILLS`

## Bundled tools (31 skills, 180+ tools)

### bootstrap (default)
- `houdini_scripting__execute_python`, `get_session_info`

### scene (default)
- `houdini_scene__inspect_selection`, `get_scene_info`, `list_obj_nodes`, `list_child_nodes`, `get_node_info`
- `houdini_scene_edit__new_scene`, `open_scene`, `save_scene`, `get_selection`, `set_selection`, `find_nodes`, `list_cameras`, `get_bounding_box`

### authoring (load on demand)
- `houdini_nodes__create_node`, `set_node_parms`, `connect_nodes`, `cook_node`, `layout_children`, `delete_node`
- `houdini_object_ops__rename_node`, `duplicate_node`, `parent_node`, `set_node_flags`, `set_node_lock`, `get_transform`, `set_transform`
- `houdini_parameters__list_parms`, `get_parms`, `get_parm_templates`, `get_expression`, `set_parms`, `add_spare_parm`, `remove_spare_parm`, `set_expression`, `clear_expression`
- `houdini_node_graph__get_connections`, `connect_input`, `disconnect_input`
- `houdini_geometry__create_primitive`, `get_geometry_info`, `list_attributes`, `list_groups`, `get_cook_status`
- `houdini_mesh_ops__transform_geometry`, `merge_geometry`, `blast_geometry`, `group_geometry`, `add_normals`, `triangulate_geometry`, `convert_geometry`
- `houdini_camera_light__list_cameras`, `create_camera`, `update_camera`, `frame_view`, `get_view_state`, `create_light`, `update_light`
- `houdini_materials__create_material`, `assign_material`
- `houdini_lookdev__list_materials`, `list_assignments`, `get_material_parms`, `set_material_parms`, `get_shader_connections`, `connect_shader`, `disconnect_shader`, `reset_material`, `save_preset`, `list_presets`, `load_preset`, `delete_preset`
- `houdini_hda__install_hda_file`, `list_hda_definitions`, `execute_hda`, `save_node_as_hda`, `promote_hda_parameters`, `author_hda_interface`, `publish_hda_library`, `validate_hda_contract`, `update_hda_definition`, `sync_hda_instance`
- `houdini_chops__create_chop_network`, `create_motionclip`, `create_audio_driven`, `apply_filter`, `export_to_keyframes`, `get_channel_info`
- `houdini_constraints__create_parent_constraint`, `create_blend_constraint`, `create_position_constraint`, `create_orient_constraint`, `list_constraints`, `delete_constraint`
- `houdini_export_preset__list_export_presets`, `save_export_preset`, `load_export_preset`, `delete_export_preset`
- `houdini_kinefx__create_rig`, `set_rig_pose`, `capture_joints`, `apply_mocap`
- `houdini_light_rig__create_three_point_light_rig`, `create_area_softbox`, `create_hdri_world`, `list_light_rigs`, `set_light_rig_intensity`, `aim_light_at_object`, `group_lights`, `set_render_view_transform`, `get_lighting_summary`
- `houdini_material_library__save_material_preset`, `list_material_presets`, `load_material_preset`, `delete_material_preset`, `get_shader_assignment`, `get_material_connections`, `set_material_attribute`, `assign_texture`, `list_images`, `reload_image`, `list_color_spaces`, `set_color_management`
- `houdini_texture_bake__list_bake_targets`, `bake_textures`, `bake_ambient_occlusion`, `bake_lighting`, `transfer_maps`

### interchange (load on demand)
- `houdini_interchange__probe_file`, `import_geometry`, `export_geometry`, `export_alembic`, `export_fbx`, `export_usd`
- `houdini_import_to_scene__import_to_scene`

### pipeline (load on demand)
- `houdini_render__capture_viewport`, `flipbook`, `get_render_settings`, `set_render_settings`, `validate_karma_stage`, `render_rop`, `get_render_job`, `finalize_render_outputs`, `cancel_render_job`, `create_render_layer`, `configure_aovs`, `manage_takes`, `get_render_stats`
- `houdini_karma__configure_karma`, `set_material_override`, `configure_light_mixer`, `set_image_output`
- `houdini_husk__render_with_husk`, `get_husk_job`, `cancel_husk_job`, `create_checkpoint`, `create_snapshot`, `set_husk_options`
- `houdini_animation__get_timeline`, `set_timeline`, `set_keyframe`, `get_keyframes`, `delete_keyframes`, `list_animated_parms`, `validate_loop_contract`, `get_channel_info`, `export_channels`, `import_channels`, `bake_channels`, `cache_simulation`
- `houdini_hda_automation__scan_hda_libraries`, `inspect_hda_definition`, `instantiate_hda`, `validate_hda`, `cook_top_network`, `execute_rop_chain`
- `houdini_pipeline__set_project`, `get_project`, `tag_asset_metadata`, `get_asset_metadata`, `validate_scene`, `collect_dependencies`, `export_shot_package`
- `houdini_dev__attach_project`, `reload_modules`, `run_entrypoint`, `run_script`, `start_debugpy`, `introspect_hom`, `ui_snapshot`, `ui_action`
- `houdini_automation__run_python_file`, `set_frame_range`, `save_hip_file`, `load_hip_file`, `build_node_chain`

## Skill stages

- `bootstrap`: `houdini-scripting` (default loaded)
- `scene`: `houdini-scene`, `houdini-scene-edit` (partial default)
- `authoring`: `houdini-nodes`, `houdini-object-ops`, `houdini-parameters`, `houdini-node-graph`, `houdini-geometry`, `houdini-mesh-ops`, `houdini-camera-light`, `houdini-materials`, `houdini-lookdev`, `houdini-hda`, `houdini-chops`, `houdini-constraints`, `houdini-export-preset`, `houdini-kinefx`, `houdini-light-rig`, `houdini-material-library`, `houdini-texture-bake`
- `interchange`: `houdini-interchange`, `houdini-import-to-scene`
- `pipeline`: `houdini-render`, `houdini-karma`, `houdini-husk`, `houdini-animation`, `houdini-hda-automation`, `houdini-pipeline`, `houdini-dev`, `houdini-automation`

## Dev (Windows)

```
just houdini-version=20.5 houdini-dev-build-link-core-win
just houdini-version=20.5 houdini-dev-debug-win
```

## Build and release checks

```
just lint-all
just test
just build-houdini-package platform=win64
python -m twine check dist/*
```

Quickinstall ZIPs contain the adapter wheel, compatible `dcc-mcp-core` wheels,
Houdini package templates, `123.py`, and install scripts.

See `docs/guide/local-mcp-debug.md`, `docs/ci/houdini-docker.md`, and `AGENTS.md`.
