← Back to directory
E

Excalidraw MCP Server

Community
A live Excalidraw canvas for AI agents to create, edit, and export diagrams programmatically.
Category
Collaboration #43 of 55
Stars
★ 2.5k Very popular
Transport
stdio (local process)
Runtime
Node.js 18+ · Docker
Credentials
No credential needed
License
MIT
Last commit
Tools
26
43FMRS · D

This server is powerful and well-suited for agents needing programmatic diagram control. It provides element-level CRUD, layout tools, screenshot feedback, and file export, especially useful for diagrams as repo artifacts. However, note that the canvas is in-memory and clears on restart, and screenshots require a browser tab.

Strongest · Documentation 16/20 Weakest · Reliability 4/20

Reliability
4/20
Security and permissions
6/20
Maintenance
5/20
Documentation
16/20
Setup experience
12/20
Why each score
Reliability 4/20
No executable evidence was supplied: there is no package.json, source tree, CI workflow, or committed tests, and the server manifest is not cached. The README claims 26 tools, CLI exit codes, and smoke tests, but README is untrusted evidence. Therefore the MCP init handshake, tools/list output, and declared tool behavior cannot be verified; the score is low and conservative.
Security and permissions 6/20
The README discloses meaningful security design: loopback-only binding by default, no built-in authentication, optional encrypted share uploads (AES-GCM with key in the URL fragment), and no real tokens in any config example. However, without source code these claims cannot be validated; permission/confirmation controls, data boundaries, and outbound calls are only documented, not proven. No red-line issues were found in the supplied material.
Maintenance 5/20
The repository is not archived and has an MIT license, and the README references v1.1.0 plus CI/Docker badges. Still, there is no verifiable commit history, release dates, dependency update practices, or issue-response evidence. Stars and open issues are discovery signals only. Documentation of known issues exists, but sustained maintenance cannot be confirmed from the supplied files.
Documentation 16/20
The README is layered and thorough: installation routes, CLI reference, per-client MCP configuration, environment variable tables, tool category tables, FAQ, troubleshooting, and known limitations, all with copy-paste examples and security notes. Deductions apply because the document is not backed by source-level evidence, some behaviors are claims only (auto-start, browser dependency), and there is no cached server manifest or real schema listing.
Setup experience 12/20
The README presents clear, short installation paths (npx, source, Docker) and concrete client configuration snippets for multiple mainstream clients. However, the static calibration caps setup at 15 unless verified execution evidence exists in the files; no CI runs or committed key-path tests were supplied. Missing server manifest and package metadata also mean the npx package name, entry point, and Node version requirement cannot be independently confirmed, so the score is conservative at 12.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessWrites / deletes local filesUses the network

Best for

  • Programming agents that need iterative diagram design
  • Teams that want diagrams managed as repository artifacts
  • Environments using agents like Claude Code, Cursor

Not for

  • One-shot diagram generation where the official MCP might be simpler
  • Scenarios requiring persistent storage (canvas is in-memory by default, clears on restart)

Required permissions

  • Local network access: canvas server binds to 127.0.0.1:3000 by default
  • File system: export and import .excalidraw files
  • Optional share feature uploads an encrypted scene to excalidraw.com

Risks and side effects

  • Canvas data is stored in memory; restarting the server clears all elements
  • If configured to listen on non-loopback addresses, the API has no built-in authentication
  • Share feature depends on excalidraw.com service, may be affected by network

Setup

Before you start

Runtime:Node.js 18+ · Docker

Other optional settings (6)
EXPRESS_SERVER_URL optional URL of the canvas server, defaults to http://127.0.0.1:3000; usually no need to set.
ENABLE_CANVAS_SYNC optional Enables real-time canvas sync, defaults to true.
EXCALIDRAW_NO_AUTOSTART optional Set to 1 to disable canvas server auto-start.
EXCALIDRAW_EXPORT_DIR optional Base directory MCP file exports may write to, defaults to the current working directory.
PORT optional Canvas server bind port, defaults to 3000.
HOST optional Canvas server bind address, defaults to 127.0.0.1.

Prerequisite: Node.js ≥ 18.

  1. Add the following configuration to your Claude Desktop config file:
{
  "mcpServers": {
    "excalidraw": {
      "command": "npx",
      "args": ["-y", "mcp-excalidraw-server"]
    }
  }
}
  1. Save and restart Claude Desktop.
  2. Or use the CLI: npx -y mcp-excalidraw-server start.
claude_desktop_config.json
{
  "mcpServers": {
    "excalidraw": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-excalidraw-server"
      ]
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "excalidraw": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-excalidraw-server"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add excalidraw -- npx -y mcp-excalidraw-server

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

The client's tool list should show tools like create_element, describe_scene, and get_canvas_screenshot; or ask the AI to call describe_scene — a structured scene summary back proves the connection.

Troubleshooting

  1. CLI exit code 3: canvas unreachable, check EXPRESS_SERVER_URL or run `start`
  2. CLI exit code 4: screenshots and exports require a browser tab open to the canvas, open http://127.0.0.1:3000
  3. Canvas not updating: confirm EXPRESS_SERVER_URL points to the running canvas server

Things to try

Once connected, you can ask your AI assistant things like:

  • Draw an architecture diagram: an API Server rectangle connected to a Database rectangle with an arrow labeled SQL.
  • Take a screenshot of the current canvas, check for truncated labels or overlaps, and fix the layout.
  • Export the current scene to docs/architecture.excalidraw.
  • Convert this Mermaid flowchart into Excalidraw elements on the canvas.

Tools 26

create_element writes
Create an element
get_element read-only
Get a single element
update_element writes
Update an element
delete_element destructive
Delete an element
query_elements read-only
Query elements by criteria
batch_create_elements writes
Batch create elements
duplicate_elements writes
Duplicate elements
align_elements writes
Align elements
Show 18 more tools
distribute_elements writes
Distribute elements
group_elements writes
Group elements
ungroup_elements writes
Ungroup elements
lock_elements writes
Lock elements
unlock_elements writes
Unlock elements
describe_scene read-only
Get a text summary of the scene
get_canvas_screenshot read-only
Get a screenshot of the canvas
export_scene read-only
Export scene to .excalidraw file
import_scene writes
Import a .excalidraw file
export_to_image read-only
Export to image (PNG/SVG)
export_to_excalidraw_url destructive
Export to a shareable excalidraw.com URL
create_from_mermaid writes
Create a diagram from Mermaid code
clear_canvas destructive
Clear the canvas
snapshot_scene writes
Create a scene snapshot
restore_snapshot destructive
Restore a scene snapshot
set_viewport writes
Set the viewport
read_diagram_guide read-only
Read the diagram guide
get_resource read-only
Get a resource

Use cases

Let AI agents create and edit architecture diagrams and flowcharts in real time
Export diagrams as repository artifacts that stay in sync with code changes
Edit and sync diagrams directly in Obsidian via the Excalidraw plugin
Drive diagram generation via CLI without MCP configuration

Supported clients

Claude Desktop
Claude Code
Cursor
Codex
OpenCode
Antigravity

Listed from the project's documentation, not tested by this site.

Overview

mcp-excalidraw-server gives AI agents a live Excalidraw canvas to draw on, look at, refine, and save into your repo. Agents can create architecture diagrams and flowcharts programmatically, see their own work via screenshots, fix layout issues, and export .excalidraw files that live alongside code. Core drawing runs fully locally with no API keys (Node ≥ 18, MIT licensed). It offers a CLI, an MCP server with 26 tools, and a REST API.

Similar servers

Source revision 8084a1c8b410 Data synced 2026-10-12 Read the FMRS scoring method