Skip to main content

HoudiniMCP – Connect Houdini to Claude via Model Context Protocol

HoudiniMCP allows you to control SideFX Houdini from Claude using the Model Context Protocol (MCP). It consists of:

  1. A Houdini plugin (Python package) that listens on a local port (default localhost:9876) and handles commands (creating and modifying nodes, executing code, etc.).
  2. 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.


Table of Contents

  1. Requirements
  2. Houdini MCP Plugin Installation
    1. Folder Layout
    2. Shelf Tool (Optional)
    3. Packages Integration (Optional)
  3. Installing the mcp Python Package
    1. Using uv on Windows
    2. Using pip Directly
  4. Bridging Script and Claude for Desktop
    1. The Bridging Script
    2. Telling Claude Desktop to Use Your Script
  5. Testing & Usage
  6. Troubleshooting

Requirements

  • SideFX Houdini
  • uv
  • Claude Desktop (latest version)

1. Houdini MCP Plugin Installation

1.1 Folder Layout

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 the HoudiniMCPServer (listening on port 9876)
  • 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.)

1.2 Shelf Tool

create a Shelf Tool to toggle the server in Houdini:

  1. Right-click a shelf → "New Shelf..."

Name it "MCP" or something similar

  1. Right-click again → "New Tool..." Name: "Toggle MCP Server" Label: "MCP"

  2. 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")

1.3 Packages Integration

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"
    }
  ]
}

2 Using uv on Windows

  # 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!')"

3 Telling Claude for Desktop to Use Your Script

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.

4 Use Cursor

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

5 OPUS integration

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

4 Acknowledgement

Houdini-MCP was built following blender-mcp. We thank them for the contribution.

Metadata

Release files for iflow-mcp_houdini-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_houdini-mcp 0.1.0
File Size Uploaded
iflow_mcp_houdini_mcp-0.1.0.tar.gz 31.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_houdini-mcp 0.1.0
File Interpreter ABI Platform
iflow_mcp_houdini_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 61.9 kB

Release files / iflow_mcp_houdini_mcp-0.1.0.tar.gz

Download URL iflow_mcp_houdini_mcp-0.1.0.tar.gz
Size 31.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d2fe0eaa67597b6df91168521c8b837233c938d30dac6fc0411b5ff0058b5d95
BLAKE2b-256 checksum
How to use checksums
d1a8d91f6e5d5f56636e55f28f6695faaee18fd840e4b54784c71d23bfe46fe6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_houdini_mcp-0.1.0-py3-none-any.whl

Download URL iflow_mcp_houdini_mcp-0.1.0-py3-none-any.whl
Size 30.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c6c8d36804f3d989293e5102b0a4ea94f050a379b1bef33be96c5ccfbccba2a
BLAKE2b-256 checksum
How to use checksums
469051112a2857698ad301c598f8a29bedb0dbc68ec4ef32bb3a49c29694ecec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page