Sketchdex MCP server
io.github.lucasr1b/sketchdex·v0.1.2·1 starsAn MCP server that lets AI agents draw hand-drawn Excalidraw diagrams as files on your machine.
1 stars40 downloads/wk
Reviews
Write oneNobody has reviewed Sketchdex yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Sketchdex tools (18, 4 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_elementsAppend elements to a scene, leaving everything already there untouched. The usual way to draw something new.
check_sceneFind layout problems by geometry instead of by looking: text hidden behind a filled shape drawn after it, captions running past the panel they sit in, labels too tall for their container, zero-size elements, broken arrow bindings, strays parked far off, exact duplicates. Each finding carries the element ids, so the fix is one update_elements call. Run it after a batch of drawing - it is far cheape
create_scenewrite actionMake a new scene, optionally with its starting elements.
delete_elementswrite actionRemove elements by id.
describe_sceneWhat is on a scene, as structure rather than pixels: counts by type, overall bounds, and a rounded summary of each element with its id, position, size, text and bindings. Cheaper than read_scene and usually enough to plan an edit.
list_historySnapshots held for a scene, newest first.
list_scenesEvery scene in the vault with its id, name, element count and last-edited time. Start here.
move_elementsShift a set of elements by dx, dy in one write, keeping everything else about them. Select by ids, groupIds (an import_svg piece), a region box, or any mix. A container's label always moves with it, and an arrow bound to something that moves keeps that end attached (include the arrow itself to move it whole). Returns the new bounds of what moved.
read_elementsFull, unabridged elements, filtered down to the ones you need. Use this rather than read_scene when editing a few things in a busy scene.
read_sceneThe whole scene exactly as stored, plus the path to the .excalidraw file on disk. Large scenes run to thousands of elements, so prefer describe_scene or read_elements unless you genuinely need everything. The path is there for edits no tool here covers - take a snapshot first if you use it.
render_sceneA PNG of the scene as it actually renders, so you can look at what you drew. Use it to check your own work - proportions, overlaps, whether the thing reads as the thing. Always written to a file as well as returned. A tall or wide page (long edge more than about twice the short one, and too big to fit at the asked size) comes back as a few tiles cut along its length, each with the scene box it sho
replace_sceneReplace a scene's entire contents. Destructive by design - the previous state is snapshotted, but prefer add_elements or update_elements when you only mean to change part of it.
restore_snapshotwrite actionPut a snapshot back on the canvas. This is itself snapshotted, so reverting a revert is possible.
set_backgroundSet the paper: the scene's real background colour, shown exactly as given (never inverted). The default pen for hand drawing follows it, so the next stroke in the app is visible. Elements already drawn keep their colours - recolour their ink yourself if you flip a scene from light to dark or back. New scenes start on dark paper (#121212).
sketchdex_docsThe manual, for answering the user's questions and fixing problems without guessing: install on any client, where scenes are stored and how to move the vault, the library app, what rendering needs, every tool, the drawing contract, and troubleshooting for the errors that come up. No topic returns the index.
sketchdex_infoVersion of this server, where it is running from, which vault it is using, and how long this process has been alive. Use it to confirm you are talking to the build you think you are.
snapshot_sceneStash the current state without changing anything, so it can be restored from the history sidebar. Do this before editing a .excalidraw file directly with your own file tools - every other tool here snapshots on its own.
update_elementswrite actionChange named fields on existing elements. Send only what changes - {id, x: 40} moves one box and leaves its other 25 fields alone. Pass a list in `elements`, each carrying its `id`, or use `ids` + `patch` to apply one change across many.
Public scan report
scanner v0.1.10 · 2026-10-16 · same rubric, same numbers if you re-run it
- Code scan193 source files scanned20/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 42 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (1)
- mediumGoogle API key in source (often public by design; check its restrictions)
secret.googledist/assets/prod-B0u0LOqT.js: …m`,VITE_APP_FIREBASE_CONFIG:`{"apiKey":"AIza****","authDomain":"excalidraw-room-persiste…
How Sketchdex compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 80/100
- higher than 60% of 48,243 servers
- Tools
- 18
- the typical server has 7
- Tools that change things
- 22%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 65% of 28,706 servers
- Downloads a week
- 40
- more than 30% of 12,306 servers with a package
What its tools let an agent do: 10 read · 2 create · 5 change · 1 delete
Install Sketchdex in Claude Code, Cursor or VS Code
Runs npx -y sketchdex on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add sketchdex -- npx -y sketchdex
What the publisher says
From the Sketchdex repository's README, as published. We do not edit it. Read it on GitHub
sketchdex
Give your agent a whiteboard. sketchdex.dev
Sketchdex is an MCP server that lets Claude, Codex, Cursor and any other MCP client draw hand-drawn Excalidraw diagrams while it explains something. Scenes are real .excalidraw files in a folder on your machine. The agent can draw, look at what it drew, and fix it; you can open the result in the bundled library app or on excalidraw.com and keep editing.
Built on the official @excalidraw/excalidraw package, so the canvas is the real thing. MIT.
Install
Needs Node 20 or newer. Rendering (render_scene) needs a Chromium-based browser on the machine: Chrome, Chromium, Edge or Brave. Everything else works without one.
The quickest way is to let the agent you already have do it. Paste this into any agent that can run commands:
install the sketchdex mcp server for me. run npx -y sketchdex docs install for the steps.
Or by hand:
Claude Code
claude mcp add --scope user sketchdex -- npx -y sketchdexCodex
codex mcp add sketchdex -- npx -y sketchdexCursor
Add to Cursor, or in ~/.cursor/mcp.json:
{
"mcpServers": {
"sketchdex": {
"command": "npx",
"args": ["-y", "sketchdex"]
}
}
}VS Code
code --add-mcp '{"name":"sketchdex","command":"npx","args":["-y","sketchdex"]}'Claude Desktop, Windsurf, Gemini CLI, anything else takes the same mcpServers block as Cursor, or the command npx -y sketchdex as a stdio server. npx -y sketchdex docs install has the exact file for each.
Then, in a session: draw me how the event loop works using sketchdex.
Scenes are saved to ~/Documents/sketchdex. Point them somewhere else with --vault /path/to/folder after the package name, or SKETCHDEX_VAULT in the server's environment. An iCloud or Dropbox folder works.
Docs, for the agent
The manual ships inside the package so an agent can answer setup questions and fix problems without anyone reading a page:
app, rendering, tools, drawing, troubleshooting, or all).
- npx -y sketchdex docs [topic] prints it (topics: install, vault,
connected, and the server instructions tell the agent to use it for anything about setup or errors.
- The sketchdex_docs tool returns the same text once the server is
- The same topics are MCP resources at sketchdex://docs/.
The app
npx sketchdex appOpens the library in your browser: a grid of scenes with live previews, search, pin, rename, duplicate, import; a full Excalidraw editor for each; a ⌥K switcher; and a History sidebar showing every agent write with the label the agent gave it, so you can preview, keep or revert each one. The app notices agent writes as they happen.
The same process serves the tools over HTTP at POST /mcp and as plain REST at POST /api/agent/:op, localhost only.
What the agent gets
Nineteen tools over stdio. The ones that matter:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Grade history
- 2026-10-16downgradeA → Bscore 80: Google API key in source (often public by design; check its restrictions)
Sketchdex: common questions
- Is Sketchdex MCP server safe?
- Mostly: it is graded B (80/100). Read the Sketchdex safety report
- How do I install Sketchdex?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Sketchdex need an API key?
- No secret keys are declared. It reads 2 settings from the environment.
- Is Sketchdex maintained?
- The last commit was 62 days ago (2026-09-04). The latest release is v0.1.2.
- What can I use instead of Sketchdex?
- Servers from other publishers that do the same job: draw.io MCP server.
- How does Sketchdex compare with other MCP servers?
- safety score 80/100 (higher than 60% of 48,243 servers); tools 18 (the typical server has 7); tools that change things 22% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Sketchdex
Same job from other publishers: the closest match first, then the best rated.
- draw.ioCreate draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.not reviewedEstablishedB