README.md•1.81 kB
# Excalidraw MCP Server
A Model Context Protocol (MCP) server for Excalidraw.
## Features
- Create, read, update, and delete Excalidraw drawings
- Export drawings to SVG, PNG, and JSON formats
- Simple file-based storage system
- Only supports `stdio`
## Usage
The command to use in MCP configs is:
```sh
docker run --rm --interactive --volume "$(pwd)/.excalidraw:/app/storage" andreswebs/excalidraw-mcp
```
Note the `--volume` flag: the `/app/storage` directory from the container must be mounted locally to access the drawings.
Example config for GitHub Copilot / VSCode:
`.vscode/mcp.json`:
```json
{
"servers": {
"excalidraw": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"--rm",
"--interactive",
"--volume",
"${workspaceFolder}/.excalidraw:/app/storage",
"andreswebs/excalidraw-mcp"
]
}
}
}
```
## Tools
The server provides the following tools:
### Drawing Management
- `create_drawing`: Create a new Excalidraw drawing
- `get_drawing`: Get an Excalidraw drawing by ID
- `update_drawing`: Update an Excalidraw drawing by ID
- `delete_drawing`: Delete an Excalidraw drawing by ID
- `list_drawings`: List all Excalidraw drawings
### Export Operations
- `export_to_svg`: Export an Excalidraw drawing to SVG
- `export_to_png`: Export an Excalidraw drawing to PNG
- `export_to_json`: Export an Excalidraw drawing to JSON
## Acknowledgements
This project was originally forked from [i-tozer/excalidraw-mcp](https://github.com/i-tozer/excalidraw-mcp).
It also drew inspiration from [yctimlin/mcp_excalidraw](https://github.com/yctimlin/mcp_excalidraw).
## Authors
**Andre Silva** - [@andreswebs](https://github.com/andreswebs)
## License
This project is licensed under the [Unlicense](UNLICENSE).