home / mcp / excalidraw mcp server

Excalidraw MCP Server

A Model Context Protocol (MCP) server for Excalidraw

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "andreswebs-public-images-excalidraw-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--volume",
        "${workspaceFolder}/.excalidraw:/app/storage",
        "andreswebs/excalidraw-mcp"
      ]
    }
  }
}

You can run an MCP server that lets you manage Excalidraw drawings through simple create, read, update, delete operations and export drawings to SVG, PNG, or JSON formats. It uses a lightweight, file-based storage approach and exposes a stdio MCP interface for easy integration with your MCP client.

How to use

You will interact with this server through an MCP client by calling the drawing management and export tools. You can create new drawings, retrieve existing ones by ID, update or delete drawings, and list all drawings. You can also export a drawing to SVG, PNG, or JSON for external use or sharing.

How to install

Prerequisites: you need Docker installed on your machine to run the MCP server container.

Run the MCP server container and mount a local storage directory to access your drawings.

docker run --rm --interactive --volume "$(pwd)/.excalidraw:/app/storage" andreswebs/excalidraw-mcp

Configure your MCP client

Create a local MCP configuration that points to the Excalidraw MCP server. The following example shows how to set up the MCP client to communicate with the local stdio server using Docker as the runtime.

{
  "servers": {
    "excalidraw": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--volume",
        "${workspaceFolder}/.excalidraw:/app/storage",
        "andreswebs/excalidraw-mcp"
      ]
    }
  }
}

Notes

The container stores drawings in the local .excalidraw/. You can access and manage drawings from your MCP client once the server is running.

Available tools

create_drawing

Create a new Excalidraw drawing and store it in the local storage.

get_drawing

Retrieve an existing Excalidraw drawing by its ID from storage.

update_drawing

Update the contents of an existing drawing by its ID and save changes to storage.

delete_drawing

Remove a drawing by its ID from storage.

list_drawings

List all drawings currently stored in the local storage.

export_to_svg

Export a drawing to SVG format for embedding or sharing.

export_to_png

Export a drawing to PNG format for high-quality images.

export_to_json

Export a drawing to JSON format for archival or reimport.