Excalidraw MCP Server

Excalidraw MCP Server, CLI & Agent Skill

A live Excalidraw canvas for the agent: creates, edits and exports diagrams over MCP or CLI, sees its own work via screenshots and saves .excalidraw files into

MCP server

Medium risk

We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.

Why this level

  • Runs a local canvas server and opens a browser process for rendering and screenshots
  • Reads and writes diagram files in the project, and on share uploads an encrypted scene to excalidraw.com
All reasons and checks

yctimlin/mcp_excalidraw

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/excalidraw-mcp-server-cli-agent-skill

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

Run in a terminal

claude mcp add --transport stdio excalidraw -- npx -y mcp-excalidraw-server

Or add to the file .mcp.json, in the project

{
  "mcpServers": {
    "excalidraw": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-excalidraw-server"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Install in Cursor

The button opens the agent and offers to add the server. If nothing happens, copy the config below.

Add to the file ~/.cursor/mcp.json, for all projects

{
  "mcpServers": {
    "excalidraw": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-excalidraw-server"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.

Install in VS Code

The button opens the agent and offers to add the server. If nothing happens, copy the config below.

Run in a terminal

code --add-mcp '{"name":"excalidraw","type":"stdio","command":"npx","args":["-y","mcp-excalidraw-server"]}'

Or add to the file .vscode/mcp.json, in the project

{
  "servers": {
    "excalidraw": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-excalidraw-server"
      ]
    }
  }
}

If the file already exists, add the server inside the servers key.

Run in a terminal

codex mcp add excalidraw -- npx -y mcp-excalidraw-server

Or add to the file ~/.codex/config.toml, for all projects

[mcp_servers.excalidraw]
command = "npx"
args = ["-y", "mcp-excalidraw-server"]

If the file already exists, append the block to the end.

Add to the file ~/.gemini/settings.json, for all projects

{
  "mcpServers": {
    "excalidraw": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-excalidraw-server"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Add to the file ~/.config/devin/mcp_config.json, for all projects

{
  "mcpServers": {
    "excalidraw": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-excalidraw-server"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.

Formerly Windsurf.

Add to the file cline_mcp_settings.json, for all projects

{
  "mcpServers": {
    "excalidraw": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-excalidraw-server"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.

Add to the file .roo/mcp.json, in the project

{
  "mcpServers": {
    "excalidraw": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-excalidraw-server"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

A fork of Roo Code, same .roo folders.

Add to the file opencode.json, in the project

{
  "mcp": {
    "excalidraw": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "mcp-excalidraw-server"
      ]
    }
  }
}

If the file already exists, add the server inside the mcp key.

Add to the file ~/.config/zed/settings.json, for all projects

{
  "context_servers": {
    "excalidraw": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-excalidraw-server"
      ]
    }
  }
}

If the file already exists, add the server inside the context_servers key.

Add to the file .codeassistant/mcp.json, in the project

{
  "mcpServers": {
    "excalidraw": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-excalidraw-server"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

You will need: Node.js

Checked against the repository on Sep 25, 2026, commit 713706e.

Text for your agent

Add the MCP server: claude mcp add excalidraw --scope user -- npx -y mcp-excalidraw-server. For coding agents the skill is handier: npx -y mcp-excalidraw-server install-skill --dir <skills-root>. Open http://127.0.0.1:3000 in a browser so screenshots work.

Other ways from the author
claude mcp add excalidraw --scope user -- npx -y mcp-excalidraw-server

The canvas starts itself on the first drawing command. For screenshots open http://127.0.0.1:3000.

This is third-party code. Review the repository files before installing.

What it does

The project runs a local Excalidraw canvas and lets the agent drive it element by element. Through 26 MCP tools or the same CLI commands the agent creates, reads, updates and deletes shapes, aligns and groups them, takes a screenshot and gets a text description of the scene to fix overlaps and labels. Diagrams export to .excalidraw and .excalidraw.md files that can be committed next to the code and opened on excalidraw.com or in the Obsidian plugin. It also converts from Mermaid, keeps named scene snapshots and can optionally upload an encrypted scene as a shareable link. The canvas runs locally on Node with no API keys and binds to 127.0.0.1 by default.

Who it is for. For developers and technical writers who need editable diagrams in the repo, built by the agent.

Good fit when

  • You need an editable architecture or flow diagram that the agent refines from screenshots
  • You want to keep diagrams as .excalidraw artifacts next to the code and update them with it
  • You want to convert a Mermaid diagram into an Excalidraw canvas

Not a fit when

  • You need a one-shot image from a single prompt rather than a persistent canvas
  • You cannot run a local server and open a browser tab, which is needed for screenshots and Mermaid

Example request

Draw an architecture diagram of this service on the Excalidraw canvas and save it to docs/architecture.excalidraw

Limitations

The canvas keeps elements in memory, so restarting the server clears the scene; use export or snapshot to persist it. Screenshots and Mermaid conversion require an open browser tab with the canvas. Node 20 or newer is required. The canvas server has no built-in authentication, so exposing it beyond 127.0.0.1 needs external access control. This is an independent project, not the official Excalidraw MCP. Licensed under MIT.

How to disable. Remove the excalidraw entry from your MCP client config, for example claude mcp remove excalidraw. If you installed the skill, delete the excalidraw-skill folder from the skills directory.

MCP

Transport
stdio
Authentication
not required
Environment variables
Environment variables
EXPRESS_SERVER_URL
Canvas server URL, defaults to http://127.0.0.1:3000
ENABLE_CANVAS_SYNC
Real-time canvas sync, on by default
EXCALIDRAW_NO_AUTOSTART
Set to 1 to disable canvas auto-start
EXCALIDRAW_EXPORT_DIR
Base directory MCP file exports may write to

Security check

  • Runs a local canvas server and opens a browser process for rendering and screenshots
  • Reads and writes diagram files in the project, and on share uploads an encrypted scene to excalidraw.com

README in short

The README presents mcp-excalidraw-server as a live Excalidraw canvas for agents with three ways to drive it: a skill and CLI for coding agents, an MCP server with 26 tools over stdio, and a REST API for custom frameworks. The core runs locally on Node 20 or newer without API keys, and the canvas starts itself on the first drawing command. The agent can see the scene via describe and screenshot, align and group elements, take snapshots and export .excalidraw files, including the Obsidian plugin format. Version 2.0 adds MCP protocol 2026-07-28, byte-stable exports and correct label rendering. Licensed under MIT.

FAQ

Is this the official Excalidraw MCP?

No. Excalidraw has its own official MCP; this is an independent project that offers a persistent canvas with element-level control, screenshots and file export instead of a one-shot widget.

Do I need API keys?

No. Drawing runs locally on Node with no keys. Only an encrypted scene is uploaded, and only if you call share yourself.

Official

Microsoft's utility and MCP server that turn PDF, Word, Excel, PowerPoint, HTML and other files into Markdown for models

MCP serverMedium riskNo VPN needed187.4KRepository stars
Editors’ pick

Anthropic's official skill examples: docx, pdf, pptx and xlsx documents, design, MCP builder and the Agent Skills spec

SkillMedium risk178.8KRepository stars
Editors’ pick

A skill that builds editable PPTX decks from PDF, DOCX, URLs and Markdown with native shapes, charts and animations

SkillMedium risk56.8KRepository stars
Editors’ pick

A skill that draws editorial diagrams as standalone HTML and SVG files: architecture, flowcharts, ER, funnels and about forty more types

SkillMedium riskNo VPN needed42.6KRepository stars
Foxx AIExcalidraw MCP Server

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.