PlugWiki
Excalidraw Canvas MCP (yctimlin) logo

Excalidraw Canvas MCP Server (yctimlin): Setup for Claude and Cursor

CommunityLocal
Getnpmmcp-excalidraw-serveryctimlin/mcp_excalidraw

Not the official Excalidraw MCP server. This one is built by the community. Excalidraw makes its own: Excalidraw MCP →

Lets Claude, Cursor and Codex draw, edit and export Excalidraw diagrams on a live canvas they can look at.

This is a community server that gives your assistant a full Excalidraw canvas. It can add and change single shapes, take a screenshot to check its work, and export the result. It is not the official Excalidraw server, which shows a one-shot diagram inside the chat.

It runs on your computer and needs no account. A canvas server starts by itself on first use, on this machine only by default. Drawings live in memory unless you set a data folder.

Good for

  • Developers who want architecture diagrams saved as files in their repo
  • Obsidian users who keep diagrams in their notes
  • Anyone who wants the assistant to draw, look and fix a diagram step by step

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install Excalidraw Canvas MCP (yctimlin)

Claude Code

  1. 1

    Copy this prompt.

    Add the Excalidraw Canvas MCP (yctimlin) server to Claude Code. Run this command:
    
    claude mcp add yctimlin-mcp-excalidraw -- npx -y mcp-excalidraw-server
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Node.js.

Built from the package data we hold. Not yet tested by us.

Tools

  • Draws many shapes and arrows at once

    Creates several elements in one call. Give shapes custom IDs so arrows can attach to them and route to their edges.

    Try: “Draw three boxes called API, Queue and Worker with arrows between them.”

    Write · batch_create_elements

  • Draws one shape, text or arrow

    Adds a single element to the canvas. Arrows can bind to shapes by ID and route themselves to the edges.

    Try: “Add a blue rectangle labelled Database.”

    Write · create_element

  • Turns Mermaid text into a diagram

    Converts a Mermaid diagram into Excalidraw elements and draws them on the canvas.

    Try: “Turn this Mermaid flowchart into an Excalidraw diagram.”

    Write · create_from_mermaid

  • Describes what is on the canvas in words

    Returns the element types, positions, connections, labels and layout of the current canvas. The assistant uses it to see what exists before it changes anything.

    Try: “Describe what is on the canvas right now.”

    Network · describe_scene

  • Takes a picture of the canvas

    Renders the canvas to a PNG and returns the image so the assistant can check how the diagram looks. It renders without a browser tab.

    Try: “Look at the diagram and fix any overlapping labels.”

    Network · get_canvas_screenshot

  • Finds elements on the canvas by filter

    Returns elements that match filters you give, such as type.

    Try: “List all arrows on the canvas.”

    Network · query_elements

  • Reads one element by its ID

    Returns the full details of a single canvas element.

    Try: “Show me the details of element a1.”

    Network · get_element

  • Changes an existing element

    Edits an element that is already on the canvas, such as its text, colour, size or position.

    Try: “Make the Database box green.”

    Write · update_element

  • Copies elements with an offset

    Duplicates the chosen elements and shifts the copies by an offset you set.

    Try: “Duplicate the Worker box twice, side by side.”

    Write · duplicate_elements

  • Lines elements up

    Aligns the chosen elements to a position, for example to the left edge or to the middle.

    Try: “Align the three boxes along their top edge.”

    Write · align_elements

  • Spaces elements evenly

    Spreads the chosen elements out with even gaps.

    Try: “Space these five boxes evenly across the canvas.”

    Write · distribute_elements

  • Groups elements together

    Groups several elements so they move and select as one.

    Try: “Group the three database boxes.”

    Write · group_elements

Read from the source code

Permissions

medium risk · 4 things to watch

Medium risk

The assistant can add, change and delete anything on the canvas, and write diagram files to one folder on your computer. Set the export folder to a place you are happy to have files written.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • It writes and reads diagram files

    The export and import tools read and write files, limited to one folder (your working directory by default) and to .excalidraw, .json, .md, .png and .svg types. github.com

  • Share links upload your diagram

    The share-link tool encrypts the scene and uploads it to excalidraw.com's storage. Anyone with the link can view it. github.com

  • clear_canvas and delete_element remove work with no undo

    clear_canvas deletes every element and delete_element deletes one. The canvas lives in memory by default, so call snapshot_scene or export_scene first if you want a copy. github.com

  • Canvas page loads fonts from esm.sh

    The README says the canvas page loads Excalidraw's fonts from the esm.sh CDN. The canvas server itself listens on 127.0.0.1:3000 unless you set HOST. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyNo read-only mode is documented.
Talks toYour local canvas server. json.excalidraw.com, only when you ask for a share link
Sign-in and keysNo account or key.

Questions

Is this the official Excalidraw MCP server?

No. It is a community project by yctimlin. Excalidraw has its own official server, which shows a diagram in the chat from one prompt.

How is it different from the official server?

This one works on a live canvas element by element. The assistant can look at it with a screenshot, adjust it and export files. The official one makes a diagram from a single prompt.

Do I need a browser open?

Not for drawing or exports, which render without a browser tab. Moving the view needs the canvas open in a browser.

Does it need an account or API key?

No. It runs on your computer. The canvas binds to this machine by default, on port 3000.

Are my diagrams saved?

Not by default. Elements and snapshots stay in memory and are lost on restart. Set a data folder for recovery, or export a file.

Does it work without MCP?

Yes. The project also ships a command line tool and an agent skill that drive the same canvas.

Does it send my diagram anywhere?

Only if you ask for a share link, which uploads the encrypted diagram to Excalidraw's storage.

Information

updated Nov 2, 2026

Publisher
Community
Package
mcp-excalidraw-server
Registry
npm
Transport
stdio
Auth
None
Version
2.1.2
License
MIT
Last commit
Oct 30, 2026
Open issues
37

WebsiteGitHubnpmChangelogIssues

Other Excalidraw MCP servers

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 3
  1. github.com · github.com
  2. www.npmjs.com · npmjs.com
  3. github.com · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.