Skip to content

AI Agents (MCP)

The Estella editor speaks the Model Context Protocol (MCP). Any MCP-capable AI tool — Claude Code, Cursor, or your own agent — can drive the real editor: open or create projects, open scenes, spawn entities from the same Create-menu catalog you use, edit component fields, verify the result in the live engine World, enter play mode, take screenshots to see what it built, and export the finished game — the exact pipelines the UI uses, forty tools in all.

The MCP server is a small node script that ships inside the editor. It talks MCP over stdio to your AI tool and drives an editor instance for you (spawning one, or attaching to one that’s already open).

Its path inside an installed editor:

  • Windows%LOCALAPPDATA%\Programs\@estellaeditor\resources\app.asar.unpacked\dist-electron\mcp\editor-mcp.mjs
  • macOS/Applications/Estella Editor.app/Contents/Resources/app.asar.unpacked/dist-electron/mcp/editor-mcp.mjs
Terminal window
claude mcp add estella --env ESTELLA_MCP_ALLOW_WRITES=1 -- \
node "<path-to>/editor-mcp.mjs" --editor

--editor launches the installed editor with the MCP endpoint enabled. Node.js 20+ must be on your PATH.

To let an agent work inside an editor session you already have open, start the editor with the endpoint enabled and point the server at its discovery file:

  1. Launch the editor with --mcp (from a terminal: estella-editor --mcp). It writes a discovery file mcp-endpoint.json into the editor’s user-data folder (Windows: %APPDATA%\Estella Editor\; the exact path is printed on startup).

  2. Configure your AI tool with --attach instead of --editor:

    "args": ["<path-to>/editor-mcp.mjs", "--attach", "<path-to>/mcp-endpoint.json"]
  3. The agent now drives the same window you see — selections, edits, play mode and all — while you watch and intervene.

Area Tools (excerpt)
Observe get_scene_tree, get_inspector, get_stats, capture_viewport (PNG), screenshot (whole window, includes play), world_component (live-World probe)
Edit scenes create_entity (the Create-menu catalog via list_entity_templates), set_field, set_entity_xy, set_parent, duplicate_entity, undo / redo
Projects & assets create_project / open_project, open_scene, save_scene, create_scene_file, create_asset, import_assets
Run & ship toggle_play + get_play_state, export_game (web / desktop / wechat / playable)

A typical agent loop: open_projectopen_scenelist_entity_templatescreate_entityset_fieldscreenshot to check its work → save_scenetoggle_playscreenshot again → export_game.

In a source checkout, pnpm --filter @estella/editor editor:mcp serves the same registry against a headless fixtures host (scene tools only), editor:mcp -- --editor boots the dev editor, and two e2e suites (editor:mcp:e2e, editor:mcp:editor-e2e) prove the full loop.

  • The Editor — the visual editor this automation surface drives.
  • Scripting — the same scene / component model, from game code.