HoudiniMCP connects Houdini to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Houdini. This integration enables prompt-assisted 3D modeling, scene creation, and manipulation within Houdini.
- Two-way communication: Connect Claude AI to Houdini through a socket-based server
- Object manipulation: Create, modify, and delete 3D objects in Houdini
- Material control: Apply and modify materials and colors
- Scene inspection: Get detailed information about the current Houdini scene
- Code execution: Run arbitrary Python code in Houdini from Claude
- Rendering: Trigger renders directly from Claude
The system consists of two main components:
- Houdini Extension (
houdini_mcp.py
): A Python module that creates a socket server within Houdini to receive and execute commands - MCP Server (
houdini_mcp_server.py
): A Python server that implements the Model Context Protocol and connects to the Houdini extension
- Houdini 19.0 or newer
- Python 3.10 or newer
To connect Claude to Houdini:
- Open Claude Desktop
- Go to Claude > Settings > Developer > Edit Config
- Update
claude_desktop_config.json
to include:
{
"mcpServers": {
"houdini": {
"command": "py",
"args": [
"E:/code/houdini-mcp/houdini_mcp_server.py"
]
}
}
}
- Edit the path to match your location for houdini_mcp_server.py
Copy houdini_mcp.py to your houdini prefs folder python3.11libs/ subfolder
- In Houdini, run the following Python code:
import houdini_mcp
houdini_mcp.start_server()
You should see a message confirming that the server has started.
- Make sure the MCP server is running from Claude.
Once the configuration is set up in Claude, and the Houdini extension is running, you will see a hammer icon with tools for the Houdini MCP.
get_scene_info
- Gets information about the current sceneget_object_info
- Gets detailed information for a specific objectcreate_object
- Create a new object with parametersmodify_object
- Modify an existing object's propertiesdelete_object
- Remove an object from the sceneset_material
- Apply or create materials for objectsexecute_houdini_code
- Run any Python code in Houdinirender_scene
- Render the current scene
Here are some examples of what you can ask Claude to do:
- "Create a procedural landscape in Houdini"
- "Add a red sphere to the scene and place it above the grid"
- "Create a box and apply a checkerboard texture to it"
- "Get information about the current Houdini scene"
- "Set up a basic lighting rig with three-point lighting"
- "Render the current scene at 1080p resolution"
- Connection issues: Make sure the Houdini extension server is running, and the MCP server is configured in Claude.
- Timeout errors: Try simplifying your requests or breaking them into smaller steps.
- Have you tried turning it off and on again?: If you're still having connection errors, try restarting both Claude and the Houdini server.
The system uses a simple JSON-based protocol over TCP sockets
Unlike Blender, Houdini doesn't have a built-in event loop, so we use a separate thread for the socket server. The commands are executed in the main Houdini thread to ensure compatibility with Houdini's threading model.
- The
execute_houdini_code
tool allows running arbitrary Python code in Houdini, which can be powerful but potentially dangerous. Use with caution in production environments. ALWAYS save your work before using it. - Complex operations might need to be broken down into smaller steps.
- This implementation has limited error handling - always save your work before using it for complex tasks.
This was originally based on ahujasid's blender-mcp https://github.com/ahujasid/blender-mcp/
This is a third-party integration and not made by SideFX Software, the creators of Houdini.