Skip to main content

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:

  1. Houdini Extension (houdini_mcp.py): A Python module that creates a socket server within Houdini to receive and execute commands
  2. 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:

  1. Open Claude Desktop
  2. Go to Claude > Settings > Developer > Edit Config
  3. Update claude_desktop_config.json to include:
{
    "mcpServers": {
        "houdini": {
            "command": "py",
            "args": [
                "E:/code/houdini-mcp/houdini_mcp_server.py"
            ]
        }
    }
}
  1. 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

  1. 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.

  1. 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 scene
  • get_object_info - Gets detailed information for a specific object
  • create_object - Create a new object with parameters
  • modify_object - Modify an existing object's properties
  • delete_object - Remove an object from the scene
  • set_material - Apply or create materials for objects
  • execute_houdini_code - Run any Python code in Houdini
  • render_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_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.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_eetumartola_houdini_mcp-0.1.0.tar.gz (34.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Hashes for iflow_mcp_eetumartola_houdini_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7883e88f411816351e5214fbd01855e9e502bae07aea5db0c9fc8f5649cc7b0e
MD5 cb5d14188815e68efb8f0533b094de4e
BLAKE2b-256 d8f33e5e4ff9bb2631650ac020a0e0b0dd0acceafb25fae27046216fb6991302

See more details on using hashes here.

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

Hashes for iflow_mcp_eetumartola_houdini_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20c9d81a2d0d93487a2a3ddfb4746341088e7f3a7f5b6aff795364e9fa20082a
MD5 fa2fb1aee71fe7cfd5bb99908ea4ca53
BLAKE2b-256 38e4b8fb64312044292a13c213ba0f4103a1347dc2df22ae25230554950c0049

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page