Concepts

Enough of the model to evaluate the plugin and reason about what your agent is doing. You don't need this to use it day to day — the agent handles it — but it explains the design choices.

One tool, ~1,200 RPCs

The MCP server exposes exactly one tool: call. Every operation — across 50+ namespaces and ~1,200 RPCs — travels as a string in that tool's method argument, with parameters in args. A flat list of 1,200 tools would swamp an agent's context; a single self-documenting tool keeps it lean and lets the agent discover only what it needs.

The three call modes

The same tool does discovery and execution, switched by argument shape:

You callYou get
call()The root namespace index.
call("material")The wiki page for that namespace or method (omit args).
call("material.compile_mgir", {…})Executes the RPC with those parameters.

Method names are dotted namespace.verb (e.g. actor.spawn, blueprint.compile). The discovery pages are the agent's reference — there is no separate human RPC catalog to keep in sync.

Text IRs & round-trip

Several asset graphs can be expressed as a compact text intermediate representation. Four round-trip — the agent can author from text and read it back: BPIR (Blueprint), MGIR (Material), AGIR (Animation Blueprint), CRIR (Control Rig). Five are decompile-only, for review and diffing: BTIR (Behavior Tree), SCIR (Sound Cue), MSIR (MetaSound), NIR (Niagara), PCGIR (PCG).

Round-trip means logical equivalence — same nodes, connections, and values. Pure layout (comment boxes, node colors, reroute knots) is not preserved by design.

Ports

The endpoint is http://127.0.0.1:<port>/mcp. By default the port is a fixed 19880, the same on every machine, so committed agent configs stay portable. Two editors both binding 19880 will collide — the one that loses the bind refuses to serve.

To run several projects at once, enable Auto-derive Port From Project Path in Project Settings: each project folder gets a stable, distinct port in 1988030119 (19880 + hash(projectPath) % 10240). Or set a fixed HttpPort yourself. Onboarding bakes the resolved URL into each agent's config, so agents never discover the port at runtime.

Long-running operations

Most calls return synchronously. An operation that takes a while returns a job ticket right away; the agent polls progress by calling system.job_status. Default request timeout is 120 seconds, max 300; the request body limit is 1 MB.

Security model

Next: Troubleshooting & FAQ →