Connect agents to SideFX Houdini: edit the scene, cook, render, see the viewport, read the docs.
Connect SideFX Houdini to Claude, Codex, Gemini, Cursor, opencode or pi.
This MCP provides Full Markdown Documentation and Viewport Screenshots support to your agents of choice, enabling strong feedback loops and autonomous workflows.
Windows
powershell -c "irm https://raw.githubusercontent.com/JTCHE/houdini-mcp/main/bootstrap.bat -OutFile bootstrap.bat; .\bootstrap.bat"
macOS / Linux
curl -sSL https://raw.githubusercontent.com/JTCHE/houdini-mcp/main/bootstrap.sh | bash
uv
uv tool install houdini-mcp-server && houdinimcp-install
The installer adds the plugin to Houdini and the server to your AI clients of choice. Restart both.
pi also needs pi install npm:pi-mcp-adapter.
Claude plugin
This repository is also a Claude plugin, for Claude Code and for Cowork on your computer. It needs uv.
The plugin starts a headless Houdini without setup. To connect the Houdini that you have open, ask Claude to run the houdini-setup skill.
uv run --frozen builds an environment from uv.lock in the plugin folder, then starts the MCP server from this repository.localhost only. It starts hython, or houdini on request, from your Houdini install, and ffmpeg to encode a flipbook movie.docs reads the documentation out of your Houdini install with houdinimd-docs. It sends nothing over the network.houdini-setup writes the HoudiniMCP package into your Houdini preferences folder, after you approve it.execute runs any Python that Claude writes in your Houdini session.| Read | scene_overview node_inspect geometry_inspect stage_inspect select console |
| Edit | node_edit parm_set connect hda batch |
| Run | cook render pdg playbar scene_file |
| See | capture: the viewport, a camera, four views or a flipbook |
| Code | execute: Python, HScript, expressions, VEX check |
| Docs | docs: the Houdini documentation of your build, offline, from houdinimd-docs |
| Session | session: status; starts Houdini headless or with its window |
No Houdini open? The server starts a headless hython.
batch builds a whole network in one call, and it is all or nothing: a failed
step undoes the steps before it. A build that works comes back with the cooked
point and primitive counts, and the nodes with errors.
Warning:
executeruns any Python in Houdini. Save your work.
| Problem | Fix |
|---|---|
| No Houdini listens for the bridge | Start Houdini, or click Toggle MCP Server on the HoudiniMCP shelf. |
| No HoudiniMCP shelf | Restart Houdini. houdinimcp-install --list shows where the plugin went. |
| Houdini started from Git Bash has no plugin | Git Bash sets HOME. Set the user variable HOUDINI_USER_PREF_DIR to %USERPROFILE%\Documents\houdini__HVER__. |
capture says there is no viewport | The session is headless. Call session with action="start_gui". |
| You must have a fixed port | Set HOUDINIMCP_PORT for Houdini and for the bridge. Without it, the plugin takes a free port from the operating system and tells the bridge which one. |
Without a terminal, the installer asks nothing and takes the defaults.
houdinimcp-install --list # Houdini installs and clients found, as JSON
houdinimcp-install --yes --json # newest Houdini, every client found; JSON report
houdinimcp-install --houdini-version 22.0 --harness claude-code --yes
houdinimcp-install --dry-run --yes # change nothing
houdinimcp-install --uninstall # remove the plugin and every client entry
Flags: --houdini-version none skips the plugin, --prefs-dir PATH names the
prefs folder, --harness none|all|KEY (repeatable), --quiet-start stops the
first-launch dialogs. The bootstrap scripts pass every flag through.
Manual client setup: run houdinimcp-bridge with no arguments.
claude mcp add --transport stdio houdini -- houdinimcp-bridge for Claude Code.
From a clone: uv run python -m bridge.onboarding.install.
Layout: src/houdinimcp/ is the plugin, a TCP server inside Houdini on
localhost:9877. src/bridge/ is the MCP server and the installer. Messages
are JSON with a 4-byte length prefix. HOUDINIMCP_NO_HEADLESS=1 stops the
headless start. Read AGENTS.md before you change code.
Built on blender-mcp, capoomgit/houdini-mcp, eetumartola/houdini-mcp, Houdini21MCP and fxhoudinimcp. MIT licensed.
Not affiliated with SideFX. Houdini and SideFX are trademarks of SideFX Software Inc.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
uvx houdini-mcp-serverMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-jtche-houdini-mcp": {
"command": "uvx",
"args": [
"houdini-mcp-server"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencehoudini-mcp-serverpypiHoudini MCP works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.