Excalidraw MCP logo

Excalidraw MCP

Edits a local Excalidraw diagram through MCP tools for creating, connecting, deleting, and inspecting elements.

Install Excalidraw MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "excalidraw-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@cmd8/excalidraw-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

  • excalidraw
  • diagrams
  • developer-tools
  • mcp

The excalidraw-mcp MCP server exposes tools for editing and inspecting a local Excalidraw diagram file. It runs through an MCP client using Node.js and a required diagram path supplied with the `--diagram` option. Agents can create labeled nodes, connect them with arrows, delete elements, and retrieve the complete diagram as Markdown. Reach for it when an agent needs structured access to an Excalidraw file rather than only generating diagram text.

Use cases

  • Create labeled architecture nodes in an Excalidraw file
  • Connect diagram nodes with arrows
  • Delete nodes or edges by ID or label
  • Inspect diagram structure and visual metadata as Markdown

Key features

  • Create labeled shape nodes
  • Connect nodes with arrows
  • Delete nodes and edges
  • Return full diagram state as Markdown
  • Reference elements by ID or label

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

5/5 checks healthy over the last 34d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 15d ago via OSV.dev · @cmd8/excalidraw-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars5Stargazers on the source repository.
npm downloads11kPackage downloads in the last 30 days.
Last commit10mo agoMost recent push to the default branch.

How Excalidraw MCP works

What the excalidraw-mcp MCP server does

The excalidraw-mcp MCP server gives an MCP-compatible client access to a local Excalidraw diagram file. It supports basic diagram manipulation and inspection through four tools:

  • createNode adds a shape with a label and returns its node ID.
  • createEdge adds an arrow between two nodes. Each endpoint can be identified by node ID or label text.
  • deleteElement removes a node or edge using its ID or label.
  • getFullDiagramState returns a Markdown representation of the full diagram, including nodes, relationships, labels, frames, and colors.

This tool set is suited to workflows that build or revise a diagram incrementally.

How it works

The excalidraw-mcp MCP server is started as a local process by the MCP client. The client launches the package with npx and passes the path to an existing or target .excalidraw file through --diagram. Once connected, the agent can call the diagram tools over MCP.

Node IDs returned by createNode can be used when creating edges or deleting elements. Labels can also identify nodes or elements where the tool supports label-based references. getFullDiagramState provides a text-oriented snapshot that an agent can read when it needs to understand the current diagram before making changes.

Setup and configuration

Node.js 18 or newer is required. Configure the server in the MCP client’s settings or add it with that client’s command-line registration flow. The core command is:

Terminal
npx -y @cmd8/excalidraw-mcp --diagram /path/to/diagram.excalidraw

The --diagram argument is required and should point to the Excalidraw diagram file the server will work with. The README provides configurations for Cursor, Claude Code, Amp, VS Code, Windsurf, Claude Desktop, and OpenAI Codex. The server uses a local command-based configuration; no environment variables are documented.

Tools and capabilities

Use createNode when the agent needs to place a labeled shape in the diagram. Its response includes the new node’s ID, which can make later operations more precise.

Use createEdge to represent a relationship with an arrow between two nodes. Endpoints may be supplied as IDs or as label text.

Use deleteElement to remove either a node or an edge. The target can be selected by ID or label.

Use getFullDiagramState to inspect the complete diagram in Markdown, including structural relationships and visual metadata such as frames and colors.

Limitations and notes

The diagram path is mandatory, so the client must provide a file location when starting the server. The documented interface covers nodes, edges, deletion, and state retrieval; it does not document tools for arbitrary Excalidraw element types, visual preview, export, or remote diagram storage. The package is released under the MIT license.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Excalidraw MCP

excalidraw-mcp is an MCP server that connects an MCP client to a local Excalidraw diagram file. Its main tools create labeled shape nodes, connect nodes with arrows, remove nodes or edges, and return a Markdown view of the diagram’s nodes, relationships, labels, frames, and colors.

Install it by configuring your MCP client to run `npx -y @cmd8/excalidraw-mcp --diagram /path/to/diagram.excalidraw`. Node.js 18 or newer is required, and the `--diagram` path is mandatory.

Yes, excalidraw-mcp works with Cursor through its MCP configuration. Add a server entry that runs the package with `npx` and passes the target `.excalidraw` file using the required `--diagram` argument.

Yes, VS Code is documented as a supported client. Add the server under VS Code MCP settings with a `stdio` type, the `npx` command, and arguments containing the package name and required diagram path.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewExcalidraw MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/excalidraw-mcp?style=directory)](https://allmcps.com/mcp/excalidraw-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/excalidraw-mcp"><img src="https://allmcps.com/api/badge/excalidraw-mcp?style=directory" alt="Excalidraw MCP on AllMCPs" /></a>