MCP.Market

CanvasKeep MCP server

by CanvasKeep·io.github.CanvasKeep/canvaskeep-mcp·v0.6.2

Create and edit Excalidraw diagrams in your CanvasKeep workspace, with auto-layout and folders.

B80/100grade B
What users say
No reviews yet
Be the first
Safety scan
B80/100

full report

Adoption
Growing

0 stars45 downloads/wk

Reviews

Write one

Nobody has reviewed CanvasKeep yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

CanvasKeep tools (12, 5 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • create_diagramwrite action

    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.

  • create_folderwrite action

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

  • create_workspacewrite action

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

  • delete_diagramwrite action

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

  • generate_diagram

    Generate a visual diagram from a structured graph of nodes and edges, and save it to an existing CanvasKeep diagram. You provide the logical structure (what components exist and how they connect), and CanvasKeep handles all visual layout automatically - do NOT try to compute x/y positions. NODES: Create one node for every distinct component, actor, system, service, or data store mentioned in the u

  • get_diagram_scene

    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 data (files) is omitted by default because it can be very large; set include_files to true only if you

  • get_diagram_summary

    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.

  • list_diagrams

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

  • list_folders

    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.

  • list_workspaces

    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.

  • save_diagram_scene

    Overwrite a diagram's scene with a full Excalidraw elements array. Use this for manual layout and precise edits (moving, restyling, relabeling, adding or removing specific elements). IMPORTANT: this REPLACES the entire scene. Always call get_diagram_scene first, modify that array, and send back EVERY element you want to keep. Any element missing from the array is deleted. To remove an element you

  • update_diagramwrite action

    Update a diagram's title (rename it).

Public scan report

scanner v0.1.10 · 2026-10-28 · same rubric, same numbers if you re-run it

no findings
  • Code scan7 source files scanned25/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 qualitystatic API keys via environment variables6/15
  • Maintenancelast push 10 days ago15/15
  • Maintainer identityregistry namespace matches repository owner6/10
Overall 80/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How CanvasKeep 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,255 servers
Tools
12
the typical server has 7
Tools that change things
42%
typical: 0%. Fewer write tools means less an agent can break
Downloads a week
45
more than 37% of 12,191 servers with a package

What its tools let an agent do: 5 read · 5 create · 1 change · 1 delete

Install CanvasKeep in Claude Code, Cursor or VS Code

Runs npx -y canvaskeep-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add canvaskeep-mcp -- npx -y canvaskeep-mcp
Add to Cursor

What the publisher says

From the CanvasKeep repository's README, as published. We do not edit it. Read it on GitHub

CanvasKeep MCP Server

An MCP (Model Context Protocol) server that lets AI tools like Claude Code and Codex generate Excalidraw diagrams and save them directly into your CanvasKeep workspace.

Setup

1. Get an API key

  1. Log in to CanvasKeep
  2. Click your profile menu (top right) and select API Keys
  3. Generate a new key and copy it immediately (you won't see it again)

2. Install and register

Claude Code:

claude mcp add canvaskeep \
  -e CANVASKEEP_API_KEY=ck_your_key_here \
  -- npx canvaskeep-mcp

Codex / other MCP clients:

{
  "mcpServers": {
    "canvaskeep": {
      "command": "npx",
      "args": ["canvaskeep-mcp"],
      "env": {
        "CANVASKEEP_API_KEY": "ck_your_key_here"
      }
    }
  }
}

3. Environment variables

Available tools

Encryption

Diagrams you encrypt in CanvasKeep stay encrypted when an AI tool works with them. When getdiagramscene or savediagramscene touches an encrypted diagram, this server decrypts and re-encrypts it locally (AES-GCM, see src/encryption.ts) using CANVASKEEPMASTERKEY. The master key never leaves your machine.

generate_diagram sends the nodes and edges you give it to CanvasKeep, which lays them out on the server, so diagrams generated this way are stored unencrypted.

Example usage

Ask Claude Code something like:

"Draw an architecture diagram of a web app with a React frontend, Node API, PostgreSQL database, and Redis cache"

Claude will use the MCP tools to create a diagram in your CanvasKeep workspace with properly laid-out boxes and labeled arrows.

Development

git clone https://github.com/CanvasKeep/canvaskeep-mcp.git
cd canvaskeep-mcp
npm install
npm run build
CANVASKEEP_API_KEY=ck_... CANVASKEEP_API_URL=http://localhost:3000 node dist/index.js

To run your local build from Claude Code:

claude mcp add canvaskeep \
  -e CANVASKEEP_API_KEY=ck_your_key_here \
  -- node /path/to/canvaskeep-mcp/dist/index.js

License

MIT

Nothing above is checked by us. What we check is on the safety report.

CanvasKeep: common questions

Is CanvasKeep MCP server safe?
Mostly: it is graded B (80/100). Read the CanvasKeep safety report
How do I install CanvasKeep?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does CanvasKeep need an API key?
Yes. The registry entry asks for CANVASKEEP_API_KEY, CANVASKEEP_MASTER_KEY.
Is CanvasKeep maintained?
The last commit was 17 days ago (2026-10-18). The latest release is v0.6.2.
How does CanvasKeep compare with other MCP servers?
safety score 80/100 (higher than 60% of 48,255 servers); tools 12 (the typical server has 7); tools that change things 42% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.