Canvs
Server Details
AI-powered diagrams, mind maps, flowcharts on a free unlimited collaborative whiteboard
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 68.0% over 80 days
- Last Tested
- Transport
- Streamable HTTP
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
Each tool has a clear, distinct purpose: add_elements for manual creation, add_elements_from_mermaid for Mermaid-based creation, delete/query/update for lifecycle operations, and get_guide for workflow guidance. The overlap between the two creation tools is explicitly resolved in descriptions, leaving no ambiguity.
All tool names follow a consistent verb_noun pattern: add_elements, add_elements_from_mermaid, delete_elements, get_guide, query_elements, update_elements. The modifier 'from_mermaid' extends the base pattern without breaking consistency, and all verbs are clear (add, delete, get, query, update).
With 6 tools, the set is well-scoped for a canvas/diagram server, covering creation, query, update, delete, and guidance. This is within the ideal 3-15 range, and each tool earns its place without redundancy or bloat.
The toolset provides solid CRUD coverage for canvas elements (add, query, update, delete) plus a Mermaid import option and usage guidance. A minor gap is that there is no explicit tool to list existing canvases/rooms; agents must rely on prior room_id, which could be a friction point in new sessions, but core workflows are fully supported.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
add_elements1 field changed- changed
Input schema / properties / room_id / descriptionPrevious value: -"Room ID. If not provided, creates a new canvas. Extract from URLs as ?room=[room_id] or /gdrive?id=[room_id]."New value: +"Room ID of an existing canvas to add to. If the user is continuing a canvas already referenced in this conversation (by room_id, or a URL like ?room=[room_id] or /gdrive?id=[room_id]), pass it here. Omit to create a new canvas."
- Changed
add_elements_from_mermaid1 field changed- changed
Input schema / properties / room_id / descriptionPrevious value: -"Room ID. If not provided, creates a new canvas. Extract from URLs as ?room=[room_id] or /gdrive?id=[room_id]."New value: +"Room ID of an existing canvas to add to. If the user is continuing a canvas already referenced in this conversation (by room_id, or a URL like ?room=[room_id] or /gdrive?id=[room_id]), pass it here. Omit to create a new canvas."
2 tool updates
- Changed
add_elements2 fields changed- changed
Input schema / properties / elements / items / descriptionPrevious value: -"Per-type required fields: rectangle/ellipse/diamond → x, y (width/height default to 100). text → x, y, text (width/height auto-sized; omit or set to 0). arrow/line → x, y, points (e.g. [[0,0],[100,0]]); optionally startBinding/endBinding instead of points. image → x, y, width, height, fileId. freedraw → x, y, points. type is inferred from fields if omitted (text field → text, points → line, fileId → image, else rectangle)."New value: +"Per-type required fields: rectangle/ellipse/diamond → x, y (width/height default to 100). text → x, y, text (width/height auto-sized; omit or set to 0). rectangle/ellipse/diamond may also include text, which creates a bound label. arrow/line → x, y, points (e.g. [[0,0],[100,0]]); optionally startBinding/endBinding instead of points. image → x, y, width, height, fileId. freedraw → x, y, points. type is inferred from fields if omitted (text field → text, points → line, fileId → image, else rectangle)." - changed
Input schema / properties / elements / items / properties / text / descriptionPrevious value: -"Text content. Required for type=text. Also used as arrow label when set on an arrow."New value: +"Text content. Required for type=text. For text elements and rectangle/ellipse/diamond shape labels, Supports the rich-text plugin HTML subset: <b>/<strong>, <i>/<em>, <u>, <br>, <div>/<p>, <ul>/<ol>/<li>, <a href>, <font color>, and <span style=\"color, background/background-color, font-size, font-family\">. Use textAlign for left/center/right alignment; avoid unsupported HTML/CSS. Also used as arrow label when set on an arrow."
- Changed
update_elements1 field changed- changed
Input schema / properties / elements / items / properties / text / descriptionPrevious value: -"New text content (for text elements or arrow labels)"New value: +"New text content. For text elements and rectangle/ellipse/diamond shape labels, Supports the rich-text plugin HTML subset: <b>/<strong>, <i>/<em>, <u>, <br>, <div>/<p>, <ul>/<ol>/<li>, <a href>, <font color>, and <span style=\"color, background/background-color, font-size, font-family\">. Use textAlign for left/center/right alignment; avoid unsupported HTML/CSS. Shape text updates the bound label."
5 tool updates
- Changed
add_elements3 fields changed- added
Input schema / properties / room_idAdded value: +{ + "description": "Room ID. If not provided, creates a new canvas. Extract from URLs as ?room=[room_id] or /gdrive?id=[room_id].", + "type": "string" +} - removed
Input schema / properties / room_urlRemoved value: -{ - "description": "Room URL or ID. If not provided, creates a new canvas", - "type": "string" -} - added
Output schema / properties / room_idAdded value: +{ + "description": "Canvas room ID", + "type": "string" +}
- Changed
add_elements_from_mermaid3 fields changed- added
Input schema / properties / room_idAdded value: +{ + "description": "Room ID. If not provided, creates a new canvas. Extract from URLs as ?room=[room_id] or /gdrive?id=[room_id].", + "type": "string" +} - removed
Input schema / properties / room_urlRemoved value: -{ - "description": "Room URL or ID. If not provided, creates a new canvas", - "type": "string" -} - added
Output schema / properties / room_idAdded value: +{ + "description": "Canvas room ID", + "type": "string" +}
- Changed
delete_elements4 fields changed- added
Input schema / properties / room_idAdded value: +{ + "description": "Room ID from a previous Canvs tool result. If you only have a URL, extract it from https://[host]/?room=[room_id] or https://[host]/gdrive?id=[room_id].", + "type": "string" +} - removed
Input schema / properties / room_urlRemoved value: -{ - "description": "Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "room_url", - "ids" -]New value: +[ + "room_id", + "ids" +] - added
Output schema / properties / room_idAdded value: +{ + "description": "Canvas room ID", + "type": "string" +}
- Changed
query_elements3 fields changed- added
Input schema / properties / room_idAdded value: +{ + "description": "Room ID from a previous Canvs tool result. If you only have a URL, extract it from https://[host]/?room=[room_id] or https://[host]/gdrive?id=[room_id].", + "type": "string" +} - removed
Input schema / properties / room_urlRemoved value: -{ - "description": "Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "room_url" -]New value: +[ + "room_id" +]
- Changed
update_elements4 fields changed- added
Input schema / properties / room_idAdded value: +{ + "description": "Room ID from a previous Canvs tool result. If you only have a URL, extract it from https://[host]/?room=[room_id] or https://[host]/gdrive?id=[room_id].", + "type": "string" +} - removed
Input schema / properties / room_urlRemoved value: -{ - "description": "Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "room_url", - "elements" -]New value: +[ + "room_id", + "elements" +] - added
Output schema / properties / room_idAdded value: +{ + "description": "Canvas room ID", + "type": "string" +}
2 tool updates
- Changed
add_elements18 fields changed- added
Input schema / properties / elements / items / descriptionAdded value: +"Per-type required fields: rectangle/ellipse/diamond → x, y (width/height default to 100). text → x, y, text (width/height auto-sized; omit or set to 0). arrow/line → x, y, points (e.g. [[0,0],[100,0]]); optionally startBinding/endBinding instead of points. image → x, y, width, height, fileId. freedraw → x, y, points. type is inferred from fields if omitted (text field → text, points → line, fileId → image, else rectangle)." - changed
Input schema / properties / elements / items / properties / containerId / descriptionPrevious value: -"Container element ID (for text bound to shapes). Set x,y to 0,0 for auto-centering"New value: +"For type=text: ID of the shape this text is bound to. Set x,y to 0,0 for auto-centering inside the shape." - changed
Input schema / properties / elements / items / properties / endBinding / descriptionPrevious value: -"For arrows: bind end point to a shape."New value: +"For type=arrow: binds the arrow end to a shape. Use instead of or alongside points." - added
Input schema / properties / elements / items / properties / endBinding / requiredAdded value: +[ + "elementId", + "focus", + "gap" +] - changed
Input schema / properties / elements / items / properties / fontFamily / descriptionPrevious value: -"Font family: 5=Excalifont, 6=Nunito, 7=Lilita One, 8=Comic Shanns (default: 5)"New value: +"Font family: 5=Excalifont, 6=Nunito, 7=Lilita One, 8=Comic Shanns (default: 5). Applies to text elements." - changed
Input schema / properties / elements / items / properties / fontSize / descriptionPrevious value: -"Font size (default: 20)"New value: +"Font size (default: 20). Applies to text elements." - changed
Input schema / properties / elements / items / properties / height / descriptionPrevious value: -"Height (default: 100)"New value: +"Height (default: 100; omit for text — auto-sized)" - changed
Input schema / properties / elements / items / properties / label / descriptionPrevious value: -"For arrows: text label displayed on the arrow"New value: +"For type=arrow: text label displayed on the arrow" - changed
Input schema / properties / elements / items / properties / points / descriptionPrevious value: -"Points array for arrows/lines. Relative to element x,y. Example: [[0,0],[0,100]] for vertical arrow"New value: +"Required for arrow/line/freedraw. Coordinates relative to element x,y. Example: [[0,0],[100,0]] for horizontal arrow." - changed
Input schema / properties / elements / items / properties / startBinding / descriptionPrevious value: -"For arrows: bind start point to a shape."New value: +"For type=arrow: binds the arrow start to a shape. Use instead of or alongside points." - added
Input schema / properties / elements / items / properties / startBinding / requiredAdded value: +[ + "elementId", + "focus", + "gap" +] - changed
Input schema / properties / elements / items / properties / text / descriptionPrevious value: -"Text content (for text elements)"New value: +"Text content. Required for type=text. Also used as arrow label when set on an arrow." - changed
Input schema / properties / elements / items / properties / type / descriptionPrevious value: -"Element type (e.g. rectangle, ellipse, diamond, arrow, line, freedraw, text, image)"New value: +"Element type. Inferred from fields if omitted: text field → text, points → line, fileId → image, else rectangle." - added
Input schema / properties / elements / items / properties / type / enumAdded value: +[ + "rectangle", + "ellipse", + "diamond", + "arrow", + "line", + "freedraw", + "text", + "image" +] - changed
Input schema / properties / elements / items / properties / width / descriptionPrevious value: -"Width (default: 100)"New value: +"Width (default: 100; omit for text — auto-sized)" - changed
Input schema / properties / elements / items / properties / x / descriptionPrevious value: -"X coordinate"New value: +"X coordinate (defaults to 0 if omitted)" - changed
Input schema / properties / elements / items / properties / y / descriptionPrevious value: -"Y coordinate"New value: +"Y coordinate (defaults to 0 if omitted)" - changed
Input schema / properties / elements / items / requiredPrevious value: -[ - "type", - "x", - "y" -]New value: +[ + "x", + "y" +]
- Changed
update_elements13 fields changed- added
Input schema / properties / elements / items / descriptionAdded value: +"Patch object: only id is required. Include only the fields you want to change." - changed
Input schema / properties / elements / items / properties / backgroundColor / descriptionPrevious value: -"New fill color"New value: +"New fill color (hex or 'transparent')" - changed
Input schema / properties / elements / items / properties / fillStyle / descriptionPrevious value: -"New fill style"New value: +"New fill style (solid, hachure, cross-hatch)" - changed
Input schema / properties / elements / items / properties / fontSize / descriptionPrevious value: -"New font size"New value: +"New font size (for text elements)" - changed
Input schema / properties / elements / items / properties / id / descriptionPrevious value: -"Element ID to update"New value: +"ID of the element to update (required)" - added
Input schema / properties / elements / items / properties / lockedAdded value: +{ + "description": "Lock/unlock the element", + "type": "boolean" +} - changed
Input schema / properties / elements / items / properties / opacity / descriptionPrevious value: -"New opacity"New value: +"New opacity (0-100)" - changed
Input schema / properties / elements / items / properties / points / descriptionPrevious value: -"New points array"New value: +"New points array (for arrow/line/freedraw elements)" - changed
Input schema / properties / elements / items / properties / roughness / descriptionPrevious value: -"New roughness"New value: +"New roughness (0=architect, 1=artist, 2=cartoonist)" - changed
Input schema / properties / elements / items / properties / strokeColor / descriptionPrevious value: -"New stroke color"New value: +"New stroke color (hex)" - changed
Input schema / properties / elements / items / properties / text / descriptionPrevious value: -"New text content"New value: +"New text content (for text elements or arrow labels)" - changed
Input schema / properties / elements / items / properties / type / descriptionPrevious value: -"New element type (e.g. rectangle, ellipse, diamond, arrow, line, freedraw, text, image)"New value: +"New element type" - added
Input schema / properties / elements / items / properties / type / enumAdded value: +[ + "rectangle", + "ellipse", + "diamond", + "arrow", + "line", + "freedraw", + "text", + "image" +]
4 tool updates
- Changed
add_elements7 fields changed- added
Output schema / properties / appState / additionalPropertiesAdded value: +true - changed
Output schema / properties / appState / descriptionPrevious value: -"Current app state (viewBackgroundColor, etc.)"New value: +"Canvas app state (viewBackgroundColor, etc.)" - added
Output schema / properties / appState / propertiesAdded value: +{ + "viewBackgroundColor": { + "type": "string" + } +} - changed
Output schema / properties / elements / descriptionPrevious value: -"Current scene elements for inline SVG rendering"New value: +"All elements currently on the canvas" - added
Output schema / properties / elements / itemsAdded value: +{ + "additionalProperties": true, + "type": "object" +} - removed
Output schema / properties / pendingMermaidRemoved value: -{ - "description": "Mermaid definition to be rendered client-side", - "type": "object" -} - added
Output schema / requiredAdded value: +[ + "url", + "isNew", + "collabUrl", + "elements", + "appState" +]
- Changed
add_elements_from_mermaid8 fields changed- added
Output schema / properties / appState / additionalPropertiesAdded value: +true - changed
Output schema / properties / appState / descriptionPrevious value: -"Current app state (viewBackgroundColor, etc.)"New value: +"Canvas app state (viewBackgroundColor, etc.)" - added
Output schema / properties / appState / propertiesAdded value: +{ + "viewBackgroundColor": { + "type": "string" + } +} - changed
Output schema / properties / elements / descriptionPrevious value: -"Current scene elements for inline SVG rendering"New value: +"All elements currently on the canvas" - added
Output schema / properties / elements / itemsAdded value: +{ + "additionalProperties": true, + "type": "object" +} - changed
Output schema / properties / pendingMermaid / descriptionPrevious value: -"Mermaid definition to be rendered client-side"New value: +"Mermaid definition pending client-side rendering" - added
Output schema / properties / pendingMermaid / propertiesAdded value: +{ + "config": { + "additionalProperties": true, + "type": "object" + }, + "definition": { + "description": "Mermaid diagram source", + "type": "string" + } +} - added
Output schema / requiredAdded value: +[ + "url", + "isNew", + "collabUrl", + "elements", + "appState" +]
- Changed
delete_elements7 fields changed- added
Output schema / properties / appState / additionalPropertiesAdded value: +true - changed
Output schema / properties / appState / descriptionPrevious value: -"Current app state (viewBackgroundColor, etc.)"New value: +"Canvas app state (viewBackgroundColor, etc.)" - added
Output schema / properties / appState / propertiesAdded value: +{ + "viewBackgroundColor": { + "type": "string" + } +} - changed
Output schema / properties / elements / descriptionPrevious value: -"Current scene elements for inline SVG rendering"New value: +"All elements currently on the canvas" - added
Output schema / properties / elements / itemsAdded value: +{ + "additionalProperties": true, + "type": "object" +} - removed
Output schema / properties / pendingMermaidRemoved value: -{ - "description": "Mermaid definition to be rendered client-side", - "type": "object" -} - added
Output schema / requiredAdded value: +[ + "url", + "isNew", + "collabUrl", + "elements", + "appState" +]
- Changed
update_elements7 fields changed- added
Output schema / properties / appState / additionalPropertiesAdded value: +true - changed
Output schema / properties / appState / descriptionPrevious value: -"Current app state (viewBackgroundColor, etc.)"New value: +"Canvas app state (viewBackgroundColor, etc.)" - added
Output schema / properties / appState / propertiesAdded value: +{ + "viewBackgroundColor": { + "type": "string" + } +} - changed
Output schema / properties / elements / descriptionPrevious value: -"Current scene elements for inline SVG rendering"New value: +"All elements currently on the canvas" - added
Output schema / properties / elements / itemsAdded value: +{ + "additionalProperties": true, + "type": "object" +} - removed
Output schema / properties / pendingMermaidRemoved value: -{ - "description": "Mermaid definition to be rendered client-side", - "type": "object" -} - added
Output schema / requiredAdded value: +[ + "url", + "isNew", + "collabUrl", + "elements", + "appState" +]
4 tool updates
- Changed
add_elements14 fields changed- changed
Input schema / properties / elements / items / properties / endBinding / descriptionPrevious value: -"For arrows: bind end point to a shape. REQUIRED for connected diagrams!"New value: +"For arrows: bind end point to a shape." - removed
Input schema / properties / elements / items / properties / endBinding / properties / elementId / descriptionRemoved value: -"ID of shape to connect to (REQUIRED)" - removed
Input schema / properties / elements / items / properties / endBinding / properties / focus / descriptionRemoved value: -"Position on edge: -1 to 1, 0=center (REQUIRED, use 0)" - removed
Input schema / properties / elements / items / properties / endBinding / properties / gap / descriptionRemoved value: -"Gap from shape edge in pixels (REQUIRED, use 8)" - removed
Input schema / properties / elements / items / properties / endBinding / requiredRemoved value: -[ - "elementId", - "focus", - "gap" -] - removed
Input schema / properties / elements / items / properties / lockedRemoved value: -{ - "description": "Lock element (default: false)", - "type": "boolean" -} - changed
Input schema / properties / elements / items / properties / startBinding / descriptionPrevious value: -"For arrows: bind start point to a shape. REQUIRED for connected diagrams!"New value: +"For arrows: bind start point to a shape." - removed
Input schema / properties / elements / items / properties / startBinding / properties / elementId / descriptionRemoved value: -"ID of shape to connect to (REQUIRED)" - removed
Input schema / properties / elements / items / properties / startBinding / properties / focus / descriptionRemoved value: -"Position on edge: -1 to 1, 0=center (REQUIRED, use 0)" - removed
Input schema / properties / elements / items / properties / startBinding / properties / gap / descriptionRemoved value: -"Gap from shape edge in pixels (REQUIRED, use 8)" - removed
Input schema / properties / elements / items / properties / startBinding / requiredRemoved value: -[ - "elementId", - "focus", - "gap" -] - changed
Input schema / properties / elements / items / properties / type / descriptionPrevious value: -"Element type"New value: +"Element type (e.g. rectangle, ellipse, diamond, arrow, line, freedraw, text, image)" - removed
Input schema / properties / elements / items / properties / type / enumRemoved value: -[ - "rectangle", - "ellipse", - "diamond", - "arrow", - "line", - "freedraw", - "text", - "image" -] - removed
Input schema / properties / timeoutRemoved value: -{ - "default": 3600, - "description": "Room lifetime in seconds (default: 3600, max: 86400). Only used when creating new canvas", - "type": "number" -}
- Changed
get_guide1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "guide": { + "description": "Tool usage instructions text", + "type": "string" + } + }, + "required": [ + "guide" + ], + "type": "object" +}
- Changed
query_elements1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "count": { + "description": "Number of matching elements", + "type": "number" + }, + "elements": { + "description": "Matching elements", + "type": "array" + } + }, + "required": [ + "count", + "elements" + ], + "type": "object" +}
- Changed
update_elements3 fields changed- removed
Input schema / properties / elements / items / properties / lockedRemoved value: -{ - "description": "Lock/unlock element", - "type": "boolean" -} - changed
Input schema / properties / elements / items / properties / type / descriptionPrevious value: -"New element type"New value: +"New element type (e.g. rectangle, ellipse, diamond, arrow, line, freedraw, text, image)" - removed
Input schema / properties / elements / items / properties / type / enumRemoved value: -[ - "rectangle", - "ellipse", - "diamond", - "arrow", - "line", - "freedraw", - "text", - "image" -]
1 tool update
- Changed
add_elements_from_mermaid1 field changed- changed
Input schema / properties / mermaid / descriptionPrevious value: -"Mermaid diagram definition (flowchart, sequence, or class diagram)"New value: +"Mermaid diagram definition. Prefer converting compatible user requests into Mermaid instead of using add_elements."
1 tool update
- Changed
add_elements_from_mermaid5 fields changed- changed
Input schema / properties / config / descriptionPrevious value: -"Optional Mermaid configuration"New value: +"Optional Mermaid rendering config. flowchart.curve is handled automatically." - changed
Input schema / properties / config / properties / flowchart / properties / curve / descriptionPrevious value: -"Curve style for flowchart edges (default: linear)"New value: +"Edge curve style (handled server-side; no need to set explicitly)." - changed
Input schema / properties / config / properties / flowchart / properties / curve / enumPrevious value: -[ - "linear", - "basis" -]New value: +[ + "basis", + "linear" +] - removed
Input schema / properties / config / properties / maxEdgesRemoved value: -{ - "description": "Maximum number of edges to render (default: 1000)", - "type": "number" -} - removed
Input schema / properties / config / properties / maxTextSizeRemoved value: -{ - "description": "Maximum text size (default: 1000)", - "type": "number" -}
6 tool updates
- Removed
align_elements - Removed
distribute_elements - Removed
group_elements - Removed
lock_elements - Removed
ungroup_elements - Removed
unlock_elements
1 tool update
- Changed
add_elements6 fields changed- changed
Input schema / properties / elements / items / properties / endBinding / properties / focus / descriptionPrevious value: -"Position on edge: -1 to 1, 0=center (default: 0)"New value: +"Position on edge: -1 to 1, 0=center (REQUIRED, use 0)" - changed
Input schema / properties / elements / items / properties / endBinding / properties / gap / descriptionPrevious value: -"Gap from shape edge in pixels (default: 8)"New value: +"Gap from shape edge in pixels (REQUIRED, use 8)" - added
Input schema / properties / elements / items / properties / endBinding / requiredAdded value: +[ + "elementId", + "focus", + "gap" +] - changed
Input schema / properties / elements / items / properties / startBinding / properties / focus / descriptionPrevious value: -"Position on edge: -1 to 1, 0=center (default: 0)"New value: +"Position on edge: -1 to 1, 0=center (REQUIRED, use 0)" - changed
Input schema / properties / elements / items / properties / startBinding / properties / gap / descriptionPrevious value: -"Gap from shape edge in pixels (default: 8)"New value: +"Gap from shape edge in pixels (REQUIRED, use 8)" - added
Input schema / properties / elements / items / properties / startBinding / requiredAdded value: +[ + "elementId", + "focus", + "gap" +]
2 tool updates
- Changed
add_elements1 field changed- changed
Input schema / properties / elements / items / properties / fontFamily / descriptionPrevious value: -"Font family: 1=Virgil, 2=Helvetica, 3=Cascadia (default: 1)"New value: +"Font family: 5=Excalifont, 6=Nunito, 7=Lilita One, 8=Comic Shanns (default: 5)"
- Changed
update_elements1 field changed- changed
Input schema / properties / elements / items / properties / fontFamily / descriptionPrevious value: -"New font family"New value: +"New font family (5=Excalifont, 6=Nunito, 7=Lilita One, 8=Comic Shanns)"
1 tool update
- Removed
get_image
12 tool updates
- Changed
add_elements4 fields changed- added
Output schema / properties / appStateAdded value: +{ + "description": "Current app state (viewBackgroundColor, etc.)", + "type": "object" +} - added
Output schema / properties / collabUrlAdded value: +{ + "description": "Collaboration server URL for Socket.IO", + "type": "string" +} - added
Output schema / properties / elementsAdded value: +{ + "description": "Current scene elements for inline SVG rendering", + "type": "array" +} - added
Output schema / properties / pendingMermaidAdded value: +{ + "description": "Mermaid definition to be rendered client-side", + "type": "object" +}
- Changed
add_elements_from_mermaid4 fields changed- added
Output schema / properties / appStateAdded value: +{ + "description": "Current app state (viewBackgroundColor, etc.)", + "type": "object" +} - added
Output schema / properties / collabUrlAdded value: +{ + "description": "Collaboration server URL for Socket.IO", + "type": "string" +} - added
Output schema / properties / elementsAdded value: +{ + "description": "Current scene elements for inline SVG rendering", + "type": "array" +} - added
Output schema / properties / pendingMermaidAdded value: +{ + "description": "Mermaid definition to be rendered client-side", + "type": "object" +}
- Changed
align_elements5 fields changed- changed
Input schema / properties / room_url / descriptionPrevious value: -"Room URL (from create_canvas) or room ID to operate on"New value: +"Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)" - added
Output schema / properties / appStateAdded value: +{ + "description": "Current app state (viewBackgroundColor, etc.)", + "type": "object" +} - added
Output schema / properties / collabUrlAdded value: +{ + "description": "Collaboration server URL for Socket.IO", + "type": "string" +} - added
Output schema / properties / elementsAdded value: +{ + "description": "Current scene elements for inline SVG rendering", + "type": "array" +} - added
Output schema / properties / pendingMermaidAdded value: +{ + "description": "Mermaid definition to be rendered client-side", + "type": "object" +}
- Changed
delete_elements5 fields changed- changed
Input schema / properties / room_url / descriptionPrevious value: -"Room URL (from create_canvas) or room ID to operate on"New value: +"Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)" - added
Output schema / properties / appStateAdded value: +{ + "description": "Current app state (viewBackgroundColor, etc.)", + "type": "object" +} - added
Output schema / properties / collabUrlAdded value: +{ + "description": "Collaboration server URL for Socket.IO", + "type": "string" +} - added
Output schema / properties / elementsAdded value: +{ + "description": "Current scene elements for inline SVG rendering", + "type": "array" +} - added
Output schema / properties / pendingMermaidAdded value: +{ + "description": "Mermaid definition to be rendered client-side", + "type": "object" +}
- Changed
distribute_elements5 fields changed- changed
Input schema / properties / room_url / descriptionPrevious value: -"Room URL (from create_canvas) or room ID to operate on"New value: +"Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)" - added
Output schema / properties / appStateAdded value: +{ + "description": "Current app state (viewBackgroundColor, etc.)", + "type": "object" +} - added
Output schema / properties / collabUrlAdded value: +{ + "description": "Collaboration server URL for Socket.IO", + "type": "string" +} - added
Output schema / properties / elementsAdded value: +{ + "description": "Current scene elements for inline SVG rendering", + "type": "array" +} - added
Output schema / properties / pendingMermaidAdded value: +{ + "description": "Mermaid definition to be rendered client-side", + "type": "object" +}
- Changed
get_image1 field changed- changed
Input schema / properties / room_url / descriptionPrevious value: -"Room URL (from create_canvas) or room ID to operate on"New value: +"Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)"
- Changed
group_elements5 fields changed- changed
Input schema / properties / room_url / descriptionPrevious value: -"Room URL (from create_canvas) or room ID to operate on"New value: +"Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)" - added
Output schema / properties / appStateAdded value: +{ + "description": "Current app state (viewBackgroundColor, etc.)", + "type": "object" +} - added
Output schema / properties / collabUrlAdded value: +{ + "description": "Collaboration server URL for Socket.IO", + "type": "string" +} - added
Output schema / properties / elementsAdded value: +{ + "description": "Current scene elements for inline SVG rendering", + "type": "array" +} - added
Output schema / properties / pendingMermaidAdded value: +{ + "description": "Mermaid definition to be rendered client-side", + "type": "object" +}
- Changed
lock_elements5 fields changed- changed
Input schema / properties / room_url / descriptionPrevious value: -"Room URL (from create_canvas) or room ID to operate on"New value: +"Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)" - added
Output schema / properties / appStateAdded value: +{ + "description": "Current app state (viewBackgroundColor, etc.)", + "type": "object" +} - added
Output schema / properties / collabUrlAdded value: +{ + "description": "Collaboration server URL for Socket.IO", + "type": "string" +} - added
Output schema / properties / elementsAdded value: +{ + "description": "Current scene elements for inline SVG rendering", + "type": "array" +} - added
Output schema / properties / pendingMermaidAdded value: +{ + "description": "Mermaid definition to be rendered client-side", + "type": "object" +}
- Changed
query_elements1 field changed- changed
Input schema / properties / room_url / descriptionPrevious value: -"Room URL (from create_canvas) or room ID to operate on"New value: +"Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)"
- Changed
ungroup_elements5 fields changed- changed
Input schema / properties / room_url / descriptionPrevious value: -"Room URL (from create_canvas) or room ID to operate on"New value: +"Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)" - added
Output schema / properties / appStateAdded value: +{ + "description": "Current app state (viewBackgroundColor, etc.)", + "type": "object" +} - added
Output schema / properties / collabUrlAdded value: +{ + "description": "Collaboration server URL for Socket.IO", + "type": "string" +} - added
Output schema / properties / elementsAdded value: +{ + "description": "Current scene elements for inline SVG rendering", + "type": "array" +} - added
Output schema / properties / pendingMermaidAdded value: +{ + "description": "Mermaid definition to be rendered client-side", + "type": "object" +}
- Changed
unlock_elements5 fields changed- changed
Input schema / properties / room_url / descriptionPrevious value: -"Room URL (from create_canvas) or room ID to operate on"New value: +"Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)" - added
Output schema / properties / appStateAdded value: +{ + "description": "Current app state (viewBackgroundColor, etc.)", + "type": "object" +} - added
Output schema / properties / collabUrlAdded value: +{ + "description": "Collaboration server URL for Socket.IO", + "type": "string" +} - added
Output schema / properties / elementsAdded value: +{ + "description": "Current scene elements for inline SVG rendering", + "type": "array" +} - added
Output schema / properties / pendingMermaidAdded value: +{ + "description": "Mermaid definition to be rendered client-side", + "type": "object" +}
- Changed
update_elements5 fields changed- changed
Input schema / properties / room_url / descriptionPrevious value: -"Room URL (from create_canvas) or room ID to operate on"New value: +"Canvas URL from create_canvas (e.g. https://canvs.io/?room=XXXX) or a Google Drive board URL (e.g. https://canvs.io/gdrive?id=FILE_ID)" - added
Output schema / properties / appStateAdded value: +{ + "description": "Current app state (viewBackgroundColor, etc.)", + "type": "object" +} - added
Output schema / properties / collabUrlAdded value: +{ + "description": "Collaboration server URL for Socket.IO", + "type": "string" +} - added
Output schema / properties / elementsAdded value: +{ + "description": "Current scene elements for inline SVG rendering", + "type": "array" +} - added
Output schema / properties / pendingMermaidAdded value: +{ + "description": "Mermaid definition to be rendered client-side", + "type": "object" +}
1 tool update
- Changed
ungroup_elements3 fields changed- added
Input schema / properties / elementIdsAdded value: +{ + "description": "Array of element IDs to ungroup", + "items": { + "type": "string" + }, + "type": "array" +} - removed
Input schema / properties / groupIdRemoved value: -{ - "description": "Group ID to ungroup", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "room_url", - "groupId" -]New value: +[ + "room_url", + "elementIds" +]
13 tool updates
- First observed
add_elements - First observed
add_elements_from_mermaid - First observed
align_elements - First observed
delete_elements - First observed
distribute_elements - First observed
get_guide - First observed
get_image - First observed
group_elements - First observed
lock_elements - First observed
query_elements - First observed
ungroup_elements - First observed
unlock_elements - First observed
update_elements
Related MCP Connectors
Free whiteboard where people and AI draw together: read cloud boards, draw diagrams, build slides.
Visual AI for strategic thinking — SWOT, flowcharts, mindmaps, Gantt diagrams as polished SVG.
Create workflow, sequence, architecture, and mind map diagrams via AI assistants.
A collaborative whiteboard your AI assistant can read, fill and show live, with changes you review.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceCreate visual whiteboards, diagrams, flowcharts, and project plans from AI conversations. 17 MCP tools for board management, element creation, and real-time collaboration.1MIT
- AlicenseAqualityAmaintenanceOpen-source mind maps and whiteboard your agent draws on live: 22 tools for mind maps, notes, shapes, tables, charts, connectors, comments and HTML/PDF export; boards are local files.4238AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to collaboratively read, write, draw, and diagram on a shared real-time whiteboard canvas with live human edits.1MIT
- FlicenseNot gradedqualityDmaintenanceProvides 15 types of chart generation tools (line, bar, pie, radar, word cloud, mind map, etc.) with AI-powered intelligent color schemes and elegant design.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.