mcpField
C
CanvasKeep

CanvasKeep

Local
canvaskeep.comMedia & Design0Updated 2w ago

About CanvasKeep

CanvasKeep MCP Server lets AI tools create and manage Excalidraw diagrams in a CanvasKeep workspace. It supports scene-level reading and editing, folder organization, and automatic layout from nodes and edges.

Key features

  1. 01List and create workspaces and folders
  2. 02Create, rename, and delete diagrams
  3. 03Read and save Excalidraw scenes
  4. 04Generate diagrams with auto-layout
  5. 05Handle encrypted diagrams locally

Use cases

  1. 01Create architecture diagrams from node and edge descriptions
  2. 02Organize diagrams in workspace folders
  3. 03Read or revise encrypted diagram scenes

MCP support

The MCP server exposes tools for CanvasKeep workspaces, folders, and Excalidraw diagrams. Encrypted scenes are decrypted and re-encrypted locally with `CANVASKEEP_MASTER_KEY` when read or saved.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"canvaskeep-canvaskeep": {
"command": "npx",
"args": [
"-y",
"canvaskeep-mcp"
],
"env": {
"CANVASKEEP_API_KEY": "<CANVASKEEP_API_KEY>",
"CANVASKEEP_MASTER_KEY": "<CANVASKEEP_MASTER_KEY>",
"CANVASKEEP_API_URL": "<CANVASKEEP_API_URL>"
}
}
}
}
Run commandnpx -y canvaskeep-mcp
Environment variables to set
CANVASKEEP_API_KEYSecretAPI key from your CanvasKeep dashboard (profile menu, API Keys)
CANVASKEEP_MASTER_KEYSecretNeeded to read or edit encrypted diagrams. Copy it from canvaskeep.com/dashboard/encryption
CANVASKEEP_API_URLAPI base URL, override for local development

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmcanvaskeep-mcp0.6.2

Tools

12

Saved tool list · updated 2w ago

This tool takes no parameters.

Details

From the project README

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.

npm license

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
VariableRequiredDefaultDescription
CANVASKEEP_API_KEYYes-Your API key from the CanvasKeep dashboard
CANVASKEEP_MASTER_KEYNo-Needed to read or edit encrypted diagrams. Copy it from canvaskeep.com/dashboard/encryption (Key for the MCP server)
CANVASKEEP_API_URLNohttps://canvaskeep.comAPI base URL (override for local dev)

Available tools

ToolDescription
list_workspacesList all your workspaces
create_workspaceCreate a new workspace
list_foldersList folders in a workspace
create_folderCreate a new folder, optionally nested
list_diagramsList diagrams in a workspace
create_diagramCreate a diagram, optionally inside a folder
update_diagramRename a diagram
delete_diagramPermanently delete a diagram
get_diagram_summaryGet diagram metadata and element count
get_diagram_sceneRead the full Excalidraw scene of a diagram
save_diagram_sceneWrite a full Excalidraw scene back to a diagram
generate_diagramGenerate a diagram from nodes and edges with auto-layout

Encryption

Diagrams you encrypt in CanvasKeep stay encrypted when an AI tool works with them. When get_diagram_scene or save_diagram_scene touches an encrypted diagram, this server decrypts and re-encrypts it locally (AES-GCM, see src/encryption.ts) using CANVASKEEP_MASTER_KEY. 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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.