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, not 1,300

The plugin exposes a single tool, call, instead of 1,300 separate ones. That is deliberate, and it is the point: a flat list of 1,300 tools would flood your assistant's limited context window and crowd out your actual project. With one self-documenting tool, the assistant loads only the few operations a task needs, when it needs them, and keeps the rest of its attention on your work. Every operation travels as a name in that tool's method argument (for example blueprint.create), with parameters in args.

The three call modes

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

The assistant callsReturns
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, so 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, Auto-derive Port From Project Path is on, so each project folder gets its own stable port in 1988030119 (a hash of the project path). Several projects run side by side without colliding; two editors of the same project still land on the same port, and the one that loses the bind refuses to serve.

To pin one fixed port instead (for example so a committed agent config is identical across a team), turn off Auto-derive Port From Project Path under Edit → Editor Preferences → Plugins → PinWright (the HTTP group) and set a fixed Http Port; it defaults to 19880. Either way, onboarding writes the working connection into each agent's config, so you never copy a port by hand.

Some things take a while

Most actions finish instantly. A few are genuinely heavy: dumping a large project, building lighting, or sweeping a big content folder can run from a minute to tens of minutes. Your assistant starts those, waits for them, and tells you when they finish, so you never have to babysit a request or re-issue it. You can keep working in the editor while it runs.

Security model

Next: Asset dumps →