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.
create_element
type
, x
, y
coordinatesupdate_element
id
of the element to updatedelete_element
id
of the element to deletequery_elements
type
to filter by element type, filter
object with key-value pairsresource
type (scene, library, theme, elements)group_elements
elementIds
array of element IDs to groupungroup_elements
groupId
of the group to ungroupalign_elements
elementIds
array and alignment
(left, center, right, top, middle, bottom)distribute_elements
elementIds
array and direction
(horizontal or vertical)lock_elements
elementIds
array of elements to lockunlock_elements
elementIds
array of elements to unlockTo use this server with the Claude Desktop application, add the following configuration to the "mcpServers" section of your claude_desktop_config.json
:
{
"mcpServers": {
"excalidraw": {
"command": "node",
"args": ["src/index.js"],
"env": {
"LOG_LEVEL": "info",
"DEBUG": "false"
}
}
}
}
To use this server with Cursor, create a .cursor/mcp.json
file in your workspace with the following configuration:
{
"mcpServers": {
"excalidraw": {
"command": "node",
"args": [
"/path/to/your/directory/mcp_excalidraw/src/index.js"
],
"env": {
"LOG_LEVEL": "info",
"DEBUG": "false"
}
}
}
}
Make sure to:
/path/to/your/directory
with the actual absolute path to your mcp_excalidraw installation.cursor
directory if it doesn't existindex.js
is correct and the file exists{
"mcpServers": {
"excalidraw": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/excalidraw"],
"env": {
"LOG_LEVEL": "info",
"DEBUG": "false"
}
}
}
}
# Install dependencies
npm install
# Start the server
npm start
# Build the Docker image
docker build -t mcp/excalidraw .
# Run the container
docker run -i --rm mcp/excalidraw
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")Here are some practical examples of how to use the Excalidraw MCP server:
{
"type": "rectangle",
"x": 100,
"y": 100,
"width": 200,
"height": 100,
"backgroundColor": "#ffffff",
"strokeColor": "#000000",
"strokeWidth": 2,
"roughness": 1
}
{
"type": "rectangle",
"filter": {
"strokeColor": "#000000"
}
}
{
"elementIds": ["elem1", "elem2", "elem3"]
}
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.
Seamless access to top MCP servers powering the future of AI integration.