fxhoudinimcp
The most comprehensive MCP server for SideFX Houdini.
168 tools across 19 categories, covering every major Houdini context.
##
目录
关于
全面 主控程序 (模型上下文协议)服务器 SideFX胡迪尼.将Claude等人工智能助手直接连接到Houdini的Python API,实现对场景构建、模拟设置、渲染等的自然语言控制。
168工具, 8资源,以及 6个工作流提示 开箱即用。
特性
| 类别 | 工具 | 描述 |
|---|---|---|
| 场景管理 | 7 | 打开、保存、导入/导出、场景信息 |
| 节点操作 | 16 | 创建、删除、复制、连接、布局、标志 |
| 参数 | 10 | 获取/设置值、表达式、关键帧、备用参数 |
| 几何形状(SOP) | 12 | 点、首字母、属性、组、采样、最近点搜索 |
| 贷款/美元 | 18 | 舞台检查、底漆、图层、构图、变体、照明 |
| DOP | 8 | 模拟信息、DOP对象、步进/重置、内存使用情况 |
| 首席执行官/首席执行官 | 10 | 烹饪、工作项、调度器、依赖关系图 |
| 科普(哥白尼) | 7 | 图像节点、图层、VDB数据 |
| HDA | 10 | 创建、安装、管理数字资产及其部分 |
| 动画 | 9 | 关键帧、播放栏控制、帧范围 |
| 渲染 | 9 | 视口捕获、渲染节点、设置、渲染启动 |
| 使烦恼 | 5 | 创建/编辑争论,验证VEX代码 |
| 代码执行 | 4 | Python、HScript、表达式、环境变量 |
| 视口/UI | 11 | 窗格管理、屏幕截图、状态消息、错误检测 |
| 场景背景 | 8 | 网络概述、烹饪链、选择、场景总结、错误分析 |
| 工作流 | 8 | 一次调用Pyro/RBD/FLIP/Vellum设置、SOP链、渲染配置 |
| 材料 | 4 | 列出、检查、创建材质和着色器网络 |
| 切碎 | 4 | 通道数据、CHOP节点、将通道导出为参数 |
| 缓存 | 4 | 列出、检查、清除、写入文件缓存 |
| 拿 | 4 | 列出、创建、切换参数覆盖 |
建筑
flowchart LR
subgraph Client[" 🤖 AI Client "]
direction TB
A1("Claude Desktop")
A2("Cursor / VS Code")
A3("Claude Code")
end
subgraph MCP[" ⚡ FXHoudini MCP Server "]
direction TB
B1("🔧 168 Tools")
B2("📦 8 Resources")
B3("💬 6 Prompts")
end
subgraph Houdini[" 🔶 SideFX Houdini "]
direction TB
C1("🌐 hwebserver")
C2("📡 Dispatcher")
C3("🎛️ hou.* Handlers")
C1 --> C2 --> C3
end
Client -. "MCP Protocol · stdio" .-> MCP
MCP -. "HTTP / JSON · port 8100" .-> Houdini
classDef clientBox fill:#f0f4ff,stroke:#b8c9e8,stroke-width:1px,color:#2d3748,rx:12,ry:12
classDef mcpBox fill:#eef6f0,stroke:#a8d5b8,stroke-width:1px,color:#2d3748,rx:12,ry:12
classDef houdiniBox fill:#fff5f0,stroke:#e8c4a8,stroke-width:1px,color:#2d3748,rx:12,ry:12
classDef clientNode fill:#dbe4f8,stroke:#96b0dc,stroke-width:1px,color:#2d3748,rx:8,ry:8
classDef mcpNode fill:#d4edda,stroke:#82c896,stroke-width:1px,color:#2d3748,rx:8,ry:8
classDef houdiniNode fill:#fde4d0,stroke:#e0a87c,stroke-width:1px,color:#2d3748,rx:8,ry:8
class Client clientBox
class MCP mcpBox
class Houdini houdiniBox
class A1,A2,A3 clientNode
class B1,B2,B3 mcpNode
class C1,C2,C3 houdiniNode使用Houdini的内置 hwebserver。没有自定义套接字服务器,没有rpyc。用途 hdefereval.executeInMainThreadWithResult() 安全奔跑 hou.* 调用主线程。
安装
需求
- 胡迪尼 20.5+(21.0测试)
- python 3.10+
- MCP-SDK (
mcp包装)1.8+
1.安装MCP服务器
来自PyPI:
pip install fxhoudinimcp来源:
pip install -e .或者具有开发依赖性:
pip install -e ".[dev]"2.安装Houdini插件
选项A:Houdini套餐(推荐)
- 复制
houdini/fxhoudinimcp.json到您的Houdini软件包目录:
- 窗户: %USERPROFILE%/Documents/houdiniXX.X/packages/ - Linux: ~/houdiniXX.X/packages/ - macOS: ~/Library/Preferences/houdini/XX.X/packages/
- 编辑JSON文件以进行设置
FXHOUDINIMCP指向houdini此仓库中的目录。
选项B:手动复制
复制以下内容 houdini/ 进入Houdini用户首选项目录,以便:
scripts/python/fxhoudinimcp_server/在Houdini的Python路径上python3.Xlibs/uiready.py自动启动服务器(复制与Houdini的Python版本匹配的文件夹)toolbar/fxhoudinimcp.shelf出现在您的书架上
3.配置您的MCP客户端
克劳德桌面 (claude_desktop_config.json):
{
"mcpServers": {
"fxhoudini": {
"command": "python",
"args": ["-m", "fxhoudinimcp"],
"env": {
"HOUDINI_HOST": "localhost",
"HOUDINI_PORT": "8100"
}
}
}
}克劳德代码 (全局--每个项目都有):
claude mcp add --scope user fxhoudini -- python -m fxhoudinimcp或者,要将其范围限定到单个项目,请添加 .mcp.json 在项目根目录中:
{
"mcpServers": {
"fxhoudini": {
"command": "python",
"args": ["-m", "fxhoudinimcp"]
}
}
}\[!提示\] 如果Claude Desktop报告服务器为 断开,替换"python"随着 完全绝对路径 到你的Python可执行文件。Claude Desktop并不总是继承 您的系统路径。通过以下方式查找: ``shell python -c "import sys; print(sys.executable)"`然后在配置中使用结果,例如。"command": "C:\\Program Files\\Python311\\python.exe"`. 更改任何配置后,完全退出Claude Desktop(系统托盘→ 退出)并重新启动。
用法
正常启动Houdini。当UI准备就绪时,插件会自动启动一次(由控制 FXHOUDINIMCP_AUTOSTART env变量)。启动脚本使用 uiready.py,它可以与其他Houdini软件包正确堆叠。您还可以通过以下方式手动切换 MCP服务器 货架工具。
连接后,您的AI助手可以:
"Create a procedural rock generator with mountain displacement"
"Set up a Pyro simulation with a sphere source"
"Build a USD scene with a camera, dome light, and ground plane"
"Create an HDA from the selected subnet"
"Debug why my scene has cooking errors"环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
HOUDINI_HOST | localhost | 胡迪尼主机地址 |
HOUDINI_PORT | 8100 | Houdini网络服务器端口 |
FXHOUDINIMCP_PORT | 8100 | Houdini插件监听端口 |
FXHOUDINIMCP_AUTOSTART | 1 | 设置为 0 禁用自动启动 |
MCP_TRANSPORT | stdio | MCP传输(stdio 或 streamable-http) |
LOG_LEVEL | INFO | 日志记录级别 |
发展
# Install dev dependencies
pip install -e ".[dev]"
# Run linter
ruff check python/
# Run tests
pytest运作原理
- Houdini插件 (
houdini/):在Houdini的Python环境中运行。寄存器@hwebserver.apiFunction接收JSON命令的端点。用途hdefereval.executeInMainThreadWithResult()安全执行hou.*调用主线程。
- MCP服务器 (
python/fxhoudinimcp/):使用FastMCP的独立Python进程。通过MCP协议显示167个工具、8个资源和6个提示。通过HTTP将工具调用转发给Houdini。
- 桥 (
python/fxhoudinimcp/bridge.py):异步HTTP客户端,向Houdini的hwebserver发送命令并反序列化响应。处理连接错误和超时。
联系
项目链接: fxhoudinimcp
许可证
麻省理工学院
