mcp-excalidraw
A comprehensive 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.
Overview
MCP Excalidraw is a comprehensive Model Context Protocol (MCP) server that enables seamless interaction with Excalidraw diagrams and drawings, allowing developers to create, modify, query, and manipulate drawings through a structured API.
To use MCP Excalidraw, install the server via NPM or Docker, and integrate it with applications like Claude Desktop or Cursor by configuring the respective JSON files.
- Full control over Excalidraw elements (create, update, delete, query) - Advanced manipulation options (grouping, alignment, locking) - Resource management for scenes, libraries, and themes - Easy integration with LLM platforms - Docker support for deployment
- Creating and modifying diagrams programmatically.
- Integrating drawing capabilities into AI applications.
- Automating the generation of visual content based on user input.
Add to your AI client
Use these steps to connect mcp-excalidraw in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"mcp-excalidraw-yctimlin": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-excalidraw-yctimlin"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"mcp-excalidraw-yctimlin": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-excalidraw-yctimlin"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"mcp-excalidraw-yctimlin": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-excalidraw-yctimlin"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"mcp-excalidraw-yctimlin": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-excalidraw-yctimlin"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"mcp-excalidraw-yctimlin": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-excalidraw-yctimlin"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"mcp-excalidraw-yctimlin": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-excalidraw-yctimlin"
]
}
}
}FAQ
Can I use MCP Excalidraw with any LLM?
Yes! MCP Excalidraw is designed to work with various LLM platforms, including Claude Desktop and Cursor.
Is there a cost to use MCP Excalidraw?
No, MCP Excalidraw is open-source and free to use under the MIT License.
How do I deploy MCP Excalidraw?
You can deploy it using NPM or Docker, following the installation guide provided in the documentation.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":3091,"uuid":"e2fa991d-c055-4a8d-888f-d3957ca00b81","name":"mcp_excalidraw","title":"mcp-excalidraw","description":"A comprehensive 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.","avatar_url":null,"created_at":"$D2025-03-17T05:58:44.266Z","updated_at":"$D2025-03-18T13:57:25.684Z","status":"created","author_name":"yctimlin","author_avatar_url":null,"tags":"mcp_excalidraw,excalidraw,drawing-api","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/yctimlin/mcp_excalidraw","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":null,"user_uuid":"e5ae2b9b-750c-4510-8f81-2d9348616cb5","tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]