Skip to main content
Glama
polynaut

dth-houdini-mcp

by polynaut

dth-houdini-mcp

An MCP server exposing a live Houdini session for inspecting and debugging the DazToHue (DTH) pipeline.

Currently at Phase 0 — a transport spike only. One read-only tool (houdini_ping). See PHASE0.md for what has been verified, how, and what has not.

Layout

houdini_side/dth_listener.py   runs INSIDE Houdini (started manually)
houdini_mcp/server.py          stdio MCP server (launched by the MCP client)
tests/                         the Phase 0 verification checks
logs/                          audit log, one JSON line per executed command

Related MCP server: Houdini MCP Server

Setup

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt

Run

1. Start the listener inside Houdini (Python Shell, or a shelf tool):

exec(open(r"D:\Development\dth-houdini-mcp\houdini_side\dth_listener.py").read())
start()          # binds 127.0.0.1:8911
status()         # inspect
stop()           # shut down

2. Register the MCP server with your client:

{
  "mcpServers": {
    "dth-houdini": {
      "command": "D:\\Development\\dth-houdini-mcp\\.venv\\Scripts\\python.exe",
      "args": ["D:\\Development\\dth-houdini-mcp\\houdini_mcp\\server.py"]
    }
  }
}

Port is configurable on both sides via DTH_HOUDINI_MCP_PORT (default 8911).

Safety

Phase 0 is read-only: a fixed one-entry command table, loopback-only binding, and nothing that saves or writes the .hip. Every command executed is appended to logs/listener-<pid>.jsonl with its arguments, outcome and duration.

Requests are authenticated. start() writes a per-run token to %LOCALAPPDATA%\dth-houdini-mcp\token; every request must carry it, and it is checked before the command table is consulted. The token is regenerated each run and deleted on stop().

Loopback binding is not a security boundary — a line-oriented parser is reachable from HTTP-shaped traffic, which was measured against an earlier build of this listener and is now blocked two ways (token, plus dropping the connection on the first malformed line). Both are covered by tests/test_crossprotocol.py. The full account is in PHASE0.md §7.

License

MIT © Polynaut

Not affiliated with SideFX or with the DazToHue toolset.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for interacting with Autodesk Maya sessions, enabling multi-session management, arbitrary Python execution, and streaming output capture.
    4
    39
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    MCP server for AI-driven DAZ Studio scene editing. Runs as a native DAZ Studio plugin (DLL) and exposes all scene control, rendering, dForce, asset, and animation commands through the Model Context Protocol.
    8
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Connects MCP-compatible clients to a live Blender scene for AI-assisted 3D workflows, enabling inspection and controlled operations on objects, materials, cameras, lights, render settings, animation, UVs, Geometry Nodes, imports, exports, and Python execution.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • Hosted AgentLux MCP server for marketplace, identity, creator, services, and social flows.

  • MCP server bridging holepunchto/keet-identity-key to the Hive agentic identity network

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/polynaut/dth-houdini-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server