- Find the
vectorcraft-editorservice from the tool list of the currently loaded plugin. Callopen_editorwith the absolute path of this task's workspace; on the first call passworkspace; relative file paths can be handed to the specific open tool once the editor is ready. - When the host supports native MCP Apps, render
ui://vectorcraft/panel.html. A text-only tool result does not mean the interface has been opened. - When Codex does not automatically present the panel, call
open_browser_editorand hand the returnededitorUrlto the host's built-in browser opening capability. Codex Desktop can callopen_in_codexwith target set to browser and url set to the actual return value. Do not guess a fixed port for the local page path. - Open only one editing page per instance. Call
editor_statusand wait untilattachedorreadyis true before proceeding; if loading fails, handle the page error first. - Use the same service for all edits in this round. The native CLI and the Web editor are not the same in-memory document; before switching, you must save and explicitly reopen.
Manage graphics with open_file/run_command, inspect objects with inspect_document; edit with draw_shape or run_command, save with save_file, and view with screenshot.
If the host only supports MCP, tool-calling capability and the embedded UI are two different things. You can use the same editorUrl in an external browser, but you must clearly state that this is not in-host embedded acceptance.
When a development candidate lacks ui/dist/adapter.mjs , you need to build it first according to plugin ui/README.md . Do not guess paths from arbitrary caches, and do not bypass validation. This skill, when installed independently, does not include the editor service; you need to install the companion plugin or configure its MCP backend.
When the tool is not registered, after obtaining the plugin's actual directory you can run node ui/dist/adapter.mjs --servein the project terminal, specifying this task's workspace via the environment variable CRAFT_WORKSPACE_ROOT . Keep that process alive; this mode can display the UI, but automation must still connect to the corresponding MCP instance and must not open another backend and claim it shares the session.
When done, save the project and reopen to check; read the actual exported file. Browser storage, preview screenshots, and submitted rendering tasks do not equal workspace delivery.