The MCP server that drives a real SVG editor

Many MCP servers for vector graphics generate an SVG file and hand it over. Rayzia's MCP connects your AI agent to a real editor running in the browser: it draws with the same tools you use and edits the artwork already on the canvas. Every operation lands live in front of you, and you can take over the moment you want to. It is part of Pro and the 14-day trial, and the editor runs in the browser with nothing to install.

Not another file generator

Plenty of MCP servers can write an SVG file. That is one tool call with no feedback: the model guesses at coordinates, then you open the result somewhere else to find out what went wrong. Rayzia's server gives the agent a full observe-and-act loop instead. get_state reads the scene: the selection, every object's id and bounding box, paints, the active tool and the current view. get_render returns a PNG of the canvas so the model can see its own work.

Because actions run through the real engine, the agent is not limited to emitting markup. It places type on a path, applies envelope warps, pours gradients and runs the same live path effects you would apply by hand. Each semantic verb is a single undo step, and a batch of steps lands as a single undo, so a wrong move is one Ctrl+Z away.

The loop also runs in reverse. The editor's AI Assistant panel has a Claude Code (local) provider: prompts you type there reach the agent through wait_for_prompt, and the panel narrates each operation live as the agent works. When it finishes, it posts a short reply back with reply_to_user.

The tools

Twelve tools cover the whole loop. get_catalog is the map: it returns the semantic verbs with parameter schemas, 533 raw commands, 69 effects and 57 tools, so the agent discovers what the editor can do instead of hallucinating an API.

ToolWhat it does
get_catalogDiscover everything the editor exposes: semantic verbs with parameter schemas, 533 raw commands, 69 effects and 57 tools. Call it first.
get_stateRead the current scene: selection, all objects (recursed into groups) with ids, bounding boxes and paints, plus the active tool, document size and view.
run_verbHigh-level verbs for shapes, text, gradients, blends, warps, around 200 live path effects and more. Each verb is one undo step; a batch runs in one round-trip as one undo.
search_assetsSearch the Rayzia stock (graphics, icons, photos, templates) with the same search and order as the library panel. Small rows, no artwork, so it costs few tokens.
preview_assetsOne contact-sheet PNG of up to 36 stock items, so the model can look before it chooses.
place_assetPlace a stock item at an exact box as a real, editable object, one undo step. Premium items need Pro or the 14-day trial.
drawDraw with a real tool via synthetic input: Pen paths or freehand strokes, with modifier keys for shape-builder punches and mesh edits.
run_commandEscape hatch: run any raw engine command by name. File and document operations are deny-listed at the engine boundary.
get_svgExport the current document as a round-trip-safe SVG string.
get_renderRender the canvas to a PNG so the model can see its own work. With mark, just that mark's area and what is round it, and the person's view does not move.
wait_for_promptLong-poll for the next prompt the user types in the editor's AI Assistant panel.
reply_to_userPost a short assistant reply back into that panel.
get_marksAgent Marks: the numbered areas the person drew, in order. Each has its note, status, job, its area in the same coordinates as your drawing commands and, on an edit mark, the only objects it may change.
set_mark_statusSay where a mark stands. Set doing before you work on one, in order, one at a time.
report_markFinish a mark and say what you did, or why it failed. The answer carries any warning about what changed against its area.
add_markPlace a mark yourself. It looks the same as a person's and names you on its second line.
update_markChange a mark's note, tool, style, job, or which objects it may change.
remove_markDelete one mark.
reorder_marksSet the order of the marks.
undo_markTake back one mark's work as one new undo step. Refused, naming the mark, when a later mark touched the same object.
finish_marksThe job is finished: the art stays and the marks clear, unless the person turned that off.

With Agent Marks the person briefs your agent by drawing areas on the canvas instead of writing a prompt. A run arrives through wait_for_prompt with its marks. After every command Rayzia compares what changed with the area the mark gave you: going past the edge and changing something the mark did not give you are both said at once, in the reply to that command and on the person's canvas, and the person can undo that change on its own. Nothing is cut and nothing is blocked. Marks never reach the document, an export or a share link.

Quickstart: connect Claude Code in five steps

  1. Open the AI panel. In the editor at rayzia.com/editor/, open the AI Assistant panel and click the settings gear.
  2. Pick Claude Code (local). Select it in the Providers list; this provider needs no API key.
  3. Copy the SKILL.md. The pane generates a skill with the entire server embedded, plus your browser's capability token and bridge port; copy or download it and hand it to Claude Code.
  4. Let Claude Code register the server. It saves the server file and adds it as an MCP server:
    claude mcp add rayzia \
      --env AI_MCP_PORT=<port> --env AI_MCP_TOKEN=<token> \
      -- node /absolute/path/to/rayzia-mcp-server.mjs
  5. Click Connect. The status dot turns green; type in Claude Code directly, or chat from the panel by telling Claude Code to "listen for Rayzia panel prompts".

The server is a single file, open source at github.com/RayziaOfficial/rayzia-mcp. Other MCP clients use it through a standard .mcp.json entry:

{
  "mcpServers": {
    "rayzia": {
      "command": "node"
      "args": ["/absolute/path/to/rayzia-mcp-server.mjs"]
      "env": { "AI_MCP_PORT": "8765", "AI_MCP_TOKEN": "<token>" }
    }
  }
}

Local by design

The server is a single Node file with zero npm dependencies (Node 16+ built-ins only), and it binds to 127.0.0.1, so the server is never reachable from outside your machine. Every operation carries a capability token generated once per browser, and the editor rejects any operation with a mismatched token, so a rogue local process squatting on the port cannot drive your canvas.

File and document operations (save, open, new and import) are deny-listed at the engine boundary. Connecting is opt-in from the editor's side, and it works with the deployed https editor too: the bridge answers Chrome's Private Network Access preflight so the page can reach the loopback server.

If you want AI-made vectors without the developer plumbing, the in-editor assistant covers that with your own Claude or GPT account: see the AI SVG generator.

Rayzia MCP: common questions

Does it work with Claude Code and other MCP clients?

Yes. The in-app flow is built around Claude Code: the editor generates a SKILL.md and Claude Code registers the server with one claude mcp add command. Any MCP client that speaks JSON-RPC over stdio can use the same server through a standard .mcp.json entry.

Is it safe to let an agent drive my editor?

The server binds to 127.0.0.1 only, and the editor verifies a per-browser capability token on every operation, so another local process cannot control the canvas. File and document operations (save, open, new and import) are deny-listed at the engine boundary, and the connection only exists after you click Connect.

Do AI edits stay editable and undoable?

Yes. The agent works in the same document with the same engine, so everything it makes is ordinary vector artwork you can keep editing. Each semantic verb is one undo step, and a batch lands as a single undo, so Ctrl+Z works just as it does for your own edits.

Does it cost extra?

Agent Connect is part of Pro, $8 a month or $72 a year, and the 14-day trial includes it, no credit card needed. Claude Code executes on your machine under your own plan with its provider, and Rayzia adds no charge on top of Pro.

Open it and see.

In your browser, nothing to install.