Rayzia MCP
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Rayzia MCPdraw a blue circle"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Rayzia MCP — an MCP server that drives a real SVG editor
Rayzia is a free online SVG/vector editor. This MCP server lets an AI agent (Claude Code, Claude Desktop, or any MCP client) drive the running editor: draw with real tools, edit the artwork already on the canvas, read scene state back, and render PNGs so the model can see its own work.
Unlike generate-only servers that write an SVG file and hand it over, this one gives the agent a full observe-and-act loop on a live canvas — and the human watches every operation land, with each step one undo away.
Docs: rayzia.com/mcp · Editor: rayzia.com/vector
MCP client ──stdio JSON-RPC──▶ server.mjs ──SSE /events──▶ browser bridge
▲ │
└──────── POST /reply ───────┘
browser bridge ──▶ editor host facade ──▶ engine (runs in a worker)Zero npm dependencies — Node ≥16 built-ins only. The HTTP bridge binds to
127.0.0.1 and every operation carries a per-browser capability token.
Quickstart — the in-app way (recommended)
The editor has the browser side built in:
Open the editor at rayzia.com/vector.
Open the AI Assistant panel → settings (gear) → Claude Code (local).
Copy the SKILL.md the pane generates — it embeds this server's code, your browser's capability token and the bridge port. Give it to Claude Code; it saves the server file and registers 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.mjsClick 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".
Related MCP server: Excalidraw MCP Server
Quickstart — any MCP client
Run the editor in a browser and connect the bridge (in-app Connect as above, or paste
bridge.jsinto the editor's DevTools console).Point your MCP client at the server over stdio:
{ "mcpServers": { "rayzia": { "command": "node", "args": ["/absolute/path/to/server.mjs"], "env": { "AI_MCP_PORT": "8765", "AI_MCP_TOKEN": "<token>" } } } }
Diagnostics go to stderr (stdout is the JSON-RPC channel). Default bridge
port is 8765, override with AI_MCP_PORT.
Tools
Tool | Purpose |
| Discover everything the editor exposes: semantic verbs with param schemas, 533 raw commands, 69 effects, 57 tools. Call it first. |
| Read the scene: selection, all objects (recursed into groups) with ids, bounding boxes and paints, plus active tool, document size and view. |
| High-level verbs: shapes, text (area / on-path / vertical / per-character), gradients, blends, warps, ~200 live path effects, filters, lock/hide, asset library, batch. One undo step each. |
| Draw with a real tool via synthetic input: Pen paths or freehand strokes, with modifier keys for shape-builder punches and mesh edits. |
| Escape hatch: any raw engine command by name. File/document ops are deny-listed at the engine boundary. |
| Export the current document as a round-trip-safe SVG string. |
| Render the canvas to a PNG (MCP image block) so the model can see its work. |
| Long-poll for the next prompt the user types in the editor's AI Assistant panel. |
| Post a short assistant reply back into that panel. |
Security
The server binds to
127.0.0.1only, and rejects requests whoseHostheader is not loopback (closes the DNS-rebinding drive path).Every operation carries a capability token (
AI_MCP_TOKEN) generated once per browser; the editor bridge rejects ops with a mismatched token, so a rogue local process squatting the port cannot drive the canvas.File and document operations (save / open / new / import) are deny-listed at the engine boundary.
Connecting is opt-in from the editor's side. The panel
/promptinbox is token-authenticated too, so a local web page cannot inject prompts.
Do not expose the bridge port beyond localhost.
Self-test
_selftest.mjs spawns the server, waits for a browser bridge, then drives the
full round-trip (initialize → tools/list → get_catalog → createShape →
addGradient → get_state → get_svg):
AI_MCP_PORT=8791 node _selftest.mjsExpect SELFTEST PASS.
License
MIT © 2026 Rayzia
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RayziaOfficial/rayzia-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server