Enables AI agents to programmatically create, modify, and animate hand-drawn diagrams, providing 23 tools for scene creation and element animation including opacity fades, position slides, scale effects, and rotation.
Turn hand-drawn Excalidraw diagrams into keyframe animations
Website · MCP Server Docs · Report Bug
Draw diagrams with the full Excalidraw editor, then animate elements with opacity fades, position slides, scale effects, rotation, and arrow draw-on animations. Export as MP4, WebM, GIF, or animated SVG. Includes an MCP server so AI agents can create and animate diagrams in real-time.
Demo
https://github.com/user-attachments/assets/77e87c62-0ff4-4a56-aee6-50553b94798c
A considerable part of this codebase was built with AI. The process of cleaning up the code and fixing bugs is still ongoing — use it cautiously. If you encounter any issues, pleasereport them.
Features
Full Excalidraw editor — draw, edit, resize, connect arrows, add text
Keyframe animation — opacity, position, scale, rotation, draw progress
Timeline — collapsible per-element tracks with interpolation lines, clip markers, scrubbing
Sequence reveal — stagger-reveal multiple elements with one click
Camera animation — pan/zoom keyframes with aspect ratio control
Export — MP4 (H.264), WebM (VP9), GIF, animated SVG
E2E encrypted sharing — AES-256-GCM, key stays in the URL hash fragment
MCP server — 23 tools for AI-driven scene creation, animation, and sharing
Live mode — watch AI changes appear in the editor in real-time via SSE
Quick Start
Try it now — no cloning required:
npx @excalimate/mcp-serverOpen excalimate.com, click the Live button, and point your AI tool to http://localhost:3001/mcp.
Local development
npm install
npm run dev
# → http://localhost:5173AI Integration (MCP Server)
The MCP server lets AI agents (Copilot, Claude, Cursor, Windsurf) create and animate diagrams for you. Start the server, connect your AI tool, and watch diagrams appear live in excalimate.com.
npx @excalimate/mcp-server # default port 3001
npx @excalimate/mcp-server --port 4000 # custom portAdd to .vscode/mcp.json:
{
"servers": {
"excalimate": {
"type": "http",
"url": "http://localhost:3001/mcp"
}
}
}Add to claude_desktop_config.json:
{
"mcpServers": {
"excalimate": {
"command": "npx",
"args": ["@excalimate/mcp-server", "--stdio"]
}
}
}Claude Desktop uses stdio transport — no live preview. Usesave_checkpoint or share_project to view results in excalimate.com.
npx @excalimate/mcp-server &
claude mcp add excalimate http://localhost:3001/mcpPoint your MCP client to http://localhost:3001/mcp and start the server with npx @excalimate/mcp-server.
HTTP mode (default) enableslive preview — you see the AI's changes in real-time. stdio mode is only needed for tools that don't support HTTP transport.
See mcp-server/README.md for the full tool reference and configuration guide.
AI Skills (Optional)
Excalimate ships with 16 specialized skills that teach AI agents how to create specific diagram types (architecture diagrams, flowcharts, sequence diagrams, etc.) with proper animation patterns. Skills dramatically improve output quality.
GitHub Copilot (recommended):
npx skills add https://github.com/excalimate/excalimateManual installation (any agent):
Copy the skills/ directory into your project, or point your agent's skill/context configuration to the skill files. Each skill is a standalone SKILL.md file that can be loaded as context.
Available skills: excalimate-core · animated-presentations · animation-patterns · architecture-diagrams · comparison-diagrams · data-pipelines · diagram-theming · er-diagrams · explainer-animations · export-optimization · flowcharts · mind-maps · network-topologies · org-charts · sequence-diagrams · timeline-roadmaps
Usage
Edit Mode
Draw your diagram using the Excalidraw editor. All standard tools work — rectangles, ellipses, arrows, text, groups, etc.
Animate Mode
Switch to Animate mode (Ctrl+E) to:
Select elements and modify properties — keyframes are created automatically
Scrub the timeline, move keyframes, and set the clip range
Use Sequence Reveal for staggered element animations
Export to MP4, WebM, GIF, or animated SVG
Sharing
Share your animation via File → Share. The project is encrypted client-side with AES-256-GCM and uploaded as an opaque blob — the server never sees the encryption key.
Architecture
excalimate/
├── src/ # React web app (Vite + TypeScript)
│ ├── components/ # UI (Mantine + Tailwind CSS)
│ ├── core/ # Animation engine, interpolation, playback
│ ├── stores/ # Zustand state management
│ ├── services/ # Export pipeline, encryption, file I/O
│ └── hooks/ # MCP live, hotkeys, auto-save
├── mcp-server/ # MCP server (Node.js + Express)
│ └── src/server/ # Modular tool registrations
├── skills/ # AI skill definitions (16 skills)
└── docs/ # Design guidelines, plansThe web app is a static SPA — all rendering, animation, and editing happens in the browser. The MCP server is optional, used only for AI integration and live preview.
Tech Stack
Layer | Technology |
UI | React 19, Mantine 8, Tailwind CSS 4, Tabler Icons |
Canvas | Excalidraw 0.18 |
State | Zustand |
Animation | Custom keyframe engine with interpolation + easing |
Export | WebCodecs (MP4/WebM), gif.js, SVG |
Encryption | Web Crypto API (AES-256-GCM) |
MCP Server | Node.js, Express, MCP SDK |
Build | Vite 7, TypeScript 5.9 |
Deployment | Cloudflare Pages, Cloudflare Workers, Cloudflare R2 |
Development
npm run dev # Start dev server
npm run build # Production build
npm run test # Run tests
npm run lint # ESLintMCP server:
cd mcp-server
npm install && npm run build
node dist/index.js # HTTP mode
node dist/index.js --stdio # stdio mode
node dist/index.js --port 4000 # custom portAcknowledgements
This project was inspired by excalidraw-animate by Daishi Kato, which demonstrated that Excalidraw drawings could be brought to life with animations. Thank you for the inspiration!
Built with Excalidraw — the amazing open-source virtual whiteboard.
License
MIT — see LICENSE
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.