Excalidraw Mcp

io.github.cmd8Published by GitHub account cmd8v1.2.0Updated Oct 24, 2026

Model Context Protocol server for Excalidraw diagrams.

VerifiedSTDIODesktop onlyProductivity & WorkflowMedia & Design

Overview

AI-generated overview

Lets an assistant create, connect, delete, and read nodes and edges in a local Excalidraw diagram file.

What you can do
This MCP server works on a single Excalidraw diagram file given at startup. Its tools create a node (a shape with a label) and return its ID, create an arrow between two nodes referenced by ID or label text, delete a node or edge by ID or label, and return a markdown representation of the whole diagram including nodes, relationships, labels, frames, and colors.
When to use it
Useful when you want an assistant to build or edit a diagram file directly, for example sketching architecture or flow diagrams as nodes and arrows, or reading an existing diagram back as markdown for review.
Requirements
Runs locally over stdio as an npm package, so Node.js v18.0.0 or newer is needed. The diagram file path must be passed with the required --diagram option. No accounts, API keys, or environment variables are declared.
Before you install
The server writes to the diagram file you point it at, and deleteElement removes nodes or edges, so changes can be destructive; keep backups or version control. Desktop-only, with no web execution.

Installation

In SourceWeft

  1. Open Excalidraw Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@cmd8/excalidraw-mcp

Model Context Protocol (MCP) server for Excalidraw diagrams.

🛠️ Installation

Requirements

  • Node.js >= v18.0.0
Install in Cursor

Add to your Cursor MCP config (~/.cursor/mcp.json):

json
{  "mcpServers": {    "excalidraw": {      "command": "npx",      "args": ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]    }  }}
Install in Claude Code
sh
claude mcp add excalidraw -- npx -y @cmd8/excalidraw-mcp --diagram /path/to/diagram.excalidraw
Install in Amp
sh
amp mcp add excalidraw -- npx -y @cmd8/excalidraw-mcp --diagram /path/to/diagram.excalidraw
Install in VS Code

Add to your VS Code MCP settings:

json
{  "mcp": {    "servers": {      "excalidraw": {        "type": "stdio",        "command": "npx",        "args": ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]      }    }  }}
Install in Windsurf

Add to your Windsurf MCP config:

json
{  "mcpServers": {    "excalidraw": {      "command": "npx",      "args": ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]    }  }}
Install in Claude Desktop

Add to your claude_desktop_config.json:

json
{  "mcpServers": {    "excalidraw": {      "command": "npx",      "args": ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]    }  }}
Install in OpenAI Codex

Add to your Codex MCP config:

toml
[mcp_servers.excalidraw]command = "npx"args = ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]

CLI Options

  • -d, --diagram (required): Path to the Excalidraw diagram file

🔨 Available Tools

createNode

Create a new node (shape with label) in the diagram. Returns the created node ID.

createEdge

Create an arrow connecting two nodes. Nodes can be referenced by ID or by label text.

deleteElement

Delete a node or edge from the diagram by ID or label.

getFullDiagramState

Returns a markdown representation of the complete diagram, including nodes, relationships, labels, frames, and colors.

License

MIT

Source: README.md at commit 21abaea

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.2.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts