localdraw
v0.10.0
Published
Launch the local-first LocalDraw desktop app
Readme
localdraw
Launch the local-first LocalDraw desktop app:
npx localdrawThe command downloads a SHA-256-verified native release on first run, caches it in your user account, and opens it. Later runs launch the cached app immediately. On Windows, the download is the same single-file portable executable published on the GitHub release.
For the smoothest canvas performance on high-refresh-rate displays, run the local app in your default browser instead of the embedded webview:
npx localdraw --browserBrowser mode prints and opens http://127.0.0.1:32144. Run
npx localdraw --help to see all launcher options without installing or
starting the app.
If another LocalDraw build is already using port 32144, the launcher verifies
its identity, asks it to shut down cleanly, and then starts the requested
release. It never kills an unrelated process that happens to use the port.
Set LOCALDRAW_VERBOSE=1 to show native installer output when troubleshooting.
The same CLI can inspect a running LocalDraw MCP endpoint without launching the desktop app:
LOCALDRAW_MCP_TOKEN=exd_... npx localdraw -- list-tools
LOCALDRAW_MCP_TOKEN=exd_... npx localdraw -- call list_projectsSet LOCALDRAW_MCP_URL when connecting to a non-default MCP endpoint.
For MCP clients, prefer the resilient stdio bridge over configuring the HTTP endpoint directly:
LOCALDRAW_MCP_TOKEN=exd_... npx localdraw -- mcp-bridgeThe bridge starts the native app when the local endpoint is offline, waits for it to become ready, and attaches the bearer key to upstream MCP requests. A revoked or missing key still fails closed with a focused recovery message.
The desktop application stores ordinary .excalidraw files in your LocalDraw
workspace and starts with authentication disabled. Supported targets are macOS
arm64/x64, Windows x64 (including Windows on ARM through emulation), and Linux
x64.
To keep the native download compact, CJK Xiaolai font subsets are downloaded only when a drawing needs them. Downloads are version-pinned, checksum-verified, and cached locally; offline use falls back to an installed system font.
