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).