app.cnvs/whiteboard
up checked
Unclaimed · Unverified
Agent searches it appeared in, last 30 days: 0. Run this server? Claim the listing: verified label, uptime alerts and analytics.
Publisher-provided title
cnvs.app
Publisher-provided description
Real-time collaborative whiteboard — AI agents and humans edit the same board live over MCP.
Summary by lookupd
Lets agents and humans co-edit a live whiteboard: add text, images, links and strokes, or run kanban boards with tasks and columns.
Install
Claude Code, remote (streamable-http)
claude mcp add --transport http whiteboard https://cnvs.app/mcp
Codex, remote (streamable-http)
codex mcp add whiteboard --url https://cnvs.app/mcp
Cursor, remote (streamable-http) → .cursor/mcp.json
{
"mcpServers": {
"whiteboard": {
"url": "https://cnvs.app/mcp"
}
}
}Other clients: docs. Or tell your agent: Set up lookupd for me: read https://lookupd.com/agent.md and follow it.
Tools (26 tools)
Publisher-provided text
open_boardALWAYS 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 summarycreate_boardCreate 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_boardFull 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, heget_previewCompact 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 Sadd_textCreate 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 cnadd_linkDrop 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 capsuleadd_imagePlace 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);basedraw_strokeDraw a freehand stroke on the board. Use for arrows, underlines, connector lines, annotations, or simple shapes — a straight line needs two points, a rough circmoveReposition 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` transleraseDelete 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 tawait_for_updateLong-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/updatset_board_modeChoose 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 realcreate_columnAdd 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. `lupdate_columnRename, reorder, recolor or move an existing kanban column. Requires the column `id` (from `list_tasks`). Pass `title`, `sort`, `lane` and/or `color` to changedelete_columnDelete a kanban column by id. Tasks in the column are removed with it. Get the id from `list_tasks`.create_taskCreate 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`). `dupdate_taskUpdate an existing task by `id` (from `list_tasks`). Pass only the fields you want to change: `name`, `description`, `due_date`, `priority` ('H'|'M'|'L'), `assimove_taskMove 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 (ascdelete_taskDelete a task (card) by id. Get the id from `list_tasks`.list_tasksRead 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_laneSet (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 indexset_column_widthSet 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` fromrename_boardSet the shared board name shown to every collaborator (rail label, tab title, export filenames). Works in draw and todo mode. Whitespace is collapsed; max 100 ccreate_tasksBulk-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` (reqquery_tasksRead 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 aexport_tasksExport 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
Details
- Version: 1.0.2
- Transports: streamable-http
- Uptime (7 days): 100%
- Median latency: 404 ms
- First indexed:
- Last seen in registry:
- Repository: https://github.com/lksrz/cnvs-whiteboard-skills
- Website: https://cnvs.app
Badge for your README
Shows this live status and links here; updates hourly.
[](https://lookupd.com/servers/app.cnvs/whiteboard)
- 62033 servers
- Last crawl: 2026-11-11T15:38:39.561Z
- API base:
https://api.lookupd.com - MCP URL:
https://api.lookupd.com/mcp