@excalimate/mcp-server

@excalimate/mcp-server

Turn Excalidraw diagrams into keyframe animations. AI-powered creation via MCP, E2E encrypted sharing, export to MP4/WebM/GIF/SVG.

Category
Visit Server

README

<div align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="public/excalimate_logo_dark.svg"> <source media="(prefers-color-scheme: light)" srcset="public/excalimate_logo.svg"> <img src="public/excalimate_logo.svg" width="280" alt="Excalimate"> </picture>

Turn hand-drawn Excalidraw diagrams into keyframe animations

npm version npm downloads license GitHub stars

Website · MCP Server Docs · Report Bug

</div>

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.

@excalimate/mcp-server MCP server

Demo

https://github.com/user-attachments/assets/77e87c62-0ff4-4a56-aee6-50553b94798c

[!CAUTION] 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, please report 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-server

Open 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:5173

AI 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 port

<details> <summary><strong>VS Code (GitHub Copilot)</strong></summary>

Add to .vscode/mcp.json:

{
  "servers": {
    "excalimate": {
      "type": "http",
      "url": "http://localhost:3001/mcp"
    }
  }
}

</details>

<details> <summary><strong>Claude Desktop</strong></summary>

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "excalimate": {
      "command": "npx",
      "args": ["@excalimate/mcp-server", "--stdio"]
    }
  }
}

[!NOTE] Claude Desktop uses stdio transport — no live preview. Use save_checkpoint or share_project to view results in excalimate.com.

</details>

<details> <summary><strong>Claude Code (CLI)</strong></summary>

npx @excalimate/mcp-server &
claude mcp add excalimate http://localhost:3001/mcp

</details>

<details> <summary><strong>Cursor / Windsurf / Other HTTP clients</strong></summary>

Point your MCP client to http://localhost:3001/mcp and start the server with npx @excalimate/mcp-server.

</details>

[!TIP] HTTP mode (default) enables live 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/excalimate

Manual 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:

  1. Select elements and modify properties — keyframes are created automatically
  2. Scrub the timeline, move keyframes, and set the clip range
  3. Use Sequence Reveal for staggered element animations
  4. 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, plans

The 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         # ESLint

MCP 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 port

Acknowledgements

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured