← WebMCP Directory

Tool tree

webmcp-draw-canvas.eductionalguide.chatgpt.site

Media & PersonalTools verified
Website
WebMCP Draw Canvas
Explore capabilities
    reviewAction

    Review a canvas region and schedule a follow-up turn when more work may be needed.

    View tool JSON
    {
      "name": "review",
      "kind": "act",
      "impl": "imperative",
      "description": "Review a canvas region and schedule a follow-up turn when more work may be needed.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    createAction

    Create one new canvas shape from the app's existing simple-shape format.

    View tool JSON
    {
      "name": "create",
      "kind": "act",
      "impl": "imperative",
      "description": "Create one new canvas shape from the app's existing simple-shape format.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    createHtmlPreviewAction

    Create a visible interactive HTML preview shape in the current canvas view.

    View tool JSON
    {
      "name": "createHtmlPreview",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a visible interactive HTML preview shape in the current canvas view.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    deleteSensitive Action

    Delete one existing canvas shape by its simple shape ID. WebMCP requires confirm: true after user approval.

    View tool JSON
    {
      "name": "delete",
      "kind": "transact",
      "impl": "imperative",
      "description": "Delete one existing canvas shape by its simple shape ID. WebMCP requires confirm: true after user approval.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    updateAction

    Update the properties of one existing canvas shape.

    View tool JSON
    {
      "name": "update",
      "kind": "act",
      "impl": "imperative",
      "description": "Update the properties of one existing canvas shape.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    labelAction

    Replace the visible text on one existing canvas shape.

    View tool JSON
    {
      "name": "label",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace the visible text on one existing canvas shape.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    moveAction

    Move one existing shape so its page bounds begin at the requested coordinates.

    View tool JSON
    {
      "name": "move",
      "kind": "act",
      "impl": "imperative",
      "description": "Move one existing shape so its page bounds begin at the requested coordinates.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    placeAction

    Place one shape on a chosen side of another shape with alignment and offsets.

    View tool JSON
    {
      "name": "place",
      "kind": "act",
      "impl": "imperative",
      "description": "Place one shape on a chosen side of another shape with alignment and offsets.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    bringToFrontAction

    Bring one or more existing shapes in front of the other canvas content.

    View tool JSON
    {
      "name": "bringToFront",
      "kind": "act",
      "impl": "imperative",
      "description": "Bring one or more existing shapes in front of the other canvas content.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    sendToBackSensitive Action

    Send one or more existing shapes behind the other canvas content.

    View tool JSON
    {
      "name": "sendToBack",
      "kind": "transact",
      "impl": "imperative",
      "description": "Send one or more existing shapes behind the other canvas content.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    rotateAction

    Rotate one or more existing shapes around a supplied canvas origin.

    View tool JSON
    {
      "name": "rotate",
      "kind": "act",
      "impl": "imperative",
      "description": "Rotate one or more existing shapes around a supplied canvas origin.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    resizeAction

    Scale one or more existing shapes around a supplied canvas origin.

    View tool JSON
    {
      "name": "resize",
      "kind": "act",
      "impl": "imperative",
      "description": "Scale one or more existing shapes around a supplied canvas origin.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    alignAction

    Align existing shapes to one shared edge or center axis.

    View tool JSON
    {
      "name": "align",
      "kind": "act",
      "impl": "imperative",
      "description": "Align existing shapes to one shared edge or center axis.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    distributeAction

    Distribute existing shapes evenly on the horizontal or vertical axis.

    View tool JSON
    {
      "name": "distribute",
      "kind": "act",
      "impl": "imperative",
      "description": "Distribute existing shapes evenly on the horizontal or vertical axis.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    stackAction

    Pack existing shapes along the horizontal or vertical axis with a requested gap, without aligning them.

    View tool JSON
    {
      "name": "stack",
      "kind": "act",
      "impl": "imperative",
      "description": "Pack existing shapes along the horizontal or vertical axis with a requested gap, without aligning them.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    clearAction

    Delete all shapes on the current page, leaving other pages unchanged. WebMCP requires confirm: true after user approval.

    View tool JSON
    {
      "name": "clear",
      "kind": "act",
      "impl": "imperative",
      "description": "Delete all shapes on the current page, leaving other pages unchanged. WebMCP requires confirm: true after user approval.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    penAction

    Draw a visible freehand or straight-point path, optionally closed and filled.

    View tool JSON
    {
      "name": "pen",
      "kind": "act",
      "impl": "imperative",
      "description": "Draw a visible freehand or straight-point path, optionally closed and filled.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    getInspirationAnswer

    Fetch a random Wikipedia article and schedule it as inspiration for a follow-up turn.

    View tool JSON
    {
      "name": "getInspiration",
      "kind": "answer",
      "impl": "imperative",
      "description": "Fetch a random Wikipedia article and schedule it as inspiration for a follow-up turn.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    countAnswer

    Count the current page shapes and schedule the answer for a follow-up turn.

    View tool JSON
    {
      "name": "count",
      "kind": "answer",
      "impl": "imperative",
      "description": "Count the current page shapes and schedule the answer for a follow-up turn.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    search_commons_imagesAnswer

    Search Wikimedia Commons for up to six verified CC0 or public-domain images before choosing one to add.

    View tool JSON
    {
      "name": "search_commons_images",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search Wikimedia Commons for up to six verified CC0 or public-domain images before choosing one to add.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    add_commons_imageAction

    Re-verify and add one Commons image at exact canvas coordinates with a grouped visible credit.

    View tool JSON
    {
      "name": "add_commons_image",
      "kind": "act",
      "impl": "imperative",
      "description": "Re-verify and add one Commons image at exact canvas coordinates with a grouped visible credit.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    create_mermaid_diagramAction

    Render Mermaid source in the top preview panel so the user can inspect or edit it and choose whether to add it to the canvas. Follow the new-drawing page workflow first.

    View tool JSON
    {
      "name": "create_mermaid_diagram",
      "kind": "act",
      "impl": "imperative",
      "description": "Render Mermaid source in the top preview panel so the user can inspect or edit it and choose whether to add it to the canvas. Follow the new-drawing page workflow first.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    create_pageAction

    Create and switch to a new automatically named canvas page. Before starting a new drawing, call inspect_pages. If the current page contains objects, call create_page and draw on the new page. If it is empty, reuse the current page.

    View tool JSON
    {
      "name": "create_page",
      "kind": "act",
      "impl": "imperative",
      "description": "Create and switch to a new automatically named canvas page. Before starting a new drawing, call inspect_pages. If the current page contains objects, call create_page and draw on the new page. If it is empty, reuse the current page.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    inspect_pagesAction

    List current and all canvas pages with object counts, or inspect object IDs and types for one 1-based page number. Before starting a new drawing, call inspect_pages. If the current page contains objects, call create_page and draw on the new page. If it is empty, reuse the current page.

    View tool JSON
    {
      "name": "inspect_pages",
      "kind": "act",
      "impl": "imperative",
      "description": "List current and all canvas pages with object counts, or inspect object IDs and types for one 1-based page number. Before starting a new drawing, call inspect_pages. If the current page contains objects, call create_page and draw on the new page. If it is empty, reuse the current page.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    inspect_embedsAnswer

    Return source URLs of tldraw embed shapes on a canvas page (YouTube, Figma, and other Insert-embed providers) so the agent can research the inserted content into canvas.

    View tool JSON
    {
      "name": "inspect_embeds",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return source URLs of tldraw embed shapes on a canvas page (YouTube, Figma, and other Insert-embed providers) so the agent can research the inserted content into canvas.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    zoom_outAction

    Zoom the current page camera so more of the canvas is visible. With no arguments, fit all shapes in the viewport. With steps, zoom out that many navigation-panel increments.

    View tool JSON
    {
      "name": "zoom_out",
      "kind": "act",
      "impl": "imperative",
      "description": "Zoom the current page camera so more of the canvas is visible. With no arguments, fit all shapes in the viewport. With steps, zoom out that many navigation-panel increments.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    arrange_gridAction

    Normalize rotation and size for selected top-level shapes, arrange them in a row-major grid, and optionally fit the camera. Automatically adapts to aspect locks and provider minimum sizes.

    View tool JSON
    {
      "name": "arrange_grid",
      "kind": "act",
      "impl": "imperative",
      "description": "Normalize rotation and size for selected top-level shapes, arrange them in a row-major grid, and optionally fit the camera. Automatically adapts to aspect locks and provider minimum sizes.",
      "inputSchema": {
        "type": "object",
        "description": "Full args: describe_tools({names}).",
        "additionalProperties": true,
        "properties": {}
      }
    }
    list_toolsAnswer

    List every registered draw-app tool with a one-line summary and the required new-drawing page workflow; call this first to choose tools.

    View tool JSON
    {
      "name": "list_tools",
      "kind": "answer",
      "impl": "imperative",
      "description": "List every registered draw-app tool with a one-line summary and the required new-drawing page workflow; call this first to choose tools.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      }
    }
    describe_toolsAnswer

    Return full argument schemas for 1–10 unique tools before calling those compactly registered tools.

    View tool JSON
    {
      "name": "describe_tools",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return full argument schemas for 1–10 unique tools before calling those compactly registered tools.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "names"
        ],
        "properties": {
          "names": {
            "type": "array",
            "minItems": 1,
            "maxItems": 10,
            "uniqueItems": true,
            "description": "Unique registered tool names to describe, returned in this order.",
            "items": {
              "type": "string",
              "enum": [
                "review",
                "create",
                "createHtmlPreview",
                "delete",
                "update",
                "label",
                "move",
                "place",
                "bringToFront",
                "sendToBack",
                "rotate",
                "resize",
                "align",
                "distribute",
                "stack",
                "clear",
                "pen",
                "getInspiration",
                "count",
                "search_commons_images",
                "add_commons_image",
                "create_mermaid_diagram",
                "create_page",
                "inspect_pages",
                "inspect_embeds",
                "zoom_out",
                "arrange_grid",
                "list_tools",
                "describe_tools"
              ]
            }
          }
        }
      }
    }