Excalidraw
Enables AI agents to programmatically control a live Excalidraw canvas through element-level CRUD operations and real-time synchronization. It allows agents to iteratively build, inspect, and refine diagrams while providing visual feedback via screen
What is Excalidraw?
Excalidraw is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to enables ai agents to programmatically control a live excalidraw canvas through element-level crud operations and real-time synchronization. it allows agents to iteratively build, inspect, and refine d...
Enables AI agents to programmatically control a live Excalidraw canvas through element-level CRUD operations and real-time synchronization. It allows agents to iteratively build, inspect, and refine diagrams while providing visual feedback via screen
This server falls under the Developer Tools category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- Enables AI agents to programmatically control a live Excalid
Use Cases
Maintainer
Works with
Installation
NPM
npx -y mcp-excalidraw-serverManual Installation
npx -y mcp-excalidraw-serverConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Excalidraw
The Excalidraw MCP Server connects AI agents to a live Excalidraw drawing canvas through a local WebSocket-backed bridge, exposing 26 tools for element-level CRUD operations, layout alignment, grouping, and scene export. Agents can create rectangles, ellipses, arrows, and text, read back the full scene state, take screenshots for visual confirmation, and import or export .excalidraw JSON files — enabling an iterative diagram-building workflow driven entirely by natural language. It is especially useful for generating architecture diagrams, flowcharts, and wireframes without manual drawing.
Prerequisites
- Node.js 18+ and npm installed
- An MCP-compatible client such as Claude Desktop or Claude Code
- Docker (optional, for running the canvas server containerized)
- A browser to view the live Excalidraw canvas at the local server address
- No external API keys required — the server runs entirely on localhost
Clone the repository and install dependencies
Clone the mcp_excalidraw repository and install Node.js dependencies.
git clone https://github.com/yctimlin/mcp_excalidraw.git
cd mcp_excalidraw
npm ciBuild the MCP server
Compile the TypeScript source to the dist/ directory.
npm run buildStart the canvas server
In a dedicated terminal, start the Express canvas server that hosts the live Excalidraw UI and WebSocket endpoint on port 3000.
PORT=3000 npm run canvasOpen the canvas in your browser
Visit http://127.0.0.1:3000 to see the live Excalidraw canvas. It will update in real time as the AI agent calls tools.
Register the MCP server with Claude Code
In a second terminal, register the MCP server. The EXPRESS_SERVER_URL variable points the MCP server to the running canvas.
claude mcp add excalidraw --scope user \
-e EXPRESS_SERVER_URL=http://127.0.0.1:3000 \
-e ENABLE_CANVAS_SYNC=true \
-- node /path/to/mcp_excalidraw/dist/index.jsAlternatively, use Docker for the canvas server
Run the pre-built Docker image instead of starting the canvas server from source.
docker run -d -p 3000:3000 ghcr.io/yctimlin/mcp_excalidraw-canvas:latestExcalidraw Examples
Client configuration
Add this to your claude_desktop_config.json to connect Claude Desktop to the Excalidraw MCP server. Update the path to match where you cloned the repository.
{
"mcpServers": {
"excalidraw": {
"command": "node",
"args": ["/path/to/mcp_excalidraw/dist/index.js"],
"env": {
"EXPRESS_SERVER_URL": "http://127.0.0.1:3000",
"ENABLE_CANVAS_SYNC": "true"
}
}
}
}Prompts to try
Use these prompts with the Excalidraw MCP server connected to have the AI draw diagrams on the live canvas.
- "Draw a flowchart showing a user login flow with decision diamonds for success and failure"
- "Create a system architecture diagram with three boxes: Frontend, API, and Database, connected by arrows"
- "Add a rectangle labeled 'Cache' between the API and Database boxes"
- "Export the current canvas as an Excalidraw JSON file called architecture.excalidraw"
- "Take a screenshot of the current canvas so I can review what was drawn"Troubleshooting Excalidraw
MCP server cannot connect to the canvas — 'ECONNREFUSED 127.0.0.1:3000'
The canvas server must be running before the MCP server starts. Open a separate terminal and run 'PORT=3000 npm run canvas' first, then launch or restart the MCP server.
Canvas does not update when AI calls tools
Ensure ENABLE_CANVAS_SYNC=true is set in the MCP server environment. Refresh the browser tab showing the canvas. Check that the browser is connected to http://127.0.0.1:3000 and not a cached page.
npm ci fails with dependency errors
Ensure you are using Node.js 18 or later. Run 'node --version' to check. If the version is older, install a newer LTS release via nvm or the official Node.js installer.
Frequently Asked Questions about Excalidraw
What is Excalidraw?
Excalidraw is a Model Context Protocol (MCP) server that enables ai agents to programmatically control a live excalidraw canvas through element-level crud operations and real-time synchronization. it allows agents to iteratively build, inspect, and refine diagrams while providing visual feedback via screen It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Excalidraw?
Install via npm with the command: npx -y mcp-excalidraw-server. Then add the server configuration to your AI client's JSON config file (e.g., claude_desktop_config.json or .cursor/mcp.json).
Which AI clients work with Excalidraw?
Excalidraw works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Excalidraw free to use?
Yes, Excalidraw is open source and available under the MIT License license. You can use it freely in both personal and commercial projects.
Excalidraw Alternatives — Similar Developer Tools Servers
Looking for alternatives to Excalidraw? Here are other popular developer tools servers you can use with Claude, Cursor, and VS Code.
Ecc
★ 188.2kThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Javaguide
★ 155.8kJava 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Gemini CLI
★ 104.5kA secure MCP server that wraps the Google Gemini CLI, allowing clients to query Gemini models using local OAuth sessions without requiring an API key. It provides tools for model interaction and diagnostics with built-in protection against command in
Awesome MCP Servers
★ 87.3k⭐ Curated list of Model Context Protocol (MCP) servers - tools that extend Claude Desktop, Cursor, Windsurf, and other MCP clients with custom capabilities.
MCP Servers
★ 86.0kModel Context Protocol Servers
CC Switch
★ 77.5kA cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
Browse More Developer Tools MCP Servers
Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Excalidraw in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Excalidraw?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.