Excalidraw MCP
Route before drawing. Excalidraw has two complementary MCP surfaces:
- Excalidraw MCP App: render an interactive canvas inline in an MCP Apps host.
- Excalidraw+ MCP: persist and administer scenes, collections, and workspace data.
Use both when the user wants an inline canvas and a durable Excalidraw+ scene.
Workflow
- Classify the request:
- Inline or interactive in chat: use the MCP App.
- Durable workspace scene, collection, or administration: use Excalidraw+.
- Both: persist with Excalidraw+, then pass the scene elements to the MCP App.
- Installation, missing tools, or authentication: read
references/install.md and
references/tools.md.
- Discover the live tools. Both integrations are evolving; do not assume a
remembered inventory is current.
- Load the server's format contract before the first content write:
- MCP App: call
read_me before create_view.
- Excalidraw+: call
read_excalidraw_format before
edit_scene_content.
- Choose the visual structure before writing elements: wireframe, workflow,
swimlane, sequence, architecture, state machine, timeline, hierarchy, or
presentation.
- Create or edit with valid Excalidraw elements. Bind shape-to-shape arrows
explicitly and use shape labels for shape-owned text.
- Verify the result visually:
- MCP App: inspect the embedded canvas.
- Excalidraw+: use
take_screenshot for agent QA, then report the scene URL.
- Finish only when the requested surface exists, is readable, and is
accessible in the requested location.
For artifact-specific patterns and the bridge workflow, read
references/workflows.md.
Hard Rules
- Do not substitute a browser screenshot when the user requested an inline MCP
App. Invoke
create_view.
- Treat screenshots as QA evidence, not as the interactive deliverable.
- Do not confuse the Plus API endpoint with the MCP App endpoint.
- Name configured servers by role, such as
excalidraw-app and
excalidraw-plus; avoid an ambiguous single excalidraw entry.
- Never claim every Plus tool is installed until live discovery confirms it.
Key route permissions and workspace role filter the tool list.
- Keep personal and workspace keys separate. Do not print, commit, or embed API
keys when an environment-backed header is supported.
- Reconnect or restart the MCP host after configuration changes before judging
the installation.
- Prefer
search_scene_content over get_scene_content for targeted reads.
Load the full scene only when a bridge, export, or ID-sensitive edit requires
it.
- Do not delete scenes, collections, users, invites, or existing elements
unless the user explicitly requested that destructive action.
Installation Gate
For installation or repair:
- Select the surface or combination in
references/install.md.
- Configure credentials without exposing them.
- Restart or reconnect the client.
- Run
scripts/verify-excalidraw-mcp.sh.
- Compare the live inventory with references/tools.md.
Installation is complete only when the required endpoint responds, the
expected tools are discoverable, and the MCP App exposes a valid
ui://excalidraw/mcp-app.html resource when inline rendering is required.
Sources
Read references/sources.md when installing, debugging,
or making claims about current tool names, permissions, transports, or client
support.
1---2name: excalidraw3description: Excalidraw MCP workflows for creating, editing, presenting, exporting, and persisting diagrams, wireframes, sequence diagrams, architecture maps, state machines, and slide decks. Use when working with the Excalidraw MCP App, Excalidraw+ workspace scenes, MCP installation or repair, live tool discovery, API-key permissions, or inline interactive canvas rendering.4---56# Excalidraw MCP78Route before drawing. Excalidraw has two complementary MCP surfaces:910- **Excalidraw MCP App**: render an interactive canvas inline in an MCP Apps host.11- **Excalidraw+ MCP**: persist and administer scenes, collections, and workspace data.1213Use both when the user wants an inline canvas and a durable Excalidraw+ scene.1415## Workflow16171. Classify the request:18 - Inline or interactive in chat: use the MCP App.19 - Durable workspace scene, collection, or administration: use Excalidraw+.20 - Both: persist with Excalidraw+, then pass the scene elements to the MCP App.21 - Installation, missing tools, or authentication: read22 [references/install.md](references/install.md) and23 [references/tools.md](references/tools.md).242. Discover the live tools. Both integrations are evolving; do not assume a25 remembered inventory is current.263. Load the server's format contract before the first content write:27 - MCP App: call `read_me` before `create_view`.28 - Excalidraw+: call `read_excalidraw_format` before29 `edit_scene_content`.304. Choose the visual structure before writing elements: wireframe, workflow,31 swimlane, sequence, architecture, state machine, timeline, hierarchy, or32 presentation.335. Create or edit with valid Excalidraw elements. Bind shape-to-shape arrows34 explicitly and use shape labels for shape-owned text.356. Verify the result visually:36 - MCP App: inspect the embedded canvas.37 - Excalidraw+: use `take_screenshot` for agent QA, then report the scene URL.387. Finish only when the requested surface exists, is readable, and is39 accessible in the requested location.4041For artifact-specific patterns and the bridge workflow, read42[references/workflows.md](references/workflows.md).4344## Hard Rules4546- Do not substitute a browser screenshot when the user requested an inline MCP47 App. Invoke `create_view`.48- Treat screenshots as QA evidence, not as the interactive deliverable.49- Do not confuse the Plus API endpoint with the MCP App endpoint.50- Name configured servers by role, such as `excalidraw-app` and51 `excalidraw-plus`; avoid an ambiguous single `excalidraw` entry.52- Never claim every Plus tool is installed until live discovery confirms it.53 Key route permissions and workspace role filter the tool list.54- Keep personal and workspace keys separate. Do not print, commit, or embed API55 keys when an environment-backed header is supported.56- Reconnect or restart the MCP host after configuration changes before judging57 the installation.58- Prefer `search_scene_content` over `get_scene_content` for targeted reads.59 Load the full scene only when a bridge, export, or ID-sensitive edit requires60 it.61- Do not delete scenes, collections, users, invites, or existing elements62 unless the user explicitly requested that destructive action.6364## Installation Gate6566For installation or repair:67681. Select the surface or combination in69 [references/install.md](references/install.md).702. Configure credentials without exposing them.713. Restart or reconnect the client.724. Run `scripts/verify-excalidraw-mcp.sh`.735. Compare the live inventory with [references/tools.md](references/tools.md).7475Installation is complete only when the required endpoint responds, the76expected tools are discoverable, and the MCP App exposes a valid77`ui://excalidraw/mcp-app.html` resource when inline rendering is required.7879## Sources8081Read [references/sources.md](references/sources.md) when installing, debugging,82or making claims about current tool names, permissions, transports, or client83support.