io.github.cmd8/excalidraw-mcp
Model Context Protocol server for Excalidraw diagrams.
★ 3MITdevtools
Install
Config snippet generator goes here (5 client tabs)
README
# @cmd8/excalidraw-mcp
Model Context Protocol (MCP) server for Excalidraw diagrams.
## 🛠️ Installation
### Requirements
- Node.js >= v18.0.0
<details>
<summary><b>Install in Cursor</b></summary>
Add to your Cursor MCP config (`~/.cursor/mcp.json`):
```json
{
"mcpServers": {
"excalidraw": {
"command": "npx",
"args": ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]
}
}
}
```
</details>
<details>
<summary><b>Install in Claude Code</b></summary>
```sh
claude mcp add excalidraw -- npx -y @cmd8/excalidraw-mcp --diagram /path/to/diagram.excalidraw
```
</details>
<details>
<summary><b>Install in Amp</b></summary>
```sh
amp mcp add excalidraw -- npx -y @cmd8/excalidraw-mcp --diagram /path/to/diagram.excalidraw
```
</details>
<details>
<summary><b>Install in VS Code</b></summary>
Add to your VS Code MCP settings:
```json
{
"mcp": {
"servers": {
"excalidraw": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]
}
}
}
}
```
</details>
<details>
<summary><b>Install in Windsurf</b></summary>
Add to your Windsurf MCP config:
```json
{
"mcpServers": {
"excalidraw": {
"command": "npx",
"args": ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]
}
}
}
```
</details>
<details>
<summary><b>Install in Claude Desktop</b></summary>
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"excalidraw": {
"command": "npx",
"args": ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]
}
}
}
```
</details>
<details>
<summary><b>Install in OpenAI Codex</b></summary>
Add to your Codex MCP config:
```toml
[mcp_servers.excalidraw]
command = "npx"
args = ["-y", "@cmd8/excalidraw-mcp", "--diagram", "/path/to/diagram.excalidraw"]
```
</details>
## CLI Options
- `-d, --diagram` (required): Path to the Excalidraw diagram file
## 🔨 Available Tools
### `createNode`
Create a new node (shape with label) in the diagram. Returns the created node ID.
### `createEdge`
Create an arrow connecting two nodes. Nodes can be referenced by ID or by label text.
### `deleteElement`
Delete a node or edge from the diagram by ID or label.
### `getFullDiagramState`
Returns a markdown representation of the complete diagram, including nodes, relationships, labels, frames, and colors.
## License
MIT