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:
- A Houdini plugin (Python package) that listens on a local port (default
localhost:9876) and handles commands (creating and modifying nodes, executing code, etc.). - 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
- Requirements
- Houdini MCP Plugin Installation
- Installing the
mcpPython Package - Bridging Script and Claude for Desktop
- Testing & Usage
- 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 theHoudiniMCPServer(listening on port9876)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:
- Right-click a shelf → "New Shelf..."
Name it "MCP" or something similar
-
Right-click again → "New Tool..." Name: "Toggle MCP Server" Label: "MCP"
-
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
609310c21c56e9f668ebc7c76e9b9e8409f8a6158572c7512e57f970799d6677
|
|
| MD5 |
f5f137057efccdc316c22868e488e9be
|
|
| BLAKE2b-256 |
7dcc73d4529fff47df3bb367c80986c2f6940ffa90579c439c09c26ad0a939d9
|
File details
Details for the file mseep_houdinimcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mseep_houdinimcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e180b1a74e1a956ec9f0f0a24b8acced6b85ed9657ea766bb1ecab3134c1de00
|
|
| MD5 |
fb306cc506766c9346924abe721b334b
|
|
| BLAKE2b-256 |
04f7cb13f9dd147b69f553e499bcf7cf83b6b5c6bc0348ec4e5f6fccd613fb11
|