The Excalidraw MCP Server provides a structured API for creating, modifying, and managing Excalidraw diagrams, enabling seamless integration with LLMs and other platforms.
Capabilities include:
Create/Update/Delete Elements: Generate or modify shapes like rectangles, ellipses, and text
Query Elements: Filter and retrieve elements based on criteria
Manage Resources: Access scene information, libraries, and themes
Organize Elements: Group, ungroup, align, distribute, lock, and unlock elements
Flexible Integration: Works with Claude Desktop, Cursor, and Docker for deployment
Supports containerized deployment of the MCP server for simplified integration and consistent environment.
Enables creation, modification, and manipulation of Excalidraw diagrams, including element control, grouping, alignment, and resource management.
Provides installation and dependency management through npm, allowing users to easily set up and run the MCP server.
Excalidraw MCP Server: Powerful Drawing API for LLM Integration
📣 NEWS: Version 1.0.0 is now published to npm! You can run Excalidraw MCP directly using
npx excalidraw-mcp
without installation. No setup required - just run and enjoy!
A comprehensive Model Context Protocol (MCP) server that enables seamless interaction with Excalidraw diagrams and drawings. This server provides LLMs (Large Language Models) with the ability to create, modify, query, and manipulate Excalidraw drawings through a structured, developer-friendly API.
Quick Start
You can run the Excalidraw MCP server directly using npx without installing anything:
If you prefer to install it globally:
Options
The following command-line options are available:
Note: The following options are currently only fully functional in the Docker version:
-p, --port <port> Port to run the server on (default: 3000) -h, --host <host> Host to bind the server to (default: localhost) -m, --mode <mode> Transport mode: 'stdio' or 'http' (default: stdio)
Examples
Run with default options:
Enable debug logging:
Features
Full Excalidraw Element Control: Create, update, delete, and query any Excalidraw element
Advanced Element Manipulation: Group, align, distribute, lock, and unlock elements
Resource Management: Access and modify scene information, libraries, themes, and elements
Easy Integration: Works with Claude Desktop and other LLM platforms
Docker Support: Simple deployment with containerization options
API Tools Reference
Element Creation and Modification
create_element
Create a new Excalidraw element (rectangle, ellipse, diamond, etc.)
Required inputs:
type
,x
,y
coordinatesOptional inputs: dimensions, colors, styling properties
update_element
Update an existing Excalidraw element by ID
Required input:
id
of the element to updateOptional inputs: any element property to modify
delete_element
Delete an Excalidraw element
Required input:
id
of the element to delete
query_elements
Query elements with optional filtering
Optional inputs:
type
to filter by element type,filter
object with key-value pairs
Resource Management
get_resource
Get a specific resource like scene information or all elements
Required input:
resource
type (scene, library, theme, elements)
Element Organization
group_elements
Group multiple elements together
Required input:
elementIds
array of element IDs to group
ungroup_elements
Ungroup a group of elements
Required input:
groupId
of the group to ungroup
align_elements
Align multiple elements based on specified alignment
Required inputs:
elementIds
array andalignment
(left, center, right, top, middle, bottom)
distribute_elements
Distribute elements evenly across space
Required inputs:
elementIds
array anddirection
(horizontal or vertical)
lock_elements
Lock elements to prevent modification
Required input:
elementIds
array of elements to lock
unlock_elements
Unlock elements to allow modification
Required input:
elementIds
array of elements to unlock
Integration with Claude Desktop
To use this server with the Claude Desktop application, add the following configuration to the "mcpServers" section of your claude_desktop_config.json
:
Integration with Cursor
To use this server with the Cursor application, add the following configuration to the "mcpServers" section of your .cursor/mcp.json
:
Integration with Cursor
To use this server with Cursor, create a .cursor/mcp.json
file in your workspace with the following configuration:
Make sure to:
Replace
/path/to/your/directory
with the actual absolute path to your mcp_excalidraw installationCreate the
.cursor
directory if it doesn't existEnsure the path to
index.js
is correct and the file exists
Docker Integration
Installation Guide
NPM Installation
Local Development Setup
Docker Installation
Configuration Options
The server can be configured using the following environment variables:
LOG_LEVEL
- Set the logging level (default: "info")DEBUG
- Enable debug mode (default: "false")DEFAULT_THEME
- Set the default theme (default: "light")
Usage Examples
Here are some practical examples of how to use the Excalidraw MCP server:
Creating a Rectangle Element
Querying Specific Elements
Grouping Multiple Elements
License
This Excalidraw MCP server is licensed under the MIT License. You are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Development
Clone the repository and install dependencies:
Start the development server:
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
A Model Context Protocol server that enables LLMs to create, modify, and manipulate Excalidraw diagrams through a structured API.
- Quick Start
- Features
- API Tools Reference
- Integration with Claude Desktop
- Integration with Cursor
- Integration with Cursor
- Installation Guide
- Configuration Options
- Usage Examples
- License
- Development
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server implementation that enables LLMs to interact with NebulaGraph database for graph exploration, supporting schema understanding, queries, and graph algorithms.Last updated -20Apache 2.0
- AsecurityFlicenseAqualityA Model Context Protocol server that provides API functionality for creating, managing, and exporting Excalidraw drawings in various formats like SVG, PNG, and JSON.Last updated -82632
- -securityAlicense-qualityA Model Context Protocol server that enables LLMs to interact with GraphQL APIs by providing schema introspection and query execution capabilities.Last updated -5021MIT License
- -securityFlicense-qualityA Model Context Protocol server that enables LLMs to interact with GraphQL APIs by providing schema introspection and query execution capabilities.Last updated -0