Excalidraw MCP Server (ignizia-code/mcp-excalidraw) is an MCP server listed on the M8ven Trust Index. It scores 68 out of 100, grade C. It declares 26 tools. No publisher has claimed this listing.
Enables AI agents to programmatically control a live Excalidraw canvas with element-level CRUD operations and real-time synchronization. It supports iterative diagramming through scene descriptions, screenshots, and advanced layout tools for collaborative AI-human workflows.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
ignizia-code
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
create_elementCreate a new Excalidraw element. For arrows, use startElementId/endElementId to bind to shapes (auto-routes to edges).
update_elementUpdate an existing Excalidraw element
delete_elementDelete an Excalidraw element
query_elementsQuery Excalidraw elements with optional filters
get_resourceGet an Excalidraw resource
group_elementsGroup multiple elements together
ungroup_elementsUngroup a group of elements
align_elementsAlign elements to a specific position
distribute_elementsDistribute elements evenly
lock_elementsLock elements to prevent modification
unlock_elementsUnlock elements to allow modification
create_from_mermaidConvert a Mermaid diagram to Excalidraw elements and render them on the canvas
batch_create_elementsCreate multiple Excalidraw elements at once. For arrows, use startElementId/endElementId to bind arrows to shapes — Excalidraw auto-routes to element edges. Assign custom id to shapes so arrows can reference them.
get_elementGet a single Excalidraw element by ID
clear_canvasClear all elements from the canvas
export_sceneExport the current canvas to .excalidraw JSON format. Optionally write to a file.
import_sceneImport elements from a .excalidraw JSON file or raw JSON data
export_to_imageExport the current canvas to PNG or SVG image. Requires the canvas frontend to be open in a browser.
duplicate_elementsDuplicate elements with a configurable offset
snapshot_sceneSave a named snapshot of the current canvas state for later restoration
restore_snapshotRestore the canvas from a previously saved named snapshot
describe_sceneGet an AI-readable description of the current canvas: element types, positions, connections, labels, spatial layout, and bounding box. Use this to understand what is on the canvas before making changes.
get_canvas_screenshotTake a screenshot of the current canvas and return it as an image. Requires the canvas frontend to be open in a browser. Use this to visually verify what the diagram looks like.
read_diagram_guideReturns a comprehensive design guide for creating beautiful Excalidraw diagrams: color palette, sizing rules, layout patterns, arrow binding best practices, diagram templates, and anti-patterns. Call this before creating diagrams to produce professional results.
export_to_excalidraw_urlExport the current canvas to a shareable excalidraw.com URL. The diagram is encrypted and uploaded; anyone with the URL can view it. Returns the shareable link.
set_viewportControl the canvas viewport (camera). Auto-fit all elements, center on a specific element, or set zoom/scroll directly. Requires the canvas frontend open in a browser.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
ws affected by a DoS when handling a request with many HTTP headers
ws: Memory exhaustion DoS from tiny fragments and data chunks
vite: `server.fs.deny` bypass on Windows alternate paths
Vite Vulnerable to Arbitrary File Read via Vite Dev Server WebSocket
Mermaid XY Charts are vulnerable to an infinite loop DoS
ENABLE_CANVAS_SYNCEnable real-time canvas sync trueEXCALIDRAW_EXPORT_DIREXPRESS_SERVER_URLMCP server: exposes MCP tools over stdio; syncs to the canvas viaGITHUB_TOKENHOST0.0.0.0 PORT=3000 npm run canvasLOG_FILE_PATHLOG_LEVELNO_COLORPORTTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
26/26 tools missing one or more hints — create_element (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); update_element (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); delete_element (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +23 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tests exist
No test files found
Add tests that exercise each declared tool.
Production dependencies are patched
0 critical, 2 high severity in production deps — ws@8.14.2 (high), ws@8.14.2 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Dev dependencies
2 critical/high in dev-only deps (does not ship to users)
Upgrade dev dependencies when convenient.
Dependency freshness
1/14 production deps stale: node-fetch@2023-11-30 (2.7y)
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/ignizia-code/mcp-excalidraw)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check