← WebMCP Directory

Tool tree

commandcanvas.vercel.app

Productivity & BusinessTools verified
Website
Try a sketch and its linked diagram, create and arrange objects, and inspect your changes. No account or API key required.
Explore capabilities
    get_canvas_stateAnswer

    Read a compact semantic projection of the live canvas, current selection, and recent activity receipts without changing the room. Call this with scope selected before acting when the user says this, that, or the selected object; use the returned stable object ID in the next tool call.

    View tool JSON
    {
      "name": "get_canvas_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read a compact semantic projection of the live canvas, current selection, and recent activity receipts without changing the room. Call this with scope selected before acting when the user says this, that, or the selected object; use the returned stable object ID in the next tool call.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "all",
              "selected"
            ]
          },
          "includeReceipts": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "page": "/local"
    }
    create_objectAction

    Create one note, task board, schedule, diagram, chart, data table, reference card, decision, action item, summary, risk, or open-question card from compact semantic content. CommandCanvas assigns safe IDs, geometry, z-order, and nested IDs, so use this directly for ordinary creation requests without reading the canvas first. To create a visual from the user's spoken explanation of a selected sketch without image inference, first read the selected state, pass its ID as sourceSketchId, and CommandCanvas will preserve the sketch and place the linked visual beside it.

    View tool JSON
    {
      "name": "create_object",
      "kind": "act",
      "impl": "imperative",
      "description": "Create one note, task board, schedule, diagram, chart, data table, reference card, decision, action item, summary, risk, or open-question card from compact semantic content. CommandCanvas assigns safe IDs, geometry, z-order, and nested IDs, so use this directly for ordinary creation requests without reading the canvas first. To create a visual from the user's spoken explanation of a selected sketch without image inference, first read the selected state, pass its ID as sourceSketchId, and CommandCanvas will preserve the sketch and place the linked visual beside it.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "note"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "text": {
                "type": "string",
                "maxLength": 4000
              },
              "tone": {
                "type": "string",
                "enum": [
                  "coral",
                  "sky",
                  "sand",
                  "violet"
                ]
              },
              "placement": {
                "type": "string",
                "enum": [
                  "current_viewport",
                  "right_of_selection"
                ]
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "task_board"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "columns": {
                "minItems": 1,
                "maxItems": 5,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 60
                    },
                    "tasks": {
                      "maxItems": 24,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "title": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 180
                          },
                          "owner": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 80
                          },
                          "dueDate": {
                            "type": "string",
                            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                          },
                          "priority": {
                            "type": "string",
                            "enum": [
                              "low",
                              "medium",
                              "high"
                            ]
                          }
                        },
                        "required": [
                          "title"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "title",
                    "tasks"
                  ],
                  "additionalProperties": false
                }
              },
              "placement": {
                "type": "string",
                "enum": [
                  "current_viewport",
                  "right_of_selection"
                ]
              }
            },
            "required": [
              "type",
              "title",
              "columns"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "schedule"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "timezone": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "days": {
                "minItems": 1,
                "maxItems": 14,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "date": {
                      "type": "string",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 30
                    },
                    "entries": {
                      "maxItems": 16,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "time": {
                            "type": "string",
                            "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
                          },
                          "title": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 180
                          },
                          "owner": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 80
                          }
                        },
                        "required": [
                          "time",
                          "title"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "date",
                    "label",
                    "entries"
                  ],
                  "additionalProperties": false
                }
              },
              "placement": {
                "type": "string",
                "enum": [
                  "current_viewport",
                  "right_of_selection"
                ]
              }
            },
            "required": [
              "type",
              "title",
              "timezone",
              "days"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "diagram"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "kind": {
                "type": "string",
                "enum": [
                  "architecture",
                  "flowchart",
                  "diagram"
                ]
              },
              "sourceSketchId": {
                "type": "string",
                "minLength": 2,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9-]*$"
              },
              "summary": {
                "type": "string",
                "minLength": 1,
                "maxLength": 600
              },
              "nodes": {
                "minItems": 1,
                "maxItems": 30,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 96,
                      "pattern": "^[a-z][a-z0-9-]*$"
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 120
                    },
                    "kind": {
                      "type": "string",
                      "enum": [
                        "client",
                        "service",
                        "database",
                        "queue",
                        "external",
                        "concept",
                        "process",
                        "decision"
                      ]
                    }
                  },
                  "required": [
                    "key",
                    "label",
                    "kind"
                  ],
                  "additionalProperties": false
                }
              },
              "edges": {
                "default": [],
                "maxItems": 60,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "from": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 96,
                      "pattern": "^[a-z][a-z0-9-]*$"
                    },
                    "to": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 96,
                      "pattern": "^[a-z][a-z0-9-]*$"
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    }
                  },
                  "required": [
                    "from",
                    "to"
                  ],
                  "additionalProperties": false
                }
              },
              "placement": {
                "type": "string",
                "enum": [
                  "current_viewport",
                  "right_of_selection"
                ]
              }
            },
            "required": [
              "type",
              "title",
              "kind",
              "nodes",
              "edges"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "chart"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "kind": {
                "type": "string",
                "enum": [
                  "pie_chart",
                  "bar_chart",
                  "line_chart"
                ]
              },
              "sourceSketchId": {
                "type": "string",
                "minLength": 2,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9-]*$"
              },
              "summary": {
                "type": "string",
                "minLength": 1,
                "maxLength": 600
              },
              "xAxisLabel": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 80
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "yAxisLabel": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 80
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "series": {
                "minItems": 1,
                "maxItems": 6,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "label": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 80
                    },
                    "points": {
                      "minItems": 1,
                      "maxItems": 24,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "label": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 80
                          },
                          "value": {
                            "type": "number",
                            "minimum": -1000000000000,
                            "maximum": 1000000000000
                          }
                        },
                        "required": [
                          "label",
                          "value"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "label",
                    "points"
                  ],
                  "additionalProperties": false
                }
              },
              "placement": {
                "type": "string",
                "enum": [
                  "current_viewport",
                  "right_of_selection"
                ]
              }
            },
            "required": [
              "type",
              "title",
              "kind",
              "series"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "data_table"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "columns": {
                "minItems": 1,
                "maxItems": 12,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "label": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 80
                    },
                    "kind": {
                      "type": "string",
                      "enum": [
                        "text",
                        "number",
                        "currency",
                        "percentage",
                        "date"
                      ]
                    }
                  },
                  "required": [
                    "label",
                    "kind"
                  ],
                  "additionalProperties": false
                }
              },
              "rows": {
                "maxItems": 50,
                "type": "array",
                "items": {
                  "maxItems": 12,
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 500
                      },
                      {
                        "type": "number",
                        "minimum": -1000000000000,
                        "maximum": 1000000000000
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                }
              },
              "placement": {
                "type": "string",
                "enum": [
                  "current_viewport",
                  "right_of_selection"
                ]
              }
            },
            "required": [
              "type",
              "title",
              "columns",
              "rows"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "reference_card"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "kind": {
                "type": "string",
                "enum": [
                  "article",
                  "document",
                  "image",
                  "link"
                ]
              },
              "sourceUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 2048,
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "summary": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1200
              },
              "excerpt": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1200
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "placement": {
                "type": "string",
                "enum": [
                  "current_viewport",
                  "right_of_selection"
                ]
              }
            },
            "required": [
              "type",
              "title",
              "kind",
              "summary"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "meeting_card"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "kind": {
                "type": "string",
                "enum": [
                  "decision",
                  "action_item",
                  "summary",
                  "risk",
                  "open_question"
                ]
              },
              "body": {
                "type": "string",
                "minLength": 1,
                "maxLength": 4000
              },
              "bullets": {
                "default": [],
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                }
              },
              "owner": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 80
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "dueDate": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "proposed",
                  "confirmed",
                  "open",
                  "in_progress",
                  "done",
                  "blocked"
                ]
              },
              "placement": {
                "type": "string",
                "enum": [
                  "current_viewport",
                  "right_of_selection"
                ]
              }
            },
            "required": [
              "type",
              "title",
              "kind",
              "body",
              "bullets"
            ],
            "additionalProperties": false
          }
        ]
      },
      "page": "/local"
    }
    update_object_contentAction

    Append bounded text to one active note or thought through the versioned mutation pipeline. Provide a stable objectId, or omit it only after get_canvas_state with scope selected confirms the intended note; this cannot replace content or apply arbitrary JSON patches.

    View tool JSON
    {
      "name": "update_object_content",
      "kind": "act",
      "impl": "imperative",
      "description": "Append bounded text to one active note or thought through the versioned mutation pipeline. Provide a stable objectId, or omit it only after get_canvas_state with scope selected confirms the intended note; this cannot replace content or apply arbitrary JSON patches.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 2,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9-]*$"
          },
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1000
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "page": "/local"
    }
    transform_objectAction

    Move, resize, or rotate one existing, unpinned canvas object through the canonical mutation pipeline. When the user says this or that, first read the selected canvas state and then use that stable object ID.

    View tool JSON
    {
      "name": "transform_object",
      "kind": "act",
      "impl": "imperative",
      "description": "Move, resize, or rotate one existing, unpinned canvas object through the canonical mutation pipeline. When the user says this or that, first read the selected canvas state and then use that stable object ID.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 2,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9-]*$"
          },
          "expectedVersion": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000000000
          },
          "transform": {
            "type": "object",
            "properties": {
              "x": {
                "type": "number",
                "minimum": -1000000,
                "maximum": 1000000
              },
              "y": {
                "type": "number",
                "minimum": -1000000,
                "maximum": 1000000
              },
              "width": {
                "type": "number",
                "minimum": 160,
                "maximum": 2000
              },
              "height": {
                "type": "number",
                "minimum": 80,
                "maximum": 1400
              },
              "rotation": {
                "type": "number",
                "minimum": -180,
                "maximum": 180
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "objectId",
          "expectedVersion",
          "transform"
        ],
        "additionalProperties": false
      },
      "page": "/local"
    }
    set_object_stateAction

    Pin, unpin, minimize, or restore one existing canvas object and record the resulting receipt. Resolve this, that, or selected through get_canvas_state before using its stable object ID.

    View tool JSON
    {
      "name": "set_object_state",
      "kind": "act",
      "impl": "imperative",
      "description": "Pin, unpin, minimize, or restore one existing canvas object and record the resulting receipt. Resolve this, that, or selected through get_canvas_state before using its stable object ID.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 2,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9-]*$"
          },
          "expectedVersion": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000000000
          },
          "state": {
            "type": "object",
            "properties": {
              "minimized": {
                "type": "boolean"
              },
              "pinned": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "objectId",
          "expectedVersion",
          "state"
        ],
        "additionalProperties": false
      },
      "page": "/local"
    }
    discard_objectAction

    Move one explicit canvas object to recoverable trash; this never performs permanent deletion. Resolve this, that, or selected through get_canvas_state before using its stable object ID.

    View tool JSON
    {
      "name": "discard_object",
      "kind": "act",
      "impl": "imperative",
      "description": "Move one explicit canvas object to recoverable trash; this never performs permanent deletion. Resolve this, that, or selected through get_canvas_state before using its stable object ID.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 2,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9-]*$"
          },
          "expectedVersion": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000000000
          }
        },
        "required": [
          "objectId",
          "expectedVersion"
        ],
        "additionalProperties": false
      },
      "page": "/local"
    }
    organize_objectsAction

    Group explicit canvas objects inside a semantic frame, or ungroup an existing frame, through one reversible mutation.

    View tool JSON
    {
      "name": "organize_objects",
      "kind": "act",
      "impl": "imperative",
      "description": "Group explicit canvas objects inside a semantic frame, or ungroup an existing frame, through one reversible mutation.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "action": {
                "type": "string",
                "const": "group"
              },
              "objectIds": {
                "minItems": 1,
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 96,
                  "pattern": "^[a-z][a-z0-9-]*$"
                }
              },
              "expectedVersions": {
                "minItems": 1,
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "objectId": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 96,
                      "pattern": "^[a-z][a-z0-9-]*$"
                    },
                    "expectedVersion": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 1000000000
                    }
                  },
                  "required": [
                    "objectId",
                    "expectedVersion"
                  ],
                  "additionalProperties": false
                }
              },
              "frame": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 96,
                    "pattern": "^[a-z][a-z0-9-]*$"
                  },
                  "title": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 120
                  },
                  "x": {
                    "type": "number",
                    "minimum": -1000000,
                    "maximum": 1000000
                  },
                  "y": {
                    "type": "number",
                    "minimum": -1000000,
                    "maximum": 1000000
                  },
                  "width": {
                    "type": "number",
                    "minimum": 160,
                    "maximum": 2000
                  },
                  "height": {
                    "type": "number",
                    "minimum": 80,
                    "maximum": 1400
                  },
                  "zIndex": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 100000
                  },
                  "tone": {
                    "type": "string",
                    "enum": [
                      "coral",
                      "sky",
                      "sand",
                      "violet"
                    ]
                  }
                },
                "required": [
                  "id",
                  "title",
                  "x",
                  "y",
                  "width",
                  "height",
                  "zIndex",
                  "tone"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "action",
              "objectIds",
              "expectedVersions",
              "frame"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "type": "string",
                "const": "ungroup"
              },
              "frameId": {
                "type": "string",
                "minLength": 2,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9-]*$"
              },
              "expectedVersion": {
                "type": "integer",
                "minimum": 1,
                "maximum": 1000000000
              }
            },
            "required": [
              "action",
              "frameId",
              "expectedVersion"
            ],
            "additionalProperties": false
          }
        ]
      },
      "page": "/local"
    }
    history_actionAction

    Undo or redo the latest reversible shared canvas mutation and record an attributable history receipt.

    View tool JSON
    {
      "name": "history_action",
      "kind": "act",
      "impl": "imperative",
      "description": "Undo or redo the latest reversible shared canvas mutation and record an attributable history receipt.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "undo",
              "redo"
            ]
          }
        },
        "required": [
          "action"
        ],
        "additionalProperties": false
      },
      "page": "/local"
    }
    transform_sketchAction

    Interpret a selected sketch into a new structured diagram or chart beside it while preserving the source sketch. Omit outputKind or use auto when the image, narration, and instruction should determine the concrete visual family.

    View tool JSON
    {
      "name": "transform_sketch",
      "kind": "act",
      "impl": "imperative",
      "description": "Interpret a selected sketch into a new structured diagram or chart beside it while preserving the source sketch. Omit outputKind or use auto when the image, narration, and instruction should determine the concrete visual family.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sketchId": {
            "type": "string",
            "minLength": 2,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9-]*$"
          },
          "instruction": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "narration": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4000
          },
          "outputKind": {
            "anyOf": [
              {
                "type": "string",
                "const": "auto"
              },
              {
                "type": "string",
                "enum": [
                  "architecture",
                  "flowchart",
                  "diagram",
                  "pie_chart",
                  "bar_chart",
                  "line_chart"
                ]
              }
            ]
          }
        },
        "required": [
          "sketchId",
          "instruction"
        ],
        "additionalProperties": false
      },
      "page": "/local"
    }
    prepare_meeting_packetAction

    Create or refresh a reviewable meeting-packet draft from current semantic canvas objects; this does not approve or send it.

    View tool JSON
    {
      "name": "prepare_meeting_packet",
      "kind": "act",
      "impl": "imperative",
      "description": "Create or refresh a reviewable meeting-packet draft from current semantic canvas objects; this does not approve or send it.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "objectIds": {
            "minItems": 1,
            "maxItems": 50,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 2,
              "maxLength": 96,
              "pattern": "^[a-z][a-z0-9-]*$"
            }
          }
        },
        "additionalProperties": false
      },
      "page": "/local"
    }
    request_packet_sendSensitive Action

    Stage an approved meeting packet for explicit host confirmation. This tool never sends email by itself and cannot override the approved recipient snapshot.

    View tool JSON
    {
      "name": "request_packet_send",
      "kind": "transact",
      "impl": "imperative",
      "description": "Stage an approved meeting packet for explicit host confirmation. This tool never sends email by itself and cannot override the approved recipient snapshot.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "packetId": {
            "type": "string",
            "minLength": 2,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9-]*$"
          }
        },
        "required": [
          "packetId"
        ],
        "additionalProperties": false
      },
      "page": "/local"
    }
    control_workspaceAction

    Control the current participant's local canvas view or drawing session. Start, finish, or cancel drawing; zoom, fit, focus, or restore the viewport. These local controls never discard objects, approve packets, send email, or fabricate a shared mutation receipt.

    View tool JSON
    {
      "name": "control_workspace",
      "kind": "act",
      "impl": "imperative",
      "description": "Control the current participant's local canvas view or drawing session. Start, finish, or cancel drawing; zoom, fit, focus, or restore the viewport. These local controls never discard objects, approve packets, send email, or fabricate a shared mutation receipt.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "start_drawing",
              "finish_drawing",
              "cancel_drawing",
              "zoom_in",
              "zoom_out",
              "set_zoom",
              "fit_all",
              "fit_selected",
              "focus_selected",
              "restore_view"
            ]
          },
          "scale": {
            "type": "number",
            "minimum": 0.15,
            "maximum": 4
          }
        },
        "required": [
          "action"
        ],
        "additionalProperties": false
      },
      "page": "/local"
    }