Skip to main content

Houdini integration through the Model Context 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, simulation setup, and rendering.

Features

  • Two-way communication: Connect Claude AI to Houdini through a socket-based server
  • Node manipulation: Create, modify, and delete nodes in Houdini networks
  • Geometry creation: Generate various primitive types with customizable parameters
  • Material control: Apply and modify materials
  • Scene inspection: Get detailed information about the current Houdini scene
  • Simulation setup: Create and run physics simulations (fluids, particles, etc.)
  • Rendering control: Configure and execute rendering operations
  • Code execution: Run arbitrary Python code in Houdini from Claude

Components

The system consists of two main components:

  1. Houdini Addon (addon.py): A Houdini Python extension that creates a socket server within Houdini to receive and execute commands
  2. MCP Server (src/houdini_mcp/server.py): A Python server that implements the Model Context Protocol and connects to the Houdini addon

Installation

Prerequisites

  • Houdini 19.0 or newer
  • Python 3.10 or newer
  • uv package manager:

If you're on Mac, please install uv as

brew install uv

On Windows

powershell -c "irm https://astral.sh/uv/install.ps1 | iex" 

and then

set Path=C:\Users\username\.local\bin;%Path%

Otherwise installation instructions are on their website: Install uv

⚠️ Do not proceed before installing UV

Claude for Desktop Integration

Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the following:

{
    "mcpServers": {
        "houdini": {
            "command": "uvx",
            "args": [
                "houdini-mcp"
            ]
        }
    }
}

Cursor integration

Run houdini-mcp without installing it permanently through uvx. Go to Cursor Settings > MCP and paste this as a command.

uvx houdini-mcp

⚠️ Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both

Installing the Houdini Addon

  1. Download the addon.py file from this repo
  2. Copy it to your Houdini Python scripts directory:
    • Windows: C:\Users\username\Documents\houdini19.x\scripts\
    • Mac: /Users/username/Library/Preferences/houdini/19.x/scripts/
    • Linux: ~/houdini19.x/scripts/
  3. Start Houdini and run the following Python code in a Python panel:
    import addon
    server = addon.init_houdinimcp()
    

Usage

Starting the Connection

  1. In Houdini, run the Python code to initialize the server:

    import addon
    server = addon.init_houdinimcp()
    
  2. Verify that you see a message: "HoudiniMCP server started on localhost:9877"

  3. Make sure the MCP server is running in your terminal

Using with Claude

Once the config file has been set on Claude, and the addon is running on Houdini, you will see a hammer icon with tools for the Houdini MCP.

Tools

  • get_scene_info - Gets scene information
  • get_node_info - Gets detailed information for a specific node in the scene
  • create_node - Create a new node with detailed parameters
  • create_geometry - Create basic primitive geometry with customizable parameters
  • modify_node - Modify an existing node's properties
  • delete_node - Remove a node from the scene
  • set_parameter - Set a single parameter of a node
  • connect_nodes - Connect two nodes together
  • set_material - Apply or create materials for objects
  • create_camera - Create a camera with positioning options
  • create_light - Create a light with customizable type and parameters
  • create_simulation - Set up a simulation network for physics
  • run_simulation - Execute a simulation for a specified frame range
  • render_scene - Render the current scene with configurable options
  • export_fbx - Export a node to FBX format
  • execute_houdini_code - Run any Python code in Houdini

Example Commands

Here are some examples of what you can ask Claude to do:

  • "Create a procedural landscape with mountains and a river"
  • "Set up a fluid simulation with a box emitter"
  • "Create a sphere and apply a red material to it"
  • "Modify the camera to have a wide-angle lens"
  • "Get information about the current scene network"
  • "Export the selected object as an FBX file"
  • "Create a particle system with gravity and collision"

Troubleshooting

  • Connection issues: Make sure the Houdini addon server is running, and the MCP server is configured on 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:

  • Commands are sent as JSON objects with a type and optional params
  • Responses are JSON objects with a status and result or message

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.
  • Houdini's node-based system is powerful but complex - some operations may require multiple steps to achieve the desired result.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Disclaimer

This is a third-party integration and not made by SideFX.

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_katha_begin_houdini_mcp-0.1.0.tar.gz (12.9 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_katha_begin_houdini_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_katha_begin_houdini_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 12.9 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_katha_begin_houdini_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5be36b3df4c70651d897a29d51cea3b1e1fbd5d548b253b69e4a8d79526497c5
MD5 6a644772c164ce34daccce7d625af1ed
BLAKE2b-256 6153ba8d4c086bc8f4246b5f46fbceb7bdeb1822e3c9a17d0290e3adf2378f8a

See more details on using hashes here.

File details

Details for the file iflow_mcp_katha_begin_houdini_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_katha_begin_houdini_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.9 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_katha_begin_houdini_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9abca2ca77bbbc743beb85ae95202bbf6ffc1138c7ce50cbac0405389ab4b9c5
MD5 4ef41f11d5c1368cd1221bad640ef5fe
BLAKE2b-256 9fa7e554de9a55e99141f2a910bd01524244415e7f905517851167ef018cf5bb

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