canvaskeep-mcp

MCPcommunity
v0.6.2UnknownMITUpdated 2d agonpmGitHub

MCP server for CanvasKeep - generate Excalidraw diagrams from structured graphs

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
372Downloads/wk
2d agoLast update
Needs 1 credential before it runs
  • CANVASKEEP_API_KEYAPI keyrequired

    API key from your CanvasKeep dashboard (profile menu, API Keys)

  • CANVASKEEP_MASTER_KEYAPI keyoptional

    Needed to read or edit encrypted diagrams. Copy it from canvaskeep.com/dashboard/encryption

Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Package
AuthorUnknown
LicenseMIT
Version0.6.2
Sourcenpm+mcp-registry
Trust Status
B
60/100Good
✓Listed in Forge index+10/10
—Publisher identity verified+0/20
→ Publisher: run `forge publish` from the package repo to claim ownership
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
—npm Trusted Publishing (Sigstore)+0/5
→ Publish from GitHub Actions with --provenance so the attestation binds this package to this repo
—npm maintainer match+0/5
→ Earned once your identity is verified above and that login is an npm maintainer of this package
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface12 tools · 1 privileged
Security scan✓ Cleanv0.6.2 · todayHow well does this scan work?
EvalsNone
IndexedOct 20, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

12 tools · 1 privileged
Statically extracted from the published packagev0.6.2 · 20h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

list_workspacesList all workspaces in your CanvasKeep account. Returns each workspace's id and name. Use this first to find the workspace_id needed by other tools.

List all workspaces in your CanvasKeep account. Returns each workspace's id and name. Use this first to find the workspace_id needed by other tools.

No input schema was published for this tool.

create_workspaceCreate a new workspace. Returns the new workspace's id and name.

Create a new workspace. Returns the new workspace's id and name.

No input schema was published for this tool.

list_foldersList all folders in a workspace. Returns each folder's id, name, and parent_folder_id. Use folder ids when creating diagrams inside a specific folder.

List all folders in a workspace. Returns each folder's id, name, and parent_folder_id. Use folder ids when creating diagrams inside a specific folder.

No input schema was published for this tool.

create_folderCreate a new folder in a workspace. Returns the new folder's id and name. Optionally nest it inside an existing folder.

Create a new folder in a workspace. Returns the new folder's id and name. Optionally nest it inside an existing folder.

No input schema was published for this tool.

list_diagramsList all diagrams in a workspace. Returns each diagram's id, title, and last updated timestamp.

List all diagrams in a workspace. Returns each diagram's id, title, and last updated timestamp.

No input schema was published for this tool.

create_diagramCreate a new empty diagram in a workspace, optionally inside a folder. Returns the new diagram's id. Use generate_diagram afterward to populate it with content. Use list_folders first to find the folder_id if you want to place it in a specific folder.

Create a new empty diagram in a workspace, optionally inside a folder. Returns the new diagram's id. Use generate_diagram afterward to populate it with content. Use list_folders first to find the folder_id if you want to place it in a specific folder.

No input schema was published for this tool.

update_diagramUpdate a diagram's title (rename it).

Update a diagram's title (rename it).

No input schema was published for this tool.

delete_diagramprivilegedPermanently delete a diagram and its content. This cannot be undone.

Permanently delete a diagram and its content. This cannot be undone.

No input schema was published for this tool.

get_diagram_summaryGet a summary of an existing diagram: its title, workspace, element count, and when it was last updated. Does NOT return the raw scene data.

Get a summary of an existing diagram: its title, workspace, element count, and when it was last updated. Does NOT return the raw scene data.

No input schema was published for this tool.

get_diagram_sceneRead the raw Excalidraw scene of a diagram: the full elements array (with ids, x/y, width/height, styles, text, arrow bindings) and appState. Use this before save_diagram_scene to make precise edits: read the scene, modify the elements you need, then write the complete array back. Embedded image…

Read the raw Excalidraw scene of a diagram: the full elements array (with ids, x/y, width/height, styles, text, arrow bindings) and appState. Use this before save_diagram_scene to make precise edits: read the scene, modify the elements you need, then write the complete array back. Embedded image…

No input schema was published for this tool.

save_diagram_sceneNo description published

This tool published no description. Forge does not invent one.

generate_diagramNo description published

This tool published no description. Forge does not invent one.

10 of 12 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

MCP server for CanvasKeep - generate Excalidraw diagrams from structured graphs

Keywords
mcpmodel-context-protocolexcalidrawdiagramscanvaskeepclaudeai
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-10-20 — observed resolution, not a publisher declaration.

60 packages resolved · 2 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the depth-4 limit. Anything below that level was never resolved.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

55 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+43 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.