Everything here was measured by our prober or read from a registry. Nothing is self-reported.
30-day availabilityno checks in window
30 days agotoday
Endpoints
https://cnvs.app/mcpmcp streamable http · checked on a schedule
Registry facts
Not distributed through a package registry we index.
when
check
result
http
latency
detail
4 h ago
mcp initialize
ok
200
32 ms
server cnvs-mcp 0.1.0 · protocol 2025-06-18 · 25 tools
Tools observed via MCP handshake
open_board — ALWAYS call this first when given a board URL or ID. Resolves the canonical board id and auto-creates the board row if it does not exist yet. Returns a summary
create_board — Create a fresh board in ONE call — optionally pre-filled with content, auto-laid-out, and/or PIN-locked at create time. Mirrors the extended `POST /api/boards`
get_board — Full structured JSON state of a board: texts (id, x, y, content, color, width, postit, author), strokes (id, points, color, author), images (id, x, y, width, he
get_preview — Compact schematic SVG render of the board (typically a few kB even for dense boards). Returns both an image/svg+xml content block (you can SEE it) and the raw S
add_text — Create a NEW text node, or update an existing one (pass the same `id` to overwrite content/position in place — preferred over creating a duplicate). Supports cn
add_link — Drop a URL capsule onto the board — rendered as a clickable pill showing the hostname. Use this instead of `add_text` when the node is just a link; the capsule
add_image — Place a raster or SVG image on the board at (x, y) with explicit width/height in board pixels. `data_url` MUST be a `data:image/(png|jpeg|gif|webp|svg+xml);base
draw_stroke — Draw a freehand stroke on the board. Use for arrows, underlines, connector lines, annotations, or simple shapes — a straight line needs two points, a rough circ
move — Reposition an existing item to a new (x, y) without retyping its content. Works for every item kind: `text` and `link` set the top-left to (x, y); `line` transl
erase — Delete a single item by id. `kind` MUST match the item type: 'text' for text nodes, 'line' for freehand strokes, 'image' for images — the wrong kind silently ta
wait_for_update — Long-poll: blocks until the next edit lands on this board, then returns.
WHEN TO CALL THIS: if your MCP client does NOT surface `notifications/resources/updat
set_board_mode — Choose whether this board is a freeform whiteboard ('draw', the default) or a kanban task board ('todo'). Mode is switchable WHENEVER the board is empty of real
Declared by sources
What the publisher says
Attributed to the source that supplied each field. Treated as claims, not facts.
No long description beyond the summary.
kind ← Official MCP Registry
name ← Official MCP Registry
repoUrl ← Official MCP Registry
summary ← Official MCP Registry
version ← Official MCP Registry
description ← Official MCP Registry
homepageUrl ← Official MCP Registry
publisherName ← Official MCP Registry
Derived by Wellknown
Capabilities
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
No capability could be derived with confidence. Owners can declare capabilities after claiming.
Provenance
Where this record came from
Every source is kept verbatim. Field changes are logged as events.
7 h ago · declared · summary → "Real-time collaborative whiteboard — AI agents and humans edit the same board live over MCP."
7 h ago · declared · description → "Real-time collaborative whiteboard — AI agents and humans edit the same board live over MCP."
7 h ago · declared · publisherName → "app.cnvs"
7 h ago · declared · homepageUrl → "https://cnvs.app"
7 h ago · declared · repoUrl → "https://github.com/lksrz/cnvs-whiteboard-skills"
7 h ago · declared · version → "1.0.2"
7 h ago · declared · protocols → ["mcp"]
create_column — Add a kanban column (swimlane) to a 'todo' board. Generates and returns a stable column id. `sort` is a float ordering key (ascending); omit to default to 0. `l
update_column — Rename, reorder, recolor or move an existing kanban column. Requires the column `id` (from `list_tasks`). Pass `title`, `sort`, `lane` and/or `color` to change
delete_column — Delete a kanban column by id. Tasks in the column are removed with it. Get the id from `list_tasks`.
create_task — Create a task (card) in a column on a 'todo' board. Generates and returns a stable task id. `column_id` must reference an existing column (see `list_tasks`). `d
update_task — Update an existing task by `id` (from `list_tasks`). Pass only the fields you want to change: `name`, `description`, `due_date`, `priority` ('H'|'M'|'L'), `assi
move_task — Move a task to a column at a given sort position — the kanban drag-and-drop primitive. `column_id` is the destination column and `sort` its float order key (asc
delete_task — Delete a task (card) by id. Get the id from `list_tasks`.
list_tasks — Read the full kanban state of a 'todo' board: `{ mode, columns, tasks }`, both ordered by their `sort` key (ascending). Each task carries its hot fields (name,
set_lane — Set (or clear) the title of a kanban row (lane). Lanes group columns into horizontal swimlanes; a lane is identified by its integer `lane` index (the same index
set_column_width — Set the shared kanban column width in pixels for a 'todo' board (all columns share one width). Clamped to [200, 480]. Read the current value as `colWidth` from
create_tasks — Bulk-create multiple task cards in one call — far cheaper than calling `create_task` N times. Pass `tasks`: an array of task objects, each with `column_id` (req
query_tasks — Read tasks from a 'todo' board with server-side filtering — handy for 'what's overdue?' / 'what's assigned to X?' without pulling the whole board. All filters a
export_tasks — Export a 'todo' board's columns + tasks as a single text document. `format` is 'markdown' (a checklist grouped by column, the default) or 'csv' (one row per tas