This server gives Claude direct access to your Excalidraw diagram files through stdio transport. It exposes three core operations: createNode for adding labeled shapes, createEdge for drawing arrows between nodes (referenced by ID or label text), and deleteElement for removing items. You also get getFullDiagramState, which returns a markdown representation of everything in your diagram including frames and colors. Point it at an .excalidraw file via the required diagram flag, and you can have Claude build or modify technical diagrams conversationally instead of clicking around the canvas. Useful when you're sketching architecture or workflows and want to iterate through natural language rather than manual editing.
Public tool metadata for what this MCP can expose to an agent.
read_meReturns the Excalidraw element format reference with color palettes, examples, and tips. Call this BEFORE using create_view for the first time.Returns the Excalidraw element format reference with color palettes, examples, and tips. Call this BEFORE using create_view for the first time.
No parameter schema in public metadata yet.
create_viewRenders a hand-drawn diagram using Excalidraw elements. Elements stream in one by one with draw-on animations. Call read_me first to learn the element format.1 paramsRenders a hand-drawn diagram using Excalidraw elements. Elements stream in one by one with draw-on animations. Call read_me first to learn the element format.
elementsstringModel Context Protocol (MCP) server for Excalidraw diagrams.
Add to your Cursor MCP config (~/.cursor/mcp.json):
{
"mcpServers": {
"excalidraw": {
"command": "npx",
"args": ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]
}
}
}
claude mcp add excalidraw -- npx -y @cmd8/excalidraw-mcp --diagram /path/to/diagram.excalidraw
amp mcp add excalidraw -- npx -y @cmd8/excalidraw-mcp --diagram /path/to/diagram.excalidraw
Add to your VS Code MCP settings:
{
"mcp": {
"servers": {
"excalidraw": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]
}
}
}
}
Add to your Windsurf MCP config:
{
"mcpServers": {
"excalidraw": {
"command": "npx",
"args": ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]
}
}
}
Add to your claude_desktop_config.json:
{
"mcpServers": {
"excalidraw": {
"command": "npx",
"args": ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]
}
}
}
Add to your Codex MCP config:
[mcp_servers.excalidraw]
command = "npx"
args = ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]
-d, --diagram (required): Path to the Excalidraw diagram filecreateNodeCreate a new node (shape with label) in the diagram. Returns the created node ID.
createEdgeCreate an arrow connecting two nodes. Nodes can be referenced by ID or by label text.
deleteElementDelete a node or edge from the diagram by ID or label.
getFullDiagramStateReturns a markdown representation of the complete diagram, including nodes, relationships, labels, frames, and colors.
MIT
miapre/html-to-figma-design-system
ie3jp/illustrator-mcp-server
coding-solo/godot-mcp
ivanmurzak/unity-mcp
yctimlin/mcp_excalidraw
figma/mcp-server-guide