excalidraw-mcp Documentation

Fast and streamable Excalidraw MCP App

4,361 stars TypeScript TypeScript 1 file ยท ~1,065 tokens
RAW Doc

1. Project Overview & Quickstart (excalidraw/excalidraw-mcp)

Excalidraw MCP App Server

MCP server that streams hand-drawn Excalidraw diagrams with smooth viewport camera control and interactive fullscreen editing.

Install

Works with any client that supports MCP Apps โ€” Claude, ChatGPT, VS Code, Goose, and others. If something doesn't work, please open an issue.

`https://mcp.excalidraw.com`

For apps that don't yet have an official integration, you can add a custom MCP / connector (naming can vary between apps).

Local

Option A: Download Extension

  1. Download excalidraw-mcp-app.mcpb from Releases
  2. Double-click to install in Claude Desktop

Option B: Build from Source

bash
git clone https://github.com/excalidraw/excalidraw-mcp.git
cd excalidraw-mcp-app
pnpm install && pnpm run build

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{
  "mcpServers": {
    "excalidraw": {
      "command": "node",
      "args": ["/path/to/excalidraw-mcp-app/dist/index.js", "--stdio"]
    }
  }
}

Restart Claude Desktop.

Usage

Example prompts:

  • "Draw a cute cat using excalidraw"
  • "Draw an architecture diagram showing a user connecting to an API server which talks to a database"

What are MCP Apps and how can I build one?

Text responses can only go so far. Sometimes users need to interact with data, not just read about it. MCP Apps is an official Model Context Protocol extension that lets servers return interactive HTML interfaces (data visualizations, forms, dashboards) that render directly in the chat.

Contributing

PRs welcome! See Local above for build instructions.

Deploy your own instance

You can deploy your own copy to Vercel in a few clicks:

  1. Fork this repo
  2. Go to vercel.com/new and import your fork
  3. No environment variables needed โ€” just deploy
  4. Your server will be at https://your-project.vercel.app/mcp

Release checklist

For maintainers

bash
# 1. Bump version in manifest.json and package.json
# 2. Build and pack
pnpm run build && mcpb pack .

# 3. Create GitHub release
gh release create v0.3.0 excalidraw-mcp-app.mcpb --title "v0.3.0" --notes "What changed"

# 4. Deploy to Vercel
vercel --prod

Credits

Built with Excalidraw โ€” a virtual whiteboard for sketching hand-drawn like diagrams.

License

MIT

2. Official Technical Reference & Guides (excalidraw/docs)

File: README.md

Website

This website is built using Docusaurus 2, a modern static website generator.

Installation

text
$ yarn

Local Development

text
$ yarn start

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Build

text
$ yarn build

This command generates static content into the build directory and can be served using any static contents hosting service.


File: docs/codebase/overview.md


In development. For now, refer to excalidraw Readme.


File: docs/package/overview.md


In development. For now, refer to excalidraw package readme.


File: docs/get-started.md


Want to integrate your Excalidraw into your app? Head over to the package docs.

If you're looking into the Excalidraw codebase itself, start here.