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
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
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/excalidraw-mcp-server-cli-agent-skillDetects 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-serverOr 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.
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.
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-serverOr 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.
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-serverThe 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.excalidrawLimitations
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 | |
|---|---|
| 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.
Related
Microsoft's utility and MCP server that turn PDF, Word, Excel, PowerPoint, HTML and other files into Markdown for models
Anthropic skills
Skills
Anthropic's official skill examples: docx, pdf, pptx and xlsx documents, design, MCP builder and the Agent Skills spec
A skill that builds editable PPTX decks from PDF, DOCX, URLs and Markdown with native shapes, charts and animations
A skill that draws editorial diagrams as standalone HTML and SVG files: architecture, flowcharts, ER, funnels and about forty more types