HoudiniMCP allows you to control SideFX Houdini from Claude using the Model Context Protocol (MCP). It consists of:
- A Houdini plugin (Python package) that listens on a local port (default
localhost:9876) and handles commands (creating and modifying nodes, executing code, etc.). - An MCP bridge script you run via uv (or system Python) that communicates via stdin/stdout with Claude and TCP with Houdini.
Below are the complete instructions for setting up Houdini, uv, and Claude Desktop.
- Requirements
- Houdini MCP Plugin Installation
- Installing the
mcpPython Package - Bridging Script and Claude for Desktop
- Testing & Usage
- Troubleshooting
- SideFX Houdini
- uv
- Claude Desktop (latest version)
Create a folder in your Houdini scripts directory: C:/Users/YourUserName/Documents/houdini19.5/scripts/python/houdinimcp/
Inside houdinimcp/, place:
__init__.py– handles plugin initialization (start/stop server)server.py– defines theHoudiniMCPServer(listening on port9876)houdini_mcp_server.py– optional bridging script (some prefer a separate location)pyproject.toml
(If you prefer, houdini_mcp_server.py can live elsewhere. As long as you know its path for running with uv.)
create a Shelf Tool to toggle the server in Houdini:
- Right-click a shelf → "New Shelf..."
Name it "MCP" or something similar
-
Right-click again → "New Tool..." Name: "Toggle MCP Server" Label: "MCP"
-
Under Script, insert something like:
import hou
import houdinimcp
if hasattr(hou.session, "houdinimcp_server") and hou.session.houdinimcp_server:
houdinimcp.stop_server()
hou.ui.displayMessage("Houdini MCP Server stopped")
else:
houdinimcp.start_server()
hou.ui.displayMessage("Houdini MCP Server started on localhost:9876")If you want Houdini to auto-load your plugin at startup, create a package file named houdinimcp.json in the Houdini packages folder (e.g. C:/Users/YourUserName/Documents/houdini19.5/packages/):
{
"path": "$HOME/houdini19.5/scripts/python/houdinimcp",
"load_package_once": true,
"version": "0.1",
"env": [
{
"PYTHONPATH": "$PYTHONPATH;$HOME/houdini19.5/scripts/python"
}
]
} # 1) Install uv
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# 2) add uv to your PATH (depends on the user instructions) from cmd
set Path=C:\Users\<YourUserName>\.local\bin;%Path%
# 3) In a uv project or the plugin directory
cd C:/Users/<YourUserName>/Documents/houdini19.5/scripts/python/houdinimcp/
uv add "mcp[cli]"
# 4) Verify
uv run python -c "import mcp.server.fastmcp; print('MCP is installed!')"Go to File > Settings > Developer > Edit Config > Open or create: claude_desktop_config.json
Add an entry:
{
"mcpServers": {
"houdini": {
"command": "uv",
"args": [
"run",
"python",
"C:/Users/<YourUserName>/Documents/houdini19.5/scripts/python/houdinimcp/houdini_mcp_server.py"
]
}
}
}if uv run was successful and claude failed to load mcp, make sure claude is using the same python version, use:
python -c "import sys; print(sys.executable)"to find python, and replace "python" with the path you got.
Go to Settings > MCP > add new MCP server add the same entry in claude_desktop_config.json you might need to stop claude and restart houdini and the server
OPUS provide a large set of furniture and environmental procedural assets. you will need a Rapid API key to log in. Create an account at: RapidAPI Subscribe to OPUS API at: OPUS API Subscribe Get your Rapid API key at OPUS API add the key to urls.env
Houdini-MCP was built following blender-mcp. We thank them for the contribution.