accueil / serveurs / Dev & Code / io.github.voronkovm/canvs
io.github.voronkovm/canvs
serveur MCP (Model Context Protocol) · canvs-mcp-server 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.voronkovm/canvs est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.voronkovm/canvs » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 6 outils
- add_elements≈ 1518 tokens
Creates elements on a canvas. Creates a new canvas if room_id is omitted, or adds to the existing canvas if room_id is provided. Use cases: wireframes, UI mockups, freeform illustrations, standalone shapes, and manual layouts that Mermaid does not cover well. For diagrams Mermaid can express, use add_elements_from_mermaid instead. Element types: rectangle, ellipse, diamond, arrow, line, freedraw, text, image. Rich text: the text field supports limited HTML 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. TEXT IN SHAPES: use containerId on text element pointing to shape id. ARROWS: Position at EDGE of source shape. Auto-bound within 30px. Colors: strokeColor, backgroundColor (hex).
Paramètres, retour & exemple (2)
Paramètresroom_id· string · optionnel
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=[room_id]), pass it here. Omit to create a new canvas.elements· array · requis
Array of element definitions to create
Exemple d'appel{"name": "add_elements", "arguments": {"elements": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"url": "texte", "isNew": true, "room_id": "texte", "appState": {}, "elements": [], "collabUrl": "texte"}} - add_elements_from_mermaid≈ 757 tokens
Creates diagram elements from a Mermaid definition. Creates a new canvas if room_id is omitted, or adds to the existing canvas if room_id is provided. Preferred over add_elements for new diagrams and large changes to existing diagrams whenever the content can be represented in Mermaid. Supports: flowchart, graph, flowchart-elk, sequenceDiagram, classDiagram, classDiagram-v2, stateDiagram, stateDiagram-v2, erDiagram, journey, gantt, pie, gitGraph, mindmap, timeline, C4Context, C4Container, C4Component, C4Dynamic, C4Deployment, sankey, sankey-beta, quadrantChart, xychart, xychart-beta, requirement, requirementDiagram, kanban, architecture, block, block-beta, packet, packet-beta, radar-beta, treemap, info. Example: "flowchart TD\n A[Start] --> B{Decision}\n B -->|Yes| C[OK]\n B -->|No| D[Cancel]"
Paramètres, retour & exemple (4)
Paramètresconfig· object · optionnel
Optional Mermaid rendering config. flowchart.curve is handled automatically.mermaid· string · requis
Mermaid diagram definition. Prefer converting compatible user requests into Mermaid instead of using add_elements.room_id· string · optionnel
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=[room_id]), pass it here. Omit to create a new canvas.timeout· number · optionnel
Room lifetime in seconds (default: 3600, max: 86400). Only used when creating new canvas
Exemple d'appel{"name": "add_elements_from_mermaid", "arguments": {"mermaid": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"url": "texte", "isNew": true, "room_id": "texte", "appState": {}, "elements": [], "collabUrl": "texte", "pendingMermaid": {}}} - delete_elements≈ 358 tokens
Delete elements from a canvas. Requires room_id from a previous Canvs tool result. Pass ids array of element IDs to delete.
Paramètres, retour & exemple (2)
Paramètresids· array · requis
Array of element IDs to deleteroom_id· string · requis
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=[room_id].
Exemple d'appel{"name": "delete_elements", "arguments": {"ids": [], "room_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"url": "texte", "isNew": true, "room_id": "texte", "appState": {}, "elements": [], "collabUrl": "texte"}} - get_guide≈ 145 tokens
Returns guidance on diagram-creation workflow and tool selection: how to choose between Mermaid and manual element creation, and the recommended iteration workflow. Consult before building complex diagrams.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_guide", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"guide": "texte"}} - query_elements≈ 314 tokens
Query elements on a canvas. Requires room_id from a previous Canvs tool result. Returns elements matching optional filters. Use this before update_elements when making small edits to existing diagrams. If no browser has the canvas open, returns an error — ask the user to open the canvas URL in their browser and retry.
Paramètres, retour & exemple (3)
Paramètrestype· string · optionnel · rectangle | ellipse | diamond | arrow | line | freedraw | text | image
Filter by element typefilter· object · optionnel
Additional key-value filters (e.g., {locked: true})room_id· string · requis
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=[room_id].
Exemple d'appel{"name": "query_elements", "arguments": {"room_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "elements": []}} - update_elements≈ 947 tokens
Update elements on a canvas. Requires room_id from a previous Canvs tool result. Pass elements array with id and fields to update. IMPORTANT: in each update object ONLY `id` is required; all other fields are optional patch fields. Include ONLY elements that need changes; elements omitted from the request remain unchanged on the board. Prefer this tool for SMALL edits to existing diagrams (rename/move/restyle a few elements), typically after query_elements.
Paramètres, retour & exemple (2)
Paramètresroom_id· string · requis
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=[room_id].elements· array · requis
Array of element updates (each must have id)
Exemple d'appel{"name": "update_elements", "arguments": {"room_id": "texte", "elements": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"url": "texte", "isNew": true, "room_id": "texte", "appState": {}, "elements": [], "collabUrl": "texte"}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».