Excalidraw MCP server
io.github.debu-sinha/excalidraw·v1.0.2·3 starsSecurity-hardened Excalidraw MCP server with auth, rate limiting, and 14 tools
3 stars963 downloads/wk
Reviews
Write oneNobody has reviewed Excalidraw yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Excalidraw tools (14, 6 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
align_elementsAlign elements (left, center, right, top, middle, bottom)
batch_create_elementswrite actionCreate multiple elements at once (max …)
create_elementwrite actionCreate a single Excalidraw element on the canvas
create_from_mermaidwrite actionConvert a Mermaid diagram to Excalidraw elements
delete_elementwrite actionDelete an Excalidraw element by ID
distribute_elementsDistribute elements evenly (horizontal or vertical)
export_sceneExport the canvas as PNG or SVG
get_resourceGet scene state, elements, theme, or library
group_elementsGroup multiple elements together
lock_elementsLock elements to prevent modification
query_elementsSearch for elements by type, locked status, or group ID
ungroup_elementswrite actionRemove elements from a group by group ID
unlock_elementsUnlock elements to allow modification
update_elementwrite actionUpdate an existing Excalidraw element by ID
Public scan report
scanner v0.1.10 · 2026-09-28 · same rubric, same numbers if you re-run it
- Code scan234 source files scanned15/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 232 days ago4/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (2)
- mediumGoogle API key in source (often public by design; check its restrictions)
secret.googledist/canvas/frontend/assets/index-QgE48NmD.js: …m",VITE_APP_FIREBASE_CONFIG:'{"apiKey":"AIza****","authDomain":"excalidraw-room-persiste… - mediumeval / new Function used
exec.evaldist/canvas/frontend/assets/subset-shared.chunk-Dwth19hB.js: …${A}`:A}function xA(A,g){return A=nA(A),new Function("body",`return function ${A}() { "us…
How Excalidraw compares
Against every graded Security MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 60/100
- higher than 15% of 915 Security servers
- Tools
- 14
- the typical Security server has 6
- Tools that change things
- 43%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 3
- more than 80% of 587 Security servers
- Downloads a week
- 963
- more than 95% of 248 Security servers with a package
What its tools let an agent do: 8 read · 2 create · 3 change · 1 delete
Install Excalidraw in Claude Code, Cursor or VS Code
Runs npx -y excalidraw-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add excalidraw -- npx -y excalidraw-mcp-server
What the publisher says
From the Excalidraw repository's README, as published. We do not edit it. Read it on GitHub
excalidraw-mcp-server
The only Excalidraw MCP server with security hardening, inline diagram rendering, and real-time canvas sync.
What it does
Ask your AI to draw a diagram, and it appears right inside the chat. The MCP server gives Claude Desktop, ChatGPT, VS Code, and Cursor a full set of drawing tools backed by the Excalidraw format -- with API authentication, rate limiting, and input validation on every operation.
v2.0 adds MCP Apps support: diagrams stream inline as interactive SVG widgets with draw-on animations, and you can export any diagram to excalidraw.com with one click.
Two modes, zero config
Standalone mode (default) -- just install and go. The server runs with an in-process element store. No canvas server, no API keys, no setup. Your MCP client calls the tools, and diagrams render inline.
Connected mode -- start the optional canvas server for real-time browser sync. Multiple clients can collaborate on the same canvas through authenticated WebSocket connections. File persistence keeps state across restarts.
The server auto-detects which mode to use: if a canvas server is reachable, it connects to it. Otherwise it falls back to standalone.
Architecture
Diagram created with excalidraw-mcp-server -- edit in Excalidraw
Features
MCP Apps (v2.0)
- Inline diagram rendering in Claude Desktop, ChatGPT, and VS Code
- Streaming SVG with draw-on animations as elements arrive
- Export to excalidraw.com with one click
- Element reference cheatsheet via read_me tool
16 MCP tools
- Create, update, delete, and query elements (rectangle, ellipse, diamond, arrow, text, line, freedraw)
- Batch create up to 100 elements at once
- Group, ungroup, align, distribute, lock, unlock
- Mermaid diagram conversion
- SVG and PNG export
Security
- API key authentication with constant-time comparison
- Origin-restricted CORS (no wildcards)
- WebSocket auth with token and origin validation
- Standard and strict rate limiting tiers
- Bounded Zod schemas with .strict() on every endpoint
- Helmet.js security headers with CSP
Infrastructure
- Real-time WebSocket sync across browser clients
- Optional atomic-write file persistence
- Structured pino audit logging
Install
npm install -g excalidraw-mcp-serverOr run directly:
npx excalidraw-mcp-serverQuick start
Standalone (recommended for most users)
Just point your MCP client at the server. No canvas server needed.
{
"mcpServers": {
"excalidraw": {
"command": "npx",
"args": ["excalidraw-mcp-server"]
}
}
}Then ask your AI: "Draw an architecture diagram showing a load balancer, three app servers, and a database"
Connected mode (real-time browser sync)
# Generate an API key
node scripts/generate-api-key.cjsShortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Excalidraw: common questions
- Is Excalidraw MCP server safe?
- With care: it is graded C, so read the findings first (60/100). Read the Excalidraw safety report
- How do I install Excalidraw?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Excalidraw need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Excalidraw maintained?
- The last commit was 269 days ago (2026-02-08). The latest release is v1.0.2.
- What can I use instead of Excalidraw?
- Servers from other publishers that do the same job: Kalshi Prediction Markets MCP server, Notebooklm Secure MCP server and Raziel MCP server.
- How does Excalidraw compare with other Security MCP servers?
- safety score 60/100 (higher than 15% of 915 Security servers); tools 14 (the typical Security server has 6); tools that change things 43% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Excalidraw
Same job from other publishers: the closest match first, then the best rated.
- Kalshi Prediction MarketsMCP server for Kalshi prediction markets: native RSA-PSS auth, rate limiting, demo/prod safety.not reviewedGrowingB
- Notebooklm SecureSecurity-hardened NotebookLM MCP with post-quantum encryptionnot reviewedGrowingA
- RazielMCP server teaching AI agents to implement TideCloak: auth, E2EE, IGA, security analysisnot reviewedGrowingA
- SkylosDead code, security, secrets detection and code quality for Python, TypeScript, Go.not reviewedEstablishedC
- SnykEasily find and fix security issues in your applications leveraging Snyk platform capabilities.not reviewedEstablishedB