whiteboard-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| canvas_openB | Show this chat's own whiteboard to the human beside the chat. Name it with title. To reuse another chat's drawing (any folder), pass board. |
| canvas_readA | Read the board: scene description (or JSON), then what the human changed and noted since your last read. |
| canvas_drawA | Create or update elements. Re-using an id updates only the given fields. Arrows bind with from/to element ids. |
| canvas_deleteA | Delete elements by id (arrows bound to them are detached), or everything with all:true. |
| canvas_focusA | Scroll/zoom the human's view to elements (whole scene if no ids); highlight pulses them. Use it to point while explaining. |
| canvas_screenshotA | PNG of the board as the human sees it, to check your layout. |
| canvas_mermaidB | Convert a Mermaid definition (flowchart, sequence, class…) into editable elements on the board. |
| canvas_exportB | Save the board to a file: .excalidraw JSON (default) or PNG. Relative paths resolve against the workspace. |
| canvas_saveA | Save a frozen copy of this board to the user's library so any later chat can find it with canvas_search. The same name again overwrites it. |
| canvas_searchA | Find boards of every folder (this one first) by name or text: other chats' live boards and saved copies. Open with canvas_open {board} or {saved}. |
| canvas_guideA | How to explain well on this canvas: layout, sizes, colours, the live explain loop. Read once before your first drawing. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool has a clearly distinct role in the whiteboard workflow: opening, reading, drawing, deleting, focusing, screenshotting, Mermaid import, exporting, saving, searching, and guidance. The potentially overlapping pairs (read vs. screenshot, save vs. export, search vs. open) are explicitly differentiated by their descriptions. An agent should be able to select the right tool without confusion.
All tool names use the same snake_case canvas_ prefix and a short action/object suffix. Although some suffixes are nouns (screenshot, mermaid, guide), the overall pattern is highly predictable. There is no mixing of camelCase, inconsistent prefixes, or chaotic verb styles.
The server exposes 11 tools, which is well within the appropriate range for a feature-rich interactive whiteboard. Each tool appears to earn its place by covering a distinct part of the drawing, sharing, and explanation workflow. The set does not feel bloated or thin.
The tool surface covers the full lifecycle: find/open a board, read its state, draw/update/delete elements, import Mermaid, focus attention, screenshot for layout verification, export to file, save to a library, and search saved/other boards. Guidance is provided for the human-facing explanation workflow. No obvious CRUD or workflow gaps remain.