Skip to main content

Add your description here

Project description

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.

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

mseep_houdinimcp-0.1.1.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

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

mseep_houdinimcp-0.1.1-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file mseep_houdinimcp-0.1.1.tar.gz.

File metadata

  • Download URL: mseep_houdinimcp-0.1.1.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for mseep_houdinimcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 609310c21c56e9f668ebc7c76e9b9e8409f8a6158572c7512e57f970799d6677
MD5 f5f137057efccdc316c22868e488e9be
BLAKE2b-256 7dcc73d4529fff47df3bb367c80986c2f6940ffa90579c439c09c26ad0a939d9

See more details on using hashes here.

File details

Details for the file mseep_houdinimcp-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mseep_houdinimcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e180b1a74e1a956ec9f0f0a24b8acced6b85ed9657ea766bb1ecab3134c1de00
MD5 fb306cc506766c9346924abe721b334b
BLAKE2b-256 04f7cb13f9dd147b69f553e499bcf7cf83b6b5c6bc0348ec4e5f6fccd613fb11

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