Fixes
- Snapshot restore and import are atomic: a rejected restore or replace-import no longer wipes the canvas. Native frames now restore, import, export and can be created through the CLI and MCP. (#101, thanks @sanjayy0612; #120)
- One label per shape: updating or renaming a labelled shape while a canvas tab is open no longer stacks duplicate labels. (#121, thanks @sdrshn-nmbr)
- Dropped images survive reload: the tab uploads image files on sync (only new ones), so they persist and appear in exports and headless screenshots. (#122, thanks @appdesigngeeks)
- No more clipped text: the canvas tab loads Excalidraw's fonts before sizing text, so labels and text fit their boxes. (#123, #124)
Also: the README was audited end to end against the code (headless screenshots, network use, environment variables, frames, tests).
npx -y mcp-excalidraw-server@2.1.2