← WebMCP Directory

Tool tree

webmcp-challenge.aadityab.workers.dev

Developer ToolsTools verified
Website
Infinite Canvas
Explore capabilities
    inspect_canvasAction

    Read the selected artboard, revision, and safe next actions.

    View tool JSON
    {
      "name": "inspect_canvas",
      "kind": "act",
      "impl": "imperative",
      "description": "Read the selected artboard, revision, and safe next actions.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    get_design_treeAnswer

    Read the structured editable node tree with optional maxDepth and summary mode.

    View tool JSON
    {
      "name": "get_design_tree",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the structured editable node tree with optional maxDepth and summary mode.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "rootNodeId": {
            "type": "string"
          },
          "nodeId": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "maxDepth": {
            "type": [
              "number",
              "string"
            ]
          },
          "summary": {
            "type": "boolean"
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    find_nodesAnswer

    Find design layers matching query, kind, or parent without loading the full tree.

    View tool JSON
    {
      "name": "find_nodes",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find design layers matching query, kind, or parent without loading the full tree.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "frame",
              "text",
              "rect",
              "button",
              "image"
            ]
          },
          "parentId": {
            "type": "string"
          },
          "limit": {
            "type": [
              "number",
              "string"
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    set_design_textAction

    Change text in one editable node.

    View tool JSON
    {
      "name": "set_design_text",
      "kind": "act",
      "impl": "imperative",
      "description": "Change text in one editable node.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      }
    }
    apply_design_stylesAction

    Apply a safe style patch to one node with support for standard CSS aliases.

    View tool JSON
    {
      "name": "apply_design_styles",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply a safe style patch to one node with support for standard CSS aliases.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string"
          },
          "styles": {
            "type": "object",
            "properties": {
              "background": {
                "type": "string"
              },
              "backgroundColor": {
                "type": "string"
              },
              "fill": {
                "type": "string"
              },
              "color": {
                "type": "string"
              },
              "textColor": {
                "type": "string"
              },
              "border": {
                "type": "string"
              },
              "borderColor": {
                "type": "string"
              },
              "borderWidth": {
                "type": [
                  "number",
                  "string"
                ]
              },
              "borderRadius": {
                "type": [
                  "number",
                  "string"
                ]
              },
              "fontSize": {
                "type": [
                  "number",
                  "string"
                ]
              },
              "fontWeight": {
                "type": [
                  "number",
                  "string"
                ]
              },
              "fontFamily": {
                "type": "string"
              },
              "padding": {
                "type": [
                  "number",
                  "string"
                ]
              },
              "opacity": {
                "type": [
                  "number",
                  "string"
                ]
              },
              "letterSpacing": {
                "type": [
                  "number",
                  "string"
                ]
              }
            }
          },
          "style": {
            "type": "object",
            "properties": {
              "background": {
                "type": "string"
              },
              "backgroundColor": {
                "type": "string"
              },
              "fill": {
                "type": "string"
              },
              "color": {
                "type": "string"
              },
              "textColor": {
                "type": "string"
              },
              "border": {
                "type": "string"
              },
              "borderColor": {
                "type": "string"
              },
              "borderWidth": {
                "type": [
                  "number",
                  "string"
                ]
              },
              "borderRadius": {
                "type": [
                  "number",
                  "string"
                ]
              },
              "fontSize": {
                "type": [
                  "number",
                  "string"
                ]
              },
              "fontWeight": {
                "type": [
                  "number",
                  "string"
                ]
              },
              "fontFamily": {
                "type": "string"
              },
              "padding": {
                "type": [
                  "number",
                  "string"
                ]
              },
              "opacity": {
                "type": [
                  "number",
                  "string"
                ]
              },
              "letterSpacing": {
                "type": [
                  "number",
                  "string"
                ]
              }
            }
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    set_layoutAction

    Configure CSS flexbox auto-layout (flex-row, flex-column, absolute), gap, padding, and sizing on a frame.

    View tool JSON
    {
      "name": "set_layout",
      "kind": "act",
      "impl": "imperative",
      "description": "Configure CSS flexbox auto-layout (flex-row, flex-column, absolute), gap, padding, and sizing on a frame.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string"
          },
          "layout": {
            "type": "string",
            "enum": [
              "absolute",
              "flex-row",
              "flex-column"
            ]
          },
          "gap": {
            "type": [
              "number",
              "string"
            ]
          },
          "padding": {
            "type": [
              "number",
              "string"
            ]
          },
          "widthSizing": {
            "type": "string",
            "enum": [
              "fixed",
              "fill",
              "hug"
            ]
          },
          "heightSizing": {
            "type": "string",
            "enum": [
              "fixed",
              "fill",
              "hug"
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    add_reference_imageAction

    Add a local or pasted image as a visual reference on the canvas.

    View tool JSON
    {
      "name": "add_reference_image",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a local or pasted image as a visual reference on the canvas.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "dataUrl": {
            "type": "string",
            "maxLength": 2000000
          },
          "width": {
            "type": "number"
          },
          "height": {
            "type": "number"
          },
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "operationId": {
            "type": "string"
          }
        },
        "required": [
          "dataUrl"
        ],
        "additionalProperties": false
      }
    }
    list_reference_imagesAnswer

    List reference images available for the agent to inspect.

    View tool JSON
    {
      "name": "list_reference_images",
      "kind": "answer",
      "impl": "imperative",
      "description": "List reference images available for the agent to inspect.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    inspect_reference_imageAnswer

    Inspect one reference image and return it to the agent as image content.

    View tool JSON
    {
      "name": "inspect_reference_image",
      "kind": "answer",
      "impl": "imperative",
      "description": "Inspect one reference image and return it to the agent as image content.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "referenceId": {
            "type": "string"
          }
        },
        "required": [
          "referenceId"
        ],
        "additionalProperties": false
      }
    }
    recreate_from_referenceAction

    Create an editable design frame informed by a reference image.

    View tool JSON
    {
      "name": "recreate_from_reference",
      "kind": "act",
      "impl": "imperative",
      "description": "Create an editable design frame informed by a reference image.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "referenceId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "operationId": {
            "type": "string"
          },
          "layout": {
            "type": "string",
            "enum": [
              "absolute",
              "flex-row",
              "flex-column"
            ]
          },
          "gap": {
            "type": [
              "number",
              "string"
            ]
          },
          "padding": {
            "type": [
              "number",
              "string"
            ]
          },
          "width": {
            "type": [
              "number",
              "string"
            ]
          },
          "height": {
            "type": [
              "number",
              "string"
            ]
          },
          "style": {
            "type": "object"
          },
          "eyebrow": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "accentText": {
            "type": "string"
          },
          "ctaText": {
            "type": "string"
          },
          "children": {
            "type": "array"
          },
          "tree": {
            "type": "object"
          }
        },
        "required": [
          "referenceId"
        ],
        "additionalProperties": false
      }
    }
    create_nodeAction

    Create a new frame, text, rectangle, or button with optional flex auto-layout and styles.

    View tool JSON
    {
      "name": "create_node",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a new frame, text, rectangle, or button with optional flex auto-layout and styles.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "frame",
              "text",
              "rect",
              "button"
            ]
          },
          "parentId": {
            "type": "string"
          },
          "x": {
            "type": [
              "number",
              "string"
            ]
          },
          "y": {
            "type": [
              "number",
              "string"
            ]
          },
          "width": {
            "type": [
              "number",
              "string"
            ]
          },
          "height": {
            "type": [
              "number",
              "string"
            ]
          },
          "name": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "layout": {
            "type": "string",
            "enum": [
              "absolute",
              "flex-row",
              "flex-column"
            ]
          },
          "gap": {
            "type": [
              "number",
              "string"
            ]
          },
          "padding": {
            "type": [
              "number",
              "string"
            ]
          },
          "widthSizing": {
            "type": "string",
            "enum": [
              "fixed",
              "fill",
              "hug"
            ]
          },
          "heightSizing": {
            "type": "string",
            "enum": [
              "fixed",
              "fill",
              "hug"
            ]
          },
          "style": {
            "type": "object"
          }
        },
        "required": [
          "kind"
        ],
        "additionalProperties": false
      }
    }
    create_treeAction

    Create an entire nested styled component tree (frame with children, text, buttons, styles, auto-layout) in a single atomic tool call.

    View tool JSON
    {
      "name": "create_tree",
      "kind": "act",
      "impl": "imperative",
      "description": "Create an entire nested styled component tree (frame with children, text, buttons, styles, auto-layout) in a single atomic tool call.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "parentId": {
            "type": "string"
          },
          "tree": {
            "type": "object"
          },
          "root": {
            "type": "object"
          },
          "kind": {
            "type": "string",
            "enum": [
              "frame",
              "text",
              "rect",
              "button"
            ]
          },
          "name": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "x": {
            "type": [
              "number",
              "string"
            ]
          },
          "y": {
            "type": [
              "number",
              "string"
            ]
          },
          "width": {
            "type": [
              "number",
              "string"
            ]
          },
          "height": {
            "type": [
              "number",
              "string"
            ]
          },
          "layout": {
            "type": "string",
            "enum": [
              "absolute",
              "flex-row",
              "flex-column"
            ]
          },
          "gap": {
            "type": [
              "number",
              "string"
            ]
          },
          "padding": {
            "type": [
              "number",
              "string"
            ]
          },
          "widthSizing": {
            "type": "string",
            "enum": [
              "fixed",
              "fill",
              "hug"
            ]
          },
          "heightSizing": {
            "type": "string",
            "enum": [
              "fixed",
              "fill",
              "hug"
            ]
          },
          "style": {
            "type": "object"
          },
          "styles": {
            "type": "object"
          },
          "children": {
            "type": "array"
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    delete_nodesSensitive Action

    Delete one or more selected layers, including parent frames.

    View tool JSON
    {
      "name": "delete_nodes",
      "kind": "transact",
      "impl": "imperative",
      "description": "Delete one or more selected layers, including parent frames.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string"
          },
          "nodeIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    move_nodesAction

    Move layers by a dx/dy offset. Parent frames move with their children.

    View tool JSON
    {
      "name": "move_nodes",
      "kind": "act",
      "impl": "imperative",
      "description": "Move layers by a dx/dy offset. Parent frames move with their children.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string"
          },
          "nodeIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dx": {
            "type": [
              "number",
              "string"
            ]
          },
          "dy": {
            "type": [
              "number",
              "string"
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    resize_nodeAction

    Change a layer's x, y, width, or height.

    View tool JSON
    {
      "name": "resize_node",
      "kind": "act",
      "impl": "imperative",
      "description": "Change a layer's x, y, width, or height.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string"
          },
          "x": {
            "type": [
              "number",
              "string"
            ]
          },
          "y": {
            "type": [
              "number",
              "string"
            ]
          },
          "width": {
            "type": [
              "number",
              "string"
            ]
          },
          "height": {
            "type": [
              "number",
              "string"
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    select_nodesAction

    Select one or more layers in the shared document.

    View tool JSON
    {
      "name": "select_nodes",
      "kind": "act",
      "impl": "imperative",
      "description": "Select one or more layers in the shared document.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string"
          },
          "nodeIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    capture_previewAction

    Capture a PNG preview of the canvas or selected node so vision models can self-correct.

    View tool JSON
    {
      "name": "capture_preview",
      "kind": "act",
      "impl": "imperative",
      "description": "Capture a PNG preview of the canvas or selected node so vision models can self-correct.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string"
          },
          "format": {
            "type": "string",
            "enum": [
              "png",
              "svg"
            ]
          },
          "scale": {
            "type": [
              "number",
              "string"
            ],
            "minimum": 1,
            "maximum": 3
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    undo_documentAction

    Undo the latest human or agent document edit.

    View tool JSON
    {
      "name": "undo_document",
      "kind": "act",
      "impl": "imperative",
      "description": "Undo the latest human or agent document edit.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    redo_documentAction

    Redo the latest undone document edit.

    View tool JSON
    {
      "name": "redo_document",
      "kind": "act",
      "impl": "imperative",
      "description": "Redo the latest undone document edit.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    import_projectAction

    Open a validated Infinite Canvas project JSON file in the shared document.

    View tool JSON
    {
      "name": "import_project",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a validated Infinite Canvas project JSON file in the shared document.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectJson": {
            "type": "string",
            "maxLength": 8000000
          },
          "operationId": {
            "type": "string"
          }
        },
        "required": [
          "projectJson"
        ],
        "additionalProperties": false
      }
    }
    export_designAction

    Export the visible design as a downloadable PNG, SVG, HTML, or project JSON artifact.

    View tool JSON
    {
      "name": "export_design",
      "kind": "act",
      "impl": "imperative",
      "description": "Export the visible design as a downloadable PNG, SVG, HTML, or project JSON artifact.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "format": {
            "type": "string",
            "enum": [
              "png",
              "svg",
              "html",
              "json"
            ]
          },
          "nodeId": {
            "type": "string"
          },
          "scale": {
            "type": "number",
            "minimum": 1,
            "maximum": 3
          },
          "filename": {
            "type": "string",
            "maxLength": 120
          },
          "includeReferences": {
            "type": "boolean"
          },
          "baseRevision": {
            "type": "number"
          },
          "operationId": {
            "type": "string"
          }
        },
        "required": [
          "format"
        ],
        "additionalProperties": false
      }
    }
    reset_documentAction

    Return to the default seeded document.

    View tool JSON
    {
      "name": "reset_document",
      "kind": "act",
      "impl": "imperative",
      "description": "Return to the default seeded document.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }