Connect Houdini to Claude AI through MCP protocol
Project description
HoudiniMCP - Houdini Model Context Protocol Integration
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.
Features
- 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
Components
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
Installation
Prerequisites
- Houdini 19.0 or newer
- Python 3.10 or newer
Claude Desktop Integration
To connect Claude to Houdini:
- Open Claude Desktop
- Go to Claude > Settings > Developer > Edit Config
- Update
claude_desktop_config.jsonto 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
Installing the Houdini Extension
Copy houdini_mcp.py to your houdini prefs folder python3.11libs/ subfolder
Usage
Starting the Connection
- 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.
Using with 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.
Available Tools
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
Example Commands
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"
Troubleshooting
- 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.
Technical Details
Communication Protocol
The system uses a simple JSON-based protocol over TCP sockets
Houdini Implementation Notes
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.
Limitations & Security Considerations
- The
execute_houdini_codetool 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.
Acknowledgements
This was originally based on ahujasid's blender-mcp https://github.com/ahujasid/blender-mcp/
Disclaimer
This is a third-party integration and not made by SideFX Software, the creators of Houdini.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_eetumartola_houdini_mcp-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_eetumartola_houdini_mcp-0.1.0.tar.gz
- Upload date:
- Size: 34.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7883e88f411816351e5214fbd01855e9e502bae07aea5db0c9fc8f5649cc7b0e
|
|
| MD5 |
cb5d14188815e68efb8f0533b094de4e
|
|
| BLAKE2b-256 |
d8f33e5e4ff9bb2631650ac020a0e0b0dd0acceafb25fae27046216fb6991302
|
File details
Details for the file iflow_mcp_eetumartola_houdini_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_eetumartola_houdini_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20c9d81a2d0d93487a2a3ddfb4746341088e7f3a7f5b6aff795364e9fa20082a
|
|
| MD5 |
fa2fb1aee71fe7cfd5bb99908ea4ca53
|
|
| BLAKE2b-256 |
38e4b8fb64312044292a13c213ba0f4103a1347dc2df22ae25230554950c0049
|