cnvs.app
Was dieses MCP kann
Creates and edits real-time collaborative whiteboards and kanban boards with text, links, images, drawings, columns, tasks, previews, and exports.
Tools
Eingabeschema
{'type': 'object', 'required': ['board_id', 'x', 'y', 'width', 'height', 'data_url'], 'properties': {'x': {'type': 'number'}, 'y': {'type': 'number'}, 'id': {'type': 'string'}, 'width': {'type': 'number'}, 'author': {'type': 'string'}, 'height': {'type': 'number'}, 'board_id': {'type': 'string'}, 'data_url': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}, 'thumb_data_url': {'type': 'string'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'x', 'y', 'url'], 'properties': {'x': {'type': 'number'}, 'y': {'type': 'number'}, 'url': {'type': 'string'}, 'author': {'type': 'string'}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'x', 'y', 'content'], 'properties': {'x': {'type': 'number'}, 'y': {'type': 'number'}, 'id': {'type': 'string', 'description': 'Optional stable id; generated when omitted.'}, 'color': {'type': 'string', 'description': "Named ink only (no hex). Accepted (case-insensitive): 'auto'/''/'black'/omitted for theme-aware ink, or 'red', 'blue', 'green', 'orange', 'yellow', 'pink', 'purple', 'maroon', 'brown', 'gray', 'lightgray', 'teal', 'sage', 'sky', 'lavender'. Anything else (including a literal hex) silently clamps to auto."}, 'width': {'type': 'number', 'description': 'Explicit width in px (160–4096).'}, 'author': {'type': 'string', 'description': 'Author tag, defaults to ai:claude.'}, 'postit': {'type': 'boolean'}, 'content': {'type': 'string'}, 'diagram': {'type': 'boolean', 'description': 'Render as a framed diagram box (2px border in the text colour, centred text). Mutually exclusive with postit.'}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'properties': {'lock': {'enum': ['write', 'all'], 'type': 'string', 'description': 'PIN-lock the board atomically at create time; the plaintext key is returned ONCE as `access_key`.'}, 'mode': {'enum': ['draw', 'todo'], 'type': 'string', 'description': "Board mode. Defaults to 'draw'."}, 'author': {'type': 'string', 'description': "Author tag stamped on every created item (e.g. 'ai:plai'). Defaults to 'ai:import'."}, 'content': {'type': 'object', 'description': 'Initial board content, applied atomically at create time. Draw mode: `texts` [{x?, y?, content, color?, width?, postit?, diagram?, kind?, author?, sourceId?}], `lines` [{points, color?, anchors?, author?}] (alias `strokes`), `images` [{x?, y?, dataUrl, width, height, author?, sourceId?}]. Todo mode: `columns` [{title, lane?, color?, author?}] (array order = sort order), `tasks` [{columnIndex, name, description?, due_date?, priority?, assignee?, done?, color?, author?}] (columnIndex indexes into content.columns, or into the template-seeded columns when content.columns is empty), `lanes` [{lane, title, author?}], `colWidth`. Every item\'s optional `author` is its CREATOR tag (same 1-80 char [A-Za-z0-9:_-.] rule as elsewhere) and is never rewritten later — omit it to inherit the top-level `author`, or set it per item to preserve the original authorship when restoring somebody else\'s board. Item ids are ALWAYS minted server-side and returned in `ids`; you cannot choose them. To keep anchored strokes, give a text/image an optional `sourceId` (unique string, <=128 chars, write-only — never stored, never the row id) and reference it from `lines[].anchors.start.id` / `.end.id`: matching ids are rewritten to the minted id, unmatched ids are left as-is and render as a free stroke end. Kanban structures with a non-todo mode (or draw items with mode \'todo\') are rejected with `content_mode_mismatch`. The combined input arrays may contain at most 2550 entries. At most 10 lane-title entries are accepted, every title must reference a lane used by a created column, and each lane index may be named AT MOST ONCE — a second entry for the same lane is rejected (naming that second entry\'s index) instead of collapsing last-write-wins, which would overwrite the first entry\'s author. `tasks[].done` must be a real boolean (or omitted/null for not-done): a truthy stand-in such as the string "false" is rejected rather than coerced, so a card is never imported as completed by accident. Standard per-board quotas also apply, and the 5 MB request-body cap is the real ceiling for image-heavy imports. A valid X-Import-Token selects higher REST/MCP and board-create rate tiers, but never changes these content limits.'}, 'template': {'enum': ['kanban', 'sprint', 'bugs'], 'type': 'string', 'description': "Starter column set when mode is 'todo' and content.columns is empty/absent. Defaults to 'kanban'."}, 'autolayout': {'type': 'boolean', 'description': 'Draw mode only: fill x/y for texts/images that omit them (deterministic masonry). Without it, items missing coordinates are rejected. No-op in todo mode.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'title'], 'properties': {'lane': {'type': 'integer', 'description': 'Row index for multi-row layouts. Defaults to 0.'}, 'sort': {'type': 'number', 'description': 'Float ordering key (ascending). Defaults to 0.'}, 'color': {'type': 'string', 'description': "Title color: 'red', 'blue', 'green', or 'auto' (default)."}, 'title': {'type': 'string'}, 'author': {'type': 'string', 'description': 'Author tag, defaults to ai:claude.'}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'column_id', 'name'], 'properties': {'done': {'type': 'boolean', 'description': 'Whether the task is completed (checked off). Defaults to false.'}, 'name': {'type': 'string'}, 'sort': {'type': 'number', 'description': 'Float ordering key within the column. Defaults to 0.'}, 'author': {'type': 'string', 'description': 'Author tag, defaults to ai:claude.'}, 'assignee': {'type': 'string'}, 'board_id': {'type': 'string'}, 'due_date': {'type': 'string', 'description': 'ISO 8601 date.'}, 'priority': {'enum': ['H', 'M', 'L'], 'type': 'string', 'description': 'High / Medium / Low. Omit for none.'}, 'column_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}, 'description': {'type': 'string'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'tasks'], 'properties': {'tasks': {'type': 'array', 'items': {'type': 'object', 'required': ['column_id', 'name'], 'properties': {'done': {'type': 'boolean'}, 'name': {'type': 'string'}, 'sort': {'type': 'number'}, 'assignee': {'type': 'string'}, 'due_date': {'type': 'string', 'description': 'ISO 8601 date.'}, 'priority': {'enum': ['H', 'M', 'L'], 'type': 'string'}, 'column_id': {'type': 'string'}, 'description': {'type': 'string'}}}, 'description': 'Array of task objects to create.'}, 'author': {'type': 'string', 'description': 'Author tag applied to every task, defaults to ai:claude.'}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'id'], 'properties': {'id': {'type': 'string'}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'id'], 'properties': {'id': {'type': 'string'}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'points'], 'properties': {'id': {'type': 'string'}, 'color': {'type': 'string'}, 'author': {'type': 'string'}, 'points': {'description': 'Points as [[x,y],...], flat [x1,y1,x2,y2,...], or a JSON string of either.'}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'id', 'kind'], 'properties': {'id': {'type': 'string'}, 'kind': {'enum': ['text', 'line', 'image'], 'type': 'string'}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id'], 'properties': {'format': {'enum': ['markdown', 'csv'], 'type': 'string', 'description': "Output format. Defaults to 'markdown'."}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id'], 'properties': {'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id'], 'properties': {'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id'], 'properties': {'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'id', 'x', 'y'], 'properties': {'x': {'type': 'number'}, 'y': {'type': 'number'}, 'id': {'type': 'string'}, 'kind': {'enum': ['text', 'link', 'line', 'image'], 'type': 'string', 'description': 'Item kind. Defaults to `text`.'}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'id', 'column_id', 'sort'], 'properties': {'id': {'type': 'string'}, 'sort': {'type': 'number'}, 'board_id': {'type': 'string'}, 'column_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['url_or_id'], 'properties': {'url_or_id': {'type': 'string', 'description': 'Full board URL (https://cnvs.app/#<id>) or bare UUID.'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id'], 'properties': {'done': {'type': 'boolean'}, 'overdue': {'type': 'boolean', 'description': 'Only tasks past due and not done.'}, 'assignee': {'type': 'string', 'description': 'Exact-match assignee filter.'}, 'board_id': {'type': 'string'}, 'priority': {'enum': ['H', 'M', 'L'], 'type': 'string'}, 'due_after': {'type': 'string', 'description': 'ISO date; due_date > this.'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}, 'due_before': {'type': 'string', 'description': 'ISO date; due_date < this.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'mode'], 'properties': {'mode': {'enum': ['draw', 'todo'], 'type': 'string', 'description': 'Board mode.'}, 'board_id': {'type': 'string'}, 'template': {'type': 'string', 'description': "Optional starter column template when mode is 'todo': 'kanban' (To do / In progress / Done, the default), 'sprint' (Backlog / Sprint / Review / Done), or 'bugs' (Triage / Confirmed / In progress / Fixed). Unknown/omitted falls back to 'kanban'."}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'width'], 'properties': {'width': {'type': 'number', 'description': 'Column width in px, clamped to [200, 480].'}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'lane'], 'properties': {'lane': {'type': 'integer', 'description': 'Row index (>= 0).'}, 'title': {'type': 'string', 'description': 'Row title; empty string clears it.'}, 'author': {'type': 'string', 'description': 'Author tag, defaults to ai:claude.'}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'id'], 'properties': {'id': {'type': 'string'}, 'lane': {'type': 'integer', 'description': 'Row index for multi-row layouts.'}, 'sort': {'type': 'number', 'description': 'Float ordering key (ascending).'}, 'color': {'type': 'string', 'description': "Title color: 'red', 'blue', 'green', or 'auto' (default)."}, 'title': {'type': 'string'}, 'author': {'type': 'string', 'description': 'Author tag, defaults to ai:claude.'}, 'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id', 'id'], 'properties': {'id': {'type': 'string'}, 'done': {'type': 'boolean', 'description': 'Whether the task is completed (checked off).'}, 'name': {'type': 'string'}, 'sort': {'type': 'number'}, 'author': {'type': 'string', 'description': 'Author tag, defaults to ai:claude.'}, 'assignee': {'type': 'string'}, 'board_id': {'type': 'string'}, 'due_date': {'type': 'string', 'description': 'ISO 8601 date.'}, 'priority': {'enum': ['H', 'M', 'L'], 'type': 'string'}, 'column_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}, 'description': {'type': 'string'}}}
Eingabeschema
{'type': 'object', 'required': ['board_id'], 'properties': {'board_id': {'type': 'string'}, 'access_key': {'type': 'string', 'description': '8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.'}, 'timeout_ms': {'type': 'number'}}}
Letzte Tool-Änderungen
Ähnliche MCP-Server
DocuQueue MCP
Creates templated PDFs and presentation decks, extracts branding, previews documents, and provides downloadable or shareable outp…
Renderball
Creates, edits, renders, previews, and shares presentation decks from outlines and submitted deck files.
getdeck
Searches slide layouts and themes, composes presentation decks, provides previews, and exports decks to PPTX.
Canvs
Creates and edits collaborative whiteboard diagrams, mind maps, flowcharts and freeform canvas elements using Mermaid or manual s…
tldraw
Creates, edits, searches, and persists collaborative diagrams and visual content on tldraw canvases.
slide-deck.io
Generates status and project reports or populates PowerPoint templates using connected data sources.
MindMap
Renders hierarchical outlines and notes as interactive mind maps.
IndianAppGuy-magicslide-mcp-actual-test
Generates formatted PowerPoint presentations from text prompts, YouTube videos, or structured outlines.