Skip to content

session

session

MCP tools that choose, start and stop the Houdini session this server talks to.

The server connects at startup to the first Houdini it finds. With several open, or none, the agent had no way to pick one or to get one: these list what is serving, switch the bridge to another port, and start a Houdini of its own.

Functions:

Name Description
connect_houdini

Talk to the Houdini serving on port from now on.

list_sessions

Every Houdini serving the plugin, the one this server talks to marked current.

start_houdini

Start a Houdini of this server's own and connect to it.

stop_houdini

Stop a Houdini that start_houdini started, and go back to the previous session.

Functions:

connect_houdini async

connect_houdini(ctx: Context, port: int) -> dict

Talk to the Houdini serving on port from now on.

get_houdini_connection_status lists the sessions and their ports.

Parameters:

Name Type Description Default
port
int

Port of a Houdini serving the plugin.

required

list_sessions async

list_sessions(bridge) -> list[dict[str, Any]]

Every Houdini serving the plugin, the one this server talks to marked current.

start_houdini async

start_houdini(
    ctx: Context,
    gui: bool = False,
    hip_file: str | None = None,
    wait_seconds: float = 180,
) -> dict

Start a Houdini of this server's own and connect to it.

Headless (hython) by default: no window, no viewport, so the capture tools refuse there. gui=True starts the full application, which serves only if the plugin's package is installed (fxhoudinimcp install). Either takes a license seat until stop_houdini. Set HYTHON to choose the build.

Parameters:

Name Type Description Default
gui
bool

Start the Houdini application instead of headless hython.

False
hip_file
str | None

Scene to open.

None
wait_seconds
float

How long to wait for it to serve.

180

stop_houdini async

stop_houdini(ctx: Context, pid: int | None = None) -> dict

Stop a Houdini that start_houdini started, and go back to the previous session.

Only sessions started by this server can be stopped: anything else may be someone's unsaved work.

Parameters:

Name Type Description Default
pid
int | None

Session to stop. Default: the current one, if this server started it.

None