excalidraw-mcp: Excalidraw Diagram Server for AI Assistants
Fast and streamable Excalidraw MCP App
At a glance
- What is it?
- excalidraw-mcp is an MCP App server that generates and streams hand-drawn Excalidraw diagrams directly inside AI chat clients. It works with any client that supports the MCP Apps extension, including Claude, ChatGPT, VS Code, and Goose, via a hosted URL or a self-hosted Vercel deployment.
- Who is it for?
- excalidraw-mcp is the right tool for developers and technical writers who want to generate Excalidraw diagrams from natural-language prompts inside an AI chat interface. The hosted server at mcp.excalidraw.com requires no installation.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Activity is slowing. The repository last received commits 6 months ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What excalidraw-mcp does and who it is for
Standard text-based responses from AI assistants cannot deliver an interactive diagram that a user can pan, zoom, and edit. excalidraw-mcp fills that gap using the MCP Apps extension to the Model Context Protocol. When an AI assistant connected to this server is asked to draw an architecture diagram, a flowchart, or anything else that lends itself to visual representation, the server generates an Excalidraw diagram and streams it back as an interactive panel inside the chat window. The panel uses the hand-drawn visual style that Excalidraw is known for and it includes smooth viewport camera control so the diagram can be navigated without leaving the chat.
The primary audience is developers who already use an MCP-capable client and want diagrams that are immediately editable in place, not screenshots or code blocks that require opening a second application. The README gives example prompts such as 'Draw a cute cat using excalidraw' and 'Draw an architecture diagram showing a user connecting to an API server which talks to a database' to illustrate the natural-language interface. The fullscreen editing mode mentioned in the README description means the canvas can also be expanded to fill the viewport for more detailed work.
How the MCP Apps extension makes interactive diagrams possible
The Model Context Protocol defines how an AI assistant connects to external tools and data sources. The MCP Apps extension, which excalidraw-mcp is built on, goes further: it allows a server to return an interactive HTML interface rather than plain text. According to the README, this makes it possible for servers to deliver data visualizations, forms, and dashboards that render directly inside the chat. excalidraw-mcp uses this mechanism to return a full Excalidraw canvas as the response to a diagram request.
Under the hood the server depends on @excalidraw/excalidraw ^0.18.0 for the canvas, @modelcontextprotocol/ext-apps ^0.4.0 for the MCP Apps protocol, and morphdom ^2.7.8 for incremental DOM updates, which is the mechanism enabling the streaming camera control the README describes. State is stored via @upstash/redis. The Express 5.x server handles HTTP transport, and the package declares a bin entry named mcp-server-excalidraw pointing to dist/index.js, as well as a --stdio flag for local desktop use. This dual transport means it can be added both to Claude Desktop's JSON configuration and to any client that accepts a remote MCP URL. The build is managed by Vite and the project uses pnpm as its package manager.
Connecting to the hosted server or installing locally
The recommended path is to connect directly to the hosted server, which requires no installation:
https://mcp.excalidraw.comThis URL can be added as a remote MCP server or custom connector in any compatible client. The README notes that naming conventions differ between clients (some call it MCP, others call it a connector), and it suggests opening an issue if a specific client does not work. For local installation, the README offers two options. Option A is to download the excalidraw-mcp-app.mcpb extension file from the GitHub releases page and double-click to install it in Claude Desktop. Option B is to build from source:
git clone https://github.com/excalidraw/excalidraw-mcp.git
cd excalidraw-mcp-app
pnpm install && pnpm run buildAfter building, add the server to Claude Desktop by editing the config file at ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"excalidraw": {
"command": "node",
"args": ["/path/to/excalidraw-mcp-app/dist/index.js", "--stdio"]
}
}
}Restart Claude Desktop after saving the config for the server to be picked up.
Self-hosting on Vercel for diagram data control
If you need to control where diagram data is processed rather than routing it through the hosted server, the README documents a Vercel deployment path. Fork the repository, create a new project at vercel.com/new, import your fork, and deploy. No environment variables are required; the README states the project needs none. The deployed server is available at https://your-project.vercel.app/mcp.
The README also documents the maintainer's release checklist: bump the version in both manifest.json and package.json, run pnpm run build followed by mcpb pack to produce the .mcpb extension file, create a GitHub release with that file attached, and finally run vercel --prod to update the hosted instance. Teams running their own Vercel deployment can follow the same checklist to keep their fork current with upstream changes. The repo layout includes a docs/ directory and a vercel.json configuration, confirming that Vercel deployment is a supported path, not an experimental one.
Maintenance status and client compatibility considerations
The last push to the repository was on 2026-03-24 and the latest release was v0.3.2 on 2026-02-09. Both dates are more than six months before this writing. The MCP ecosystem, including the MCP Apps extension that excalidraw-mcp depends on, has continued to develop since the last commit. The @modelcontextprotocol/sdk dependency is pinned to 1.25.2 and @modelcontextprotocol/ext-apps to ^0.4.0 in the package.json. Clients that have updated their MCP implementation to a newer protocol version may behave differently from what the README documents.
The README itself flags this possibility directly, stating that if something does not work a user should open an issue on the repository. The compatibility guarantee is not stated explicitly. Teams that need guaranteed compatibility should test the server against their specific client version before adding it to a shared workflow. Another consideration: the MCP Apps extension itself is labelled as an extension of the protocol rather than part of the core specification, so client support is opt-in. Not every MCP-capable client supports MCP Apps. The README lists Claude, ChatGPT, VS Code, and Goose as compatible clients. The server's language is TypeScript and the license is MIT, which means forking and patching is an option if a specific client requires a protocol update.
How excalidraw-mcp compares to Mermaid-based diagram tools in AI workflows
Mermaid.js is the most common alternative for generating diagrams from AI assistants. An AI assistant with access to a Mermaid renderer can produce flowcharts, sequence diagrams, entity-relationship diagrams, and Gantt charts from structured text. The output is a static SVG rendered from Mermaid's plain-text syntax. The distinction from excalidraw-mcp is twofold: Mermaid produces structured diagram types from a formal grammar, while excalidraw-mcp generates freehand-style drawings from natural-language descriptions; and Mermaid renders a static image, while excalidraw-mcp returns an interactive canvas that can be panned, zoomed, and edited directly in the chat panel.
For engineers who need diagrams with consistent, predictable layout and who prefer to describe structure in code, Mermaid is more reliable and does not require an MCP server at all. For cases where the hand-drawn aesthetic matters, where the user wants to continue editing the diagram after the AI generates it, or where the diagram does not fit neatly into one of Mermaid's fixed types, excalidraw-mcp is the more useful result. The two tools are not mutually exclusive: a client that supports multiple MCP servers can have both available simultaneously and pick based on the request.
Editorial conclusion
excalidraw-mcp is the right tool for developers and technical writers who want to generate Excalidraw diagrams from natural-language prompts inside an AI chat interface. The hosted server at mcp.excalidraw.com requires no installation. The self-hosted Vercel path works if you need to control where diagram data is processed. The last push was on 2026-03-24 and the latest release was v0.3.2 on 2026-02-09; clients and MCP Apps specifications have continued to evolve since then, so verify that your specific client version works before depending on it in a production workflow. The MIT licence permits redistribution and commercial use.
Frequently asked questions
Is there an MCP for Excalidraw?
Yes. excalidraw-mcp is an MCP App server that lets AI assistants draw and stream Excalidraw diagrams inside the chat window. It is available as a hosted server at https://mcp.excalidraw.com or can be self-hosted on Vercel.
How do I install the Excalidraw MCP server?
The simplest method is to add the hosted URL https://mcp.excalidraw.com as a remote MCP server in your client. For Claude Desktop, you can also download the .mcpb extension from the releases page and double-click to install it, or build from source using pnpm install && pnpm run build.
How do I add the Excalidraw MCP to Claude?
Build from source or download the .mcpb file, then add an entry to ~/Library/Application Support/Claude/claude_desktop_config.json pointing to the dist/index.js file with the --stdio flag. Restart Claude Desktop after saving. The hosted server at mcp.excalidraw.com can also be added as a custom connector.
Is the Excalidraw MCP server free to use?
The repository is MIT-licensed and the source code is free to use and self-host. The hosted server at mcp.excalidraw.com is publicly accessible, though the README does not document any usage limits or terms for the hosted endpoint.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/excalidraw-excalidraw-mcp)