Tool tree
gradeNot graded
get_canvas_stateAnswer
Return Frame artboard size, object summaries, and current selection.
View tool JSON
{
"name": "get_canvas_state",
"kind": "answer",
"impl": "imperative",
"description": "Return Frame artboard size, object summaries, and current selection.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/frame-webmcp/"
}list_objectsAnswer
List all canvas objects with id, type, name, and bounds.
View tool JSON
{
"name": "list_objects",
"kind": "answer",
"impl": "imperative",
"description": "List all canvas objects with id, type, name, and bounds.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/frame-webmcp/"
}add_rectAction
Create a rectangle on the Frame artboard. Optional x,y,w,h,fill,stroke,name.
View tool JSON
{
"name": "add_rect",
"kind": "act",
"impl": "imperative",
"description": "Create a rectangle on the Frame artboard. Optional x,y,w,h,fill,stroke,name.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"w": {
"type": "number"
},
"h": {
"type": "number"
},
"fill": {
"type": "string"
},
"stroke": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"page": "/frame-webmcp/"
}add_ellipseAction
Create an ellipse on the Frame artboard.
View tool JSON
{
"name": "add_ellipse",
"kind": "act",
"impl": "imperative",
"description": "Create an ellipse on the Frame artboard.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"w": {
"type": "number"
},
"h": {
"type": "number"
},
"fill": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"page": "/frame-webmcp/"
}add_textAction
Create a text object. Optional text, fontSize, x,y,w,h,fill.
View tool JSON
{
"name": "add_text",
"kind": "act",
"impl": "imperative",
"description": "Create a text object. Optional text, fontSize, x,y,w,h,fill.",
"inputSchema": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"fontSize": {
"type": "number"
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"w": {
"type": "number"
},
"h": {
"type": "number"
},
"fill": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"page": "/frame-webmcp/"
}update_objectAction
Patch any props on an object by id (x,y,w,h,rotation,fill,stroke,opacity,text,fontSize,name).
View tool JSON
{
"name": "update_object",
"kind": "act",
"impl": "imperative",
"description": "Patch any props on an object by id (x,y,w,h,rotation,fill,stroke,opacity,text,fontSize,name).",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"w": {
"type": "number"
},
"h": {
"type": "number"
},
"rotation": {
"type": "number"
},
"fill": {
"type": "string"
},
"stroke": {
"type": "string"
},
"opacity": {
"type": "number"
},
"text": {
"type": "string"
},
"fontSize": {
"type": "number"
},
"name": {
"type": "string"
}
},
"required": [
"id"
]
},
"page": "/frame-webmcp/"
}set_textAction
Set text content and optional fontSize on a text object.
View tool JSON
{
"name": "set_text",
"kind": "act",
"impl": "imperative",
"description": "Set text content and optional fontSize on a text object.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"fontSize": {
"type": "number"
}
},
"required": [
"id"
]
},
"page": "/frame-webmcp/"
}set_fillAction
Set fill color (CSS color string) on an object.
View tool JSON
{
"name": "set_fill",
"kind": "act",
"impl": "imperative",
"description": "Set fill color (CSS color string) on an object.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"fill": {
"type": "string"
}
},
"required": [
"id",
"fill"
]
},
"page": "/frame-webmcp/"
}set_strokeAction
Set stroke color and optional strokeWidth.
View tool JSON
{
"name": "set_stroke",
"kind": "act",
"impl": "imperative",
"description": "Set stroke color and optional strokeWidth.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"stroke": {
"type": "string"
},
"strokeWidth": {
"type": "number"
}
},
"required": [
"id",
"stroke"
]
},
"page": "/frame-webmcp/"
}move_objectAction
Move an object to absolute x,y on the artboard.
View tool JSON
{
"name": "move_object",
"kind": "act",
"impl": "imperative",
"description": "Move an object to absolute x,y on the artboard.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"required": [
"id",
"x",
"y"
]
},
"page": "/frame-webmcp/"
}resize_objectAction
Resize an object to width w and height h.
View tool JSON
{
"name": "resize_object",
"kind": "act",
"impl": "imperative",
"description": "Resize an object to width w and height h.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"w": {
"type": "number"
},
"h": {
"type": "number"
}
},
"required": [
"id",
"w",
"h"
]
},
"page": "/frame-webmcp/"
}rotate_objectAction
Set rotation in degrees.
View tool JSON
{
"name": "rotate_object",
"kind": "act",
"impl": "imperative",
"description": "Set rotation in degrees.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"rotation": {
"type": "number"
}
},
"required": [
"id",
"rotation"
]
},
"page": "/frame-webmcp/"
}align_selectionAction
Align selection (or given ids) left|center|right|top|middle|bottom.
View tool JSON
{
"name": "align_selection",
"kind": "act",
"impl": "imperative",
"description": "Align selection (or given ids) left|center|right|top|middle|bottom.",
"inputSchema": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"left",
"center",
"right",
"top",
"middle",
"bottom"
]
},
"ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"mode"
]
},
"page": "/frame-webmcp/"
}duplicate_objectAction
Duplicate an object by id; returns the new object.
View tool JSON
{
"name": "duplicate_object",
"kind": "act",
"impl": "imperative",
"description": "Duplicate an object by id; returns the new object.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
},
"page": "/frame-webmcp/"
}delete_objectSensitive Action
Delete an object by id. Consequential side effect — not read-only.
View tool JSON
{
"name": "delete_object",
"kind": "transact",
"impl": "imperative",
"description": "Delete an object by id. Consequential side effect — not read-only.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
},
"page": "/frame-webmcp/"
}reorder_objectAction
Change z-order: forward|backward|front|back.
View tool JSON
{
"name": "reorder_object",
"kind": "act",
"impl": "imperative",
"description": "Change z-order: forward|backward|front|back.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"forward",
"backward",
"front",
"back"
]
}
},
"required": [
"id",
"mode"
]
},
"page": "/frame-webmcp/"
}select_objectsAction
Select objects by id list (empty clears selection).
View tool JSON
{
"name": "select_objects",
"kind": "act",
"impl": "imperative",
"description": "Select objects by id list (empty clears selection).",
"inputSchema": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"ids"
]
},
"page": "/frame-webmcp/"
}suggest_layoutAction
Suggest a tidy card/title layout for current objects. Pass apply=true to write positions via updates. Soft/read-only when apply is false.
View tool JSON
{
"name": "suggest_layout",
"kind": "act",
"impl": "imperative",
"description": "Suggest a tidy card/title layout for current objects. Pass apply=true to write positions via updates. Soft/read-only when apply is false.",
"inputSchema": {
"type": "object",
"properties": {
"apply": {
"type": "boolean",
"description": "If true, apply suggestions to the canvas"
}
}
},
"page": "/frame-webmcp/"
}clear_canvasAction
Remove all objects from the artboard. Consequential — not read-only.
View tool JSON
{
"name": "clear_canvas",
"kind": "act",
"impl": "imperative",
"description": "Remove all objects from the artboard. Consequential — not read-only.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/frame-webmcp/"
}export_pngAction
Trigger a PNG download of the artboard (side effect). Returns ok; data URL is not inlined.
View tool JSON
{
"name": "export_png",
"kind": "act",
"impl": "imperative",
"description": "Trigger a PNG download of the artboard (side effect). Returns ok; data URL is not inlined.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/frame-webmcp/"
}