excalidraw
Provides tools for reading and drawing on Excalidraw boards: listing and reading boards, creating boards, adding shapes, labels and arrows that attach to shapes, updating or deleting elements, searching the shape library for icons, and moving or renaming boards, with changes appearing live on an open board.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@excalidrawDraw our checkout flow on a new board called Architecture/Checkout"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Excalidraw Boards
Self-hosted Excalidraw with boards in folders, and an MCP server so your AI agent can draw on them.

The Excalidraw editor you know, plus the two things it does not do on its own:
Boards. As many boards as you like, in nested folders, saved on your server as plain
.excalidrawfiles. Nothing lives in browser storage, and there is nothing to export.MCP. An endpoint that lets Claude Code, Cursor, VS Code or any other MCP client read and draw on your boards. A board you have open updates live while the agent draws.
Quick start
git clone https://github.com/yashagw/excalidraw-boards.git
cd excalidraw-boards
docker compose up -dThe first start builds the image, which takes a minute or two. Then open http://localhost:3779 and start drawing. Boards are saved in ./data/boards.
There is no login. Anyone who can reach the port can read and edit every board. Keep it on your machine or a private network (Tailscale, WireGuard, a VPN). Seeself-hosting.
Node.js 22 or newer:
npm install
npm run build
npm start # http://localhost:3779, boards in ./dataRelated MCP server: Excalidraw MCP Server
Boards
Boards sidebar (top right): create boards and folders, double-click to rename, drag onto a folder to move, search by name. Deleted boards go to
data/trash/, not into the void.Autosave half a second after you stop drawing. Every board has its own URL, like
/b/Work/Architecture.Plain files.
data/boards/Work/Architecture.excalidrawis exactly what Excalidraw's "Save to disk" writes: open it on excalidraw.com, keep it in git, back it up withrsync.Safe to share. Two tabs, or you and an agent, can edit the same board: changes merge per element. A save can never drop elements, and earlier versions are kept in
data/history/.Your shape library is stored on the server too, so it follows you to every device.
More in docs/boards.md.
Let your agent draw

Add the MCP server to your client. For Claude Code:
claude mcp add --transport http excalidraw http://localhost:3779/mcpFor Cursor, VS Code and others, see docs/mcp.md. Then ask:
Draw our checkout flow on a new board "Architecture/Checkout flow".
Tools | What they do |
| See which boards exist and what is on one |
| Draw: shapes with labels, arrows that attach to shapes |
| Move, restyle, relabel or remove elements |
| Find icons in your library (AWS, system design, …) to place by name |
| Rename or move a board; the format guide agents read first |
Agents send ordinary Excalidraw elements with two shortcuts: a label on any shape, and arrows that name the shapes they connect. The server routes and binds them, using Excalidraw's own converter:
[
{ "type": "rectangle", "id": "api", "x": 0, "y": 0, "width": 180, "height": 80, "label": "Orders API" },
{ "type": "ellipse", "id": "db", "x": 300, "y": 0, "width": 160, "height": 80, "label": "Postgres" },
{ "type": "arrow", "start": { "id": "api" }, "end": { "id": "db" }, "label": "insert" }
]More in docs/mcp.md.
Docs
Boards: folders, autosave, merging, history, trash and the library
MCP: connecting clients, the tools, the element format, library icons
Self-hosting: Docker, reverse proxies, security, backups, configuration
Development: how the code is laid out, running it locally, tests
Contributing
Issues and pull requests are welcome; see CONTRIBUTING.md. Please report security problems privately (SECURITY.md).
Credits
Built on Excalidraw: the editor is the official @excalidraw/excalidraw package, not a fork. The drawing guide agents read is adapted from the official excalidraw-mcp. Both are MIT licensed, and so is this project (LICENSE).
This server cannot be deployed
Maintenance
Related MCP Connectors
Create, read and live-edit visual boards, Kanban plans, Gantt timelines and diagrams with AI agents.
Create, edit and organize hand-drawn diagrams (flowcharts, ER, architecture) from any AI agent.
- KlyaksaOAuthapp.klyaksa
Online whiteboard your AI agent draws on: live shared canvases, solo or with your team.
Create and edit architecture diagrams from your AI agent; get an SVG and a live editable canvas.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to programmatically generate, edit, and view Excalidraw diagrams with real-time browser synchronization. It provides a suite of tools for adding shapes, text, and arrows to diagrams through natural language interactions.113,837 npm102MIT
- AlicenseNot gradedqualityDmaintenanceEnables 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 screenshots and scene descriptions.3,070 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to programmatically control a live Excalidraw canvas with element-level CRUD operations and real-time synchronization. It supports iterative diagramming through scene descriptions, screenshots, and advanced layout tools for collaborative AI-human workflows.3,070 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to create, modify, and share diagrams on a live Excalidraw canvas through MCP tools, supporting shapes, text, arrows, batch operations, and export to shareable links with images.3,070 npm8MIT