AI Skill Hub 强烈推荐:Houdini MCP 是一款优质的MCP工具。AI 综合评分 8.0 分,在同类工具中表现稳健。如果你正在寻找可靠的MCP工具解决方案,这是一个值得深入了解的选择。
Houdini MCP 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
Houdini MCP 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/healkeiser/fxhoudinimcp
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"houdini-mcp": {
"command": "npx",
"args": ["-y", "fxhoudinimcp"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 Houdini MCP 执行以下任务... Claude: [自动调用 Houdini MCP MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"houdini_mcp": {
"command": "npx",
"args": ["-y", "fxhoudinimcp"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
<img src="https://cdn.simpleicons.org/houdini/FF4713" alt="Houdini" width="80"> <img src="https://cdn.simpleicons.org/modelcontextprotocol/ffffff" alt="MCP" width="80">
<p align="center"> The most comprehensive MCP server for SideFX Houdini. <br/> 188 tools across 23 categories, covering every major Houdini context. <br/><br/> </p>
##
<p align="center"> <img src="https://img.shields.io/badge/maintenance-actively--developed-brightgreen.svg?&label=Maintenance"> <img src="https://img.shields.io/badge/License-MIT-brightgreen.svg?&logo=open-source-initiative&logoColor=white" alt="License: MIT"/> <img src="https://img.shields.io/github/last-commit/healkeiser/fxhoudinimcp?logo=github&label=Last%20Commit" alt="Last Commit"/> <a href="https://github.com/healkeiser/fxhoudinimcp/pulse" alt="Activity"> <img src="https://img.shields.io/github/commit-activity/m/healkeiser/fxhoudinimcp?&logo=github&label=Commit%20Activity"/></a> <a href="https://pypi.org/project/fxhoudinimcp/"> <img src="https://img.shields.io/pypi/v/fxhoudinimcp?logo=pypi&logoColor=white&label=PyPI" alt="PyPI"/></a> <a href="https://pepy.tech/projects/fxhoudinimcp"><img src="https://static.pepy.tech/badge/fxhoudinimcp" alt="PyPI Downloads"></a> <img src="https://img.shields.io/github/stars/healkeiser/fxhoudinimcp" alt="GitHub Stars"/> </p>
</div>
A comprehensive MCP (Model Context Protocol) server for SideFX Houdini. Connects AI assistants like Claude directly to Houdini's Python API, enabling natural language control over scene building, simulation setup, rendering, and more.
188 tools, 8 resources, and 9 prompts serving 31 written workflow guides out of the box.
| Category | Tools | Description |
|---|---|---|
| **Graph Intelligence** | 6 | Atomic validated network building, network verification, node doc cards, cook profiling, frame-range cooking with per-frame evidence, cook status |
| **Documentation** | 2 | Full-text search + page retrieval over Houdini's own shipped manual (version-exact) |
| **Scene Management** | 7 | Open, save, import/export, scene info |
| **Node Operations** | 17 | Create, delete, copy, connect, layout, flags |
| **Parameters** | 12 | Get/set values in bulk, expressions, keyframes, spare parameters |
| **Geometry (SOPs)** | 14 | Points, prims, attributes, attribute statistics, volume inspection, groups, sampling, nearest-point search |
| **LOPs/USD** | 18 | Stage inspection, prims, layers, composition, variants, lighting |
| **DOPs** | 8 | Simulation info, DOP objects, step/reset, memory usage |
| **PDG/TOPs** | 10 | Cook, work items, schedulers, dependency graphs |
| **COPs (Copernicus)** | 7 | Image nodes, layers, VDB data |
| **HDAs** | 10 | Create, install, manage Digital Assets and their sections |
| **Animation** | 9 | Keyframes, playbar control, frame range |
| **Rendering** | 9 | Viewport capture, render nodes, settings, render launch |
| **VEX** | 5 | Create/edit wrangles, validate VEX code |
| **Code Execution** | 4 | Python, HScript, expressions, env variables |
| **Viewport/UI** | 14 | Pane management, viewer context, verified camera and renderer state, screenshots, error detection |
| **Scene Context** | 8 | Network overview, cook chain, selection, scene summary, error analysis |
| **Workflows** | 8 | One-call Pyro/RBD/FLIP/Vellum setup, SOP chains, render config |
| **Materials** | 5 | List, inspect, create materials and shader networks |
| **CHOPs** | 4 | Channel data, CHOP nodes, export channels to parameters |
| **Cache** | 4 | List, inspect, clear, write file caches |
| **Takes** | 4 | List, create, switch takes with parameter overrides |
| **Shelf Tools** | 3 | Find, read and run Houdini's own shelf tools (setups build_network cannot produce) |
mcp package) 1.8+, installed for you as a dependencypip install -e ".[dev]"
FXHoudini-MCP has two halves: a Houdini plugin that runs inside Houdini, and an MCP server that your AI client starts and which relays to it over loopback. Both ship in the same Python package, so one install command sets up both and one upgrade moves them together.
pip install fxhoudinimcp
python -m fxhoudinimcp install
Then restart Houdini, restart your MCP client, and check the MCP menu in Houdini's menu bar.
install does both halves. It writes a Houdini package file pointing at this exact install, and registers the server with Claude Code and Claude Desktop, whichever it finds, using the absolute path of the Python you ran it with.
Use python -m fxhoudinimcp install rather than the bare fxhoudinimcp install if you have more than one Python. Both work, but the module form is self-correcting: whichever interpreter runs it is the one written into your client config, so if the command runs at all, the path it registers is correct.
Add --dry-run first if you want to see every file it would touch and change nothing.
It asks nothing and it finishes. If you have several Houdini versions, it writes into every packages directory it finds:
Houdini plugin
Wrote C:\Users\you\Documents\houdini21.0\packages\fxhoudinimcp.json
Wrote C:\Users\you\Documents\houdini22.0\packages\fxhoudinimcp.json
That is safe rather than lazy. The files are identical and point at the same plugin, so whichever directory your Houdini reads, it finds a correct one. It also settles the Windows case where OneDrive's Documents redirection makes a desktop-launched Houdini and a shell-launched one disagree: both paths get a file, so both work. The cost is an MCP menu in a Houdini version you may not use, which uninstall clears in one go.
Because it never stops to ask, the same command works unchanged from a terminal, from Houdini's MCP menu, or from a setup script. To target one directory only:
python -m fxhoudinimcp install --houdini-dir "~/Documents/houdini22.0/packages"
If your MCP client already has an fxhoudini entry pointing at a different interpreter, it is repointed at this one and the old value is printed. That is the common case after switching Python versions or recreating a virtualenv.
| Flag | What it does |
|---|---|
--dry-run | Report every change, make none |
--houdini-dir DIR | Which packages directory to write into |
--client-only | Register a client, leave Houdini untouched. Needs no packages directory, so it works when several exist |
--client auto\|claude-code\|claude-desktop\|both\|none | Which client to register. none if you wire it up yourself |
Upgrading later moves both halves at once, because the plugin lives inside the wheel:
pip install --upgrade fxhoudinimcp
The one thing to know: if you told Houdini to load the plugin from a git clone instead of the installed package (see by hand), pip install --upgrade will not move that half. Those two halves are then independent, and the server warns at startup when it finds a plugin older than itself.
pip uninstall moves neither half. The Houdini package file and the client registration both outlive it, and both fail quietly once the package is gone: a package file pointing at a plugin directory that no longer exists is skipped by Houdini without a word, and a stale client entry shows up only as "disconnected". So take the two halves out first, then the package:
python -m fxhoudinimcp uninstall
pip uninstall fxhoudinimcp
uninstall lists everything it found and asks before removing any of it. Unlike install it does not need to know which Houdini you meant: every fxhoudinimcp.json it finds is a leftover, and the one you forget is exactly what silently overrides your next install. Narrow it with --houdini-dir when you only want one Houdini cleaned.
| Flag | What it removes |
|---|---|
--dry-run | Nothing. Lists what it would remove |
--houdini-dir DIR | Only this packages directory, instead of every one found |
--client-only | Only the client registration, leaving the package files |
--client auto\|claude-code\|claude-desktop\|both\|none | Which client to unregister from |
--yes | Skip the confirmation. Required when stdin is not a terminal |
install is the recommended route and the rest of this section is the manual equivalent, for contributors working from a clone, locked-down machines, or when something needs untangling. It is the same two halves.
fxhoudinimcp houdini-package
That prints the package file with the plugin path filled in for this install, plus the Houdini packages directories found on your machine. Write it with:
fxhoudinimcp houdini-package --write "~/Documents/houdini22.0/packages"
Do not type the plugin path by hand. It lives inside the Python environment you installed into, so it changes if you recreate a virtualenv, switch to uv or pipx, or move between Python versions, and Houdini says nothing when a package path stops resolving. --path-only prints just the path for scripting.
Like install, this deliberately does not pick a packages directory for you, and it warns if another fxhoudinimcp.json exists elsewhere, because Houdini processes every packages directory and lets the last one win. That is how a stale clone silently overrides a fresh install.
Pointing at a clone instead. Contributors, or anyone wanting the plugin tracked by git, can write the package file against a checkout:
{ "env": [ { "FXHOUDINIMCP": "C:/Users/you/code/fxhoudinimcp/houdini" } ],
"path": "$FXHOUDINIMCP" }
Forward slashes work on every platform. The path must end in /houdini and must contain scripts/, MainMenuCommon.xml and the python3.Xlibs/ folders. Do not do this and the CLI, or the two package files will fight. Remember that pip install --upgrade cannot move a clone.
[!NOTE] Copyinghoudini/into your Houdini preferences directory also works, but it is not recommended:pipcannot update a copy, so the plugin drifts behind the server, which is the skew the startup compatibility warning exists to catch. Use a package file so there is one copy of the plugin.
Both examples need the absolute path to the Python that has fxhoudinimcp installed. Clients start their servers without your shell environment, so a bare python resolves against a PATH they may not share, and the only symptom is the client reporting disconnected with nothing explaining why. Find the path with:
python -c "import sys; print(sys.executable)"
Claude Code (user scope, available in every project):
claude mcp add --scope user fxhoudini -- "C:\Program Files\Python311\python.exe" -m fxhoudinimcp
There is no in-place update. To repoint an existing entry, remove it first:
claude mcp remove fxhoudini -s user
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"fxhoudini": {
"command": "C:\\Program Files\\Python311\\python.exe",
"args": ["-m", "fxhoudinimcp"]
}
}
}
After any change, fully quit Claude Desktop (system tray → Quit) and relaunch; closing the window is not enough.
To scope the server to a single project instead, add a .mcp.json in the project root with the same mcpServers block.
python -m fxhoudinimcp install --client-only does this step for you, with the right path already filled in, and leaves the Houdini side alone. MCP > Connect a Client... inside Houdini prints the same command along with the port that session actually ended up on.
Launch Houdini normally. The plugin auto-starts once when the UI is ready (controlled by FXHOUDINIMCP_AUTOSTART env var). The startup script uses uiready.py, which stacks correctly with other Houdini packages. You can also control it manually from the MCP menu (Start Server, Stop Server, Connect a Client, Server Status).
MCP > Connect a Client... prints the claude mcp add line for the port this session actually ended up on, and copies it to the clipboard. That matters with more than one Houdini open: a second session moves itself to the next free port, so the configured port and the real one differ.
Startup verifies that Houdini's mcp.health endpoint answers from the current Houdini process before printing that the server is ready. If your assistant cannot reach Houdini after an app restart, call get_houdini_connection_status for structured diagnostics, then relaunch Houdini or align FXHOUDINIMCP_PORT and HOUDINI_PORT if another process owns the port.
Once connected, your AI assistant can:
"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"
The package file install writes is also where the Houdini-side settings live. It ships every one of them at its default, so they are all visible in one place: FXHOUDINIMCP_PORT, FXHOUDINIMCP_BIND, FXHOUDINIMCP_AUTOSTART and FXHOUDINIMCP_AUTO_LAYOUT (see Environment Variables for what each does). Two things to know:
- Because the package sets these explicitly, it wins over the same variable set in your shell. Change them here, not in your environment. Houdini's package format has no "only if unset" method, and it rejects JSON comments, so there is no way to ship them inert. - HOUDINI_HOST, HOUDINI_PORT, MCP_TRANSPORT and LOG_LEVEL do not belong here. They are read by the MCP server process that your client launches, not by Houdini, so setting them in this file has no effect -- configure those in your MCP client instead. If you change FXHOUDINIMCP_PORT, set HOUDINI_PORT to match on the client side.
Note that pinning HOUDINI_PORT on the client switches off the port scan. A second Houdini moves itself to the next free port, and the client normally finds it by scanning 8100-8115 and taking the lowest that answers. Pin it only when you want one specific session.
| Variable | Default | Description |
|---|---|---|
HOUDINI_HOST | localhost | Houdini host address |
HOUDINI_PORT | 8100 | Houdini hwebserver port |
FXHOUDINIMCP_PORT | 8100 | Port for the Houdini plugin to listen on |
FXHOUDINIMCP_AUTOSTART | 1 | Set to 0 to disable auto-start |
FXHOUDINIMCP_AUTO_LAYOUT | 1 | Set to 0 to disable automatic node layout (preserves manual layouts) |
FXHOUDINIMCP_BIND | 127.0.0.1 | Address the Houdini plugin binds. Loopback by default: the bridge runs arbitrary Python in your Houdini session and has no authentication, so only widen this on a network you trust |
MCP_TRANSPORT | stdio | MCP transport (stdio or streamable-http) |
LOG_LEVEL | INFO | Logging level |
No MCP menu means the package file was skipped, and Houdini does that without printing anything. Start it with the package log enabled and look for your file:
```shell
fxhoudinimcp 是专为 SideFX Houdini 设计的最全面的 MCP (Model Context Protocol) 服务器。它通过将 Claude 等 AI 助手直接连接到 Houdini 的 Python API,实现了通过自然语言控制场景构建、模拟设置、渲染及更多操作的能力。项目开箱即用,内置了 179 个工具、8 个资源和 6 个工作流 Prompt,让 AI 能够深度理解并操作 Houdini 环境。
本项目提供了极其丰富的工具集,涵盖了 22 个核心类别。其中包括用于网络构建与验证的 Graph Intelligence 工具、支持版本精确匹配的 Houdini 官方文档全文检索功能、完善的 Scene Management 场景管理工具,以及包含 17 个节点的 Node Operations 操作集。开发者可以利用这些工具实现从节点文档查询到复杂网络逻辑验证的全流程自动化。
在使用本项目前,请确保您的系统已安装 Houdini 20.5 或更高版本(已在 21.0 版本完成测试),并配置有 Python 3.10+ 环境。此外,您需要安装 MCP SDK (`mcp` package) 1.8 或更高版本。对于开发者,建议安装开发依赖以运行集成测试,测试过程需在真实的 Houdini 环境中进行。
安装分为两个步骤:首先安装 MCP Server,可以通过 PyPI 使用 `pip install fxhoudinimcp` 进行快速安装,也可以从源码通过 `pip install -e .` 进行开发安装。其次需要安装 Houdini Plugin,推荐使用 Houdini package 方式,将 `houdini/fxhoudinimcp.json` 复制到您的 Houdini packages 目录并修改 `FXHOUDINIMCP` 路径指向本项目目录;也可选择手动复制文件的方式进行部署。
安装完成后,正常启动 Houdini 即可。插件会在 UI 就绪后根据环境变量 `FXHOUDINIMCP_AUTOSTART` 的设置自动启动。启动脚本通过 `uiready.py` 实现,能够与其他 Houdini packages 良好兼容。您也可以通过 Houdini 界面中的 MCP Server shelf 工具手动切换开关。启动时,系统会自动验证 Houdini 的 `mcp.health` 端点是否响应,以确保通信正常。
配置 MCP Client 时,若使用 Claude Desktop,需在 `claude_desktop_config.json` 中添加 `fxhoudini` 配置,并指定正确的 `HOUDINI_HOST` 和 `HOUDINI_PORT`。若使用 Claude Code,可通过命令行 `claude mcp add` 进行全局配置。此外,可以通过环境变量(如 `FXHOUDINIMCP_PORT`、`FXHOUDINIMCP_AUTOSTART` 等)灵活调整服务器监听端口及自动启动行为。
本项目提供了便捷的工作流封装工具。单元测试通过 Mock `hou` 模块实现,可在任何环境下运行;而集成测试套件则通过 `hython` 在真实的 Houdini 实例中执行全部 179 个命令,涵盖程序化建模、模拟、动画及 Lookdev 等端到端用户场景,并能输出每个命令的耗时与覆盖率报告,确保工作流的可靠性。
全面支持Houdini,功能强大
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
总体来看,Houdini MCP 是一款质量优秀的MCP工具,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | fxhoudinimcp |
| 原始描述 | 开源MCP工具:The most comprehensive MCP server for SideFX Houdini.。⭐80 · Python |
| Topics | aihoudinimcppython |
| GitHub | https://github.com/healkeiser/fxhoudinimcp |
| License | MIT |
| 语言 | Python |
收录时间:2026-06-11 · 更新时间:2026-06-11 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端