Houdini 22 MCP

A live control layer that lets AI agents inspect and operate Houdini while keeping every meaningful change visible and recoverable.

FocusAgentic creative tooling
Role in the labAn AI product for agent-assisted creative work inside Houdini.
MethodAgentic product development
Live control pathSession connected
01Agent clientMCP requests
02External serverTyped tools + policy
03Local bridgeAuthenticated + bounded
04Houdini 22Main-thread scene control
node.createdparm.changedinput.rewiredcook.verifiedjob.retained

Why I built it

Houdini is a demanding environment for an AI agent. Its node graphs are deep, visual, and stateful; a confident instruction can still create the wrong operator, connect the wrong port, or leave a scene half changed.

I built Houdini 22 MCP to create a more useful relationship between artists and agents: the agent understands the live scene, acts through defined tools, and leaves the artist with a clear view of what changed.

The product problem

A coding agent can generate a script, but a script does not know which Houdini build is installed, what is currently selected, whether a graph cooked successfully, or how to recover from an interrupted operation.

The product had to give an agent enough context to do meaningful work without turning unrestricted code execution into the default interaction.

How I approached it

The MCP runtime stays outside Houdini, while a dependency-free bridge owns authenticated access to the application’s main thread.

High-level typed operations cover the normal workflow. Each request passes preflight and policy checks, produces an audit record, and reserves raw Python or HScript for explicitly trusted local use.

Scene changes are handled as transactions: plan, build atomically, cook, verify, and remove everything created by the request if a step fails.

How the product works

  1. 01

    Discover

    The external MCP server locates the selected live Houdini process and reads installed-version node, parameter, context, and help data.

  2. 02

    Authorize

    A loopback-only bridge verifies a per-process bearer token, request bounds, policy rules, and the intended Houdini instance.

  3. 03

    Execute

    Typed commands run on Houdini’s main thread. Multi-node builds are preflighted and can be staged with rollback and cook verification.

  4. 04

    Observe

    Scene, node, parameter, playback, animation, and APEX events flow back through a cursor-based real-time journal.

Decisions that make it different

Typed tools before raw code

The normal path is a bounded capability with known inputs and outputs. Raw Python and HScript remain opt-in for trusted local clients.

One live scene, recoverable operations

Durable jobs and persisted results survive transport reconnection; checkpoints, staged transactions, and idempotent starts reduce partial work.

Artist-visible control

A dockable Houdini Assistant separates conversation, tool calls, and reasoning summaries, while action approval remains explicit.

What I built

  • 339 typed tools across Houdini’s major contexts, animation systems, assets, and scene operations.
  • A dockable assistant that shows conversation, planned actions, tool activity, and approval points inside Houdini.
  • Recoverable graph construction with dry runs, atomic builds, cook checks, rollback, and durable background work.
  • Loopback-only transport, per-process credentials, quotas, protected paths, operation denial, and bounded audit history.

How it fits the lab

Houdini 22 MCP treats the application itself as part of the conversation. The agent reads live state instead of guessing from a prompt or an exported file.

It also makes recovery a product behavior. Plans, approvals, transactions, and rollback turn agent safety into something an artist can see and use.

Product and technical scope

I defined the product, designed the agent interaction model, built the architecture and Houdini integration, and validated the safety, recovery, testing, and packaging workflows.

  • Model Context Protocol
  • Houdini Object Model
  • Python 3.13
  • Local authenticated HTTP
  • Transactional graph operations
  • Real-time event journal
Next case studyVectorCI