← WebMCP Directory

Tool tree

aimural.300robots.com

Productivity & BusinessTools verified
Website
A local-first visual thinking canvas that humans and WebMCP agents can shape together.
Explore capabilities
    canvas_create_muralAction

    Creates a new cloud-backed mural, makes the calling agent its session moderator, and returns separate owner and human-user access. Use this when the user asks for a new online mural.

    View tool JSON
    {
      "name": "canvas_create_mural",
      "kind": "act",
      "impl": "imperative",
      "description": "Creates a new cloud-backed mural, makes the calling agent its session moderator, and returns separate owner and human-user access. Use this when the user asks for a new online mural.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Short mural name or challenge."
          },
          "creatorAgentId": {
            "type": "string",
            "description": "Stable unique ID for the creating GPT or agent."
          },
          "creatorAgentName": {
            "type": "string",
            "description": "Visible creator name."
          },
          "specialty": {
            "type": "string",
            "description": "Visible moderator specialty."
          }
        },
        "required": [
          "name",
          "creatorAgentId",
          "creatorAgentName"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_get_boardAnswer

    Returns every visual element and connector on the current board. Call this before modifying an existing board.

    View tool JSON
    {
      "name": "canvas_get_board",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns every visual element and connector on the current board. Call this before modifying an existing board.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_rename_muralAction

    Changes the mural name shown beside the Canvas Relay logo and in exports. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_rename_mural",
      "kind": "act",
      "impl": "imperative",
      "description": "Changes the mural name shown beside the Canvas Relay logo and in exports. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 80
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "name",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_add_elementAction

    Adds one idea, question, insight, action, or frame to the board at an optional canvas position. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_add_element",
      "kind": "act",
      "impl": "imperative",
      "description": "Adds one idea, question, insight, action, or frame to the board at an optional canvas position. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Concise title, maximum 120 characters."
          },
          "body": {
            "type": "string",
            "description": "Supporting detail, maximum 800 characters."
          },
          "kind": {
            "type": "string",
            "enum": [
              "idea",
              "question",
              "insight",
              "action",
              "frame",
              "artifact"
            ]
          },
          "color": {
            "type": "string",
            "enum": [
              "paper",
              "sun",
              "mint",
              "sky",
              "rose"
            ]
          },
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "cluster": {
            "type": "string",
            "description": "Optional semantic group name."
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "title",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_add_elementsAction

    Adds up to 30 brainstorm elements in one atomic board action. Useful for divergent ideation. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_add_elements",
      "kind": "act",
      "impl": "imperative",
      "description": "Adds up to 30 brainstorm elements in one atomic board action. Useful for divergent ideation. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "elements": {
            "type": "array",
            "minItems": 1,
            "maxItems": 30,
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "body": {
                  "type": "string"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "idea",
                    "question",
                    "insight",
                    "action",
                    "frame",
                    "artifact"
                  ]
                },
                "color": {
                  "type": "string",
                  "enum": [
                    "paper",
                    "sun",
                    "mint",
                    "sky",
                    "rose"
                  ]
                },
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                },
                "cluster": {
                  "type": "string"
                }
              },
              "required": [
                "title"
              ],
              "additionalProperties": false
            }
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "elements",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_update_elementAction

    Edits content, type, color, votes, cluster, or position of one existing element. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_update_element",
      "kind": "act",
      "impl": "imperative",
      "description": "Edits content, type, color, votes, cluster, or position of one existing element. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "idea",
              "question",
              "insight",
              "action",
              "frame",
              "artifact"
            ]
          },
          "color": {
            "type": "string",
            "enum": [
              "paper",
              "sun",
              "mint",
              "sky",
              "rose"
            ]
          },
          "votes": {
            "type": "number",
            "minimum": 0
          },
          "cluster": {
            "type": "string"
          },
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "id",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_connect_elementsAction

    Draws a semantic connector from one existing element to another, with an optional label. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_connect_elements",
      "kind": "act",
      "impl": "imperative",
      "description": "Draws a semantic connector from one existing element to another, with an optional label. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sourceId": {
            "type": "string"
          },
          "targetId": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "sourceId",
          "targetId",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_remove_elementsAction

    Removes specified elements and their connectors. Only use when the user clearly asks to delete board content. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_remove_elements",
      "kind": "act",
      "impl": "imperative",
      "description": "Removes specified elements and their connectors. Only use when the user clearly asks to delete board content. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "ids",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_arrange_boardAction

    Repositions all non-frame elements into a grid, semantic columns, radial map, or compact stack. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_arrange_board",
      "kind": "act",
      "impl": "imperative",
      "description": "Repositions all non-frame elements into a grid, semantic columns, radial map, or compact stack. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "layout": {
            "type": "string",
            "enum": [
              "grid",
              "columns",
              "radial",
              "stacked"
            ]
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "layout",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_create_clusterAction

    Groups existing elements in a labeled container and optionally arranges its contents. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_create_cluster",
      "kind": "act",
      "impl": "imperative",
      "description": "Groups existing elements in a labeled container and optionally arranges its contents. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "elementIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "layout": {
            "type": "string",
            "enum": [
              "none",
              "grid",
              "columns",
              "stacked"
            ],
            "description": "Optional arrangement inside the new container."
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "name",
          "elementIds",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_focus_elementsAction

    Selects and brings specified elements into view without changing board content.

    View tool JSON
    {
      "name": "canvas_focus_elements",
      "kind": "act",
      "impl": "imperative",
      "description": "Selects and brings specified elements into view without changing board content.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_set_focusAction

    Raises a visible editing or reviewing intent on selected elements. Editing claims block conflicting agent writes until released or expired. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_set_focus",
      "kind": "act",
      "impl": "imperative",
      "description": "Raises a visible editing or reviewing intent on selected elements. Editing claims block conflicting agent writes until released or expired. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "enum": [
              "editing",
              "reviewing",
              "released"
            ]
          },
          "elementIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50
          },
          "intent": {
            "type": "string",
            "maxLength": 240,
            "description": "Short visible description of the work being done."
          },
          "leaseSeconds": {
            "type": "number",
            "minimum": 10,
            "maximum": 180,
            "description": "Lease duration. Default 45 seconds."
          },
          "releaseOnAction": {
            "type": "string",
            "enum": [
              "after_write",
              "manual"
            ],
            "description": "Default after_write. Manual focus must be renewed or explicitly released."
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "state",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_set_element_layerAction

    Moves one visual element to the front, forward, backward, or to the back of the mural stack. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_set_element_layer",
      "kind": "act",
      "impl": "imperative",
      "description": "Moves one visual element to the front, forward, backward, or to the back of the mural stack. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Element ID."
          },
          "action": {
            "type": "string",
            "enum": [
              "front",
              "forward",
              "backward",
              "back"
            ]
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "id",
          "action",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_create_artifactAction

    Creates a structured table, card collection, checklist, matrix, or custom artifact from the Canvas Relay Artifact Spec 1.0. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_create_artifact",
      "kind": "act",
      "impl": "imperative",
      "description": "Creates a structured table, card collection, checklist, matrix, or custom artifact from the Canvas Relay Artifact Spec 1.0. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "spec": {
            "type": "object",
            "description": "Artifact Spec 1.0 with title, fields, primitive records, and presentation settings.",
            "required": [
              "specVersion",
              "artifactType",
              "title",
              "fields",
              "records",
              "presentation"
            ],
            "properties": {
              "specVersion": {
                "const": "1.0"
              },
              "artifactType": {
                "type": "string",
                "enum": [
                  "table",
                  "cards",
                  "checklist",
                  "matrix",
                  "custom"
                ]
              },
              "title": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "fields": {
                "type": "array",
                "minItems": 1,
                "maxItems": 12,
                "items": {
                  "type": "object",
                  "required": [
                    "key",
                    "label",
                    "type"
                  ],
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "text",
                        "number",
                        "status",
                        "tag",
                        "boolean",
                        "date",
                        "url"
                      ]
                    },
                    "required": {
                      "type": "boolean"
                    },
                    "options": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "records": {
                "type": "array",
                "maxItems": 100,
                "items": {
                  "type": "object"
                }
              },
              "presentation": {
                "type": "object",
                "required": [
                  "layout"
                ],
                "properties": {
                  "layout": {
                    "type": "string",
                    "enum": [
                      "table",
                      "grid",
                      "list"
                    ]
                  },
                  "density": {
                    "type": "string",
                    "enum": [
                      "compact",
                      "comfortable"
                    ]
                  },
                  "visibleFields": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "spec",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_get_artifact_specAnswer

    Returns the complete reusable spec, field definitions, primitive data, and presentation for one artifact.

    View tool JSON
    {
      "name": "canvas_get_artifact_spec",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the complete reusable spec, field definitions, primitive data, and presentation for one artifact.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Artifact element ID."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_update_artifact_recordsAction

    Replaces or appends primitive records in an existing structured artifact while preserving its field schema. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_update_artifact_records",
      "kind": "act",
      "impl": "imperative",
      "description": "Replaces or appends primitive records in an existing structured artifact while preserving its field schema. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "mode": {
            "type": "string",
            "enum": [
              "replace",
              "append"
            ]
          },
          "records": {
            "type": "array",
            "maxItems": 100,
            "items": {
              "type": "object",
              "description": "Keys must match the artifact fields. Values must be string, number, boolean, or null."
            }
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "id",
          "records",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_start_recordingAction

    Creates an append-only decision trace for this mural. The agent that starts it becomes the moderator.

    View tool JSON
    {
      "name": "canvas_start_recording",
      "kind": "act",
      "impl": "imperative",
      "description": "Creates an append-only decision trace for this mural. The agent that starts it becomes the moderator.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "moderatorAgentId": {
            "type": "string",
            "description": "Stable ID of the creating agent."
          },
          "moderatorAgentName": {
            "type": "string",
            "description": "Visible name of the creating agent."
          },
          "specialty": {
            "type": "string",
            "description": "The moderator agent role or specialty."
          }
        },
        "required": [
          "muralId",
          "moderatorAgentId",
          "moderatorAgentName"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_invite_agentsAction

    Creates one private invite capability and URL per named agent. Only the hosted mural owner can do this. Return each invite only to its intended agent.

    View tool JSON
    {
      "name": "canvas_invite_agents",
      "kind": "act",
      "impl": "imperative",
      "description": "Creates one private invite capability and URL per named agent. Only the hosted mural owner can do this. Return each invite only to its intended agent.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "muralId": {
            "type": "string"
          },
          "ownerToken": {
            "type": "string",
            "description": "Private owner capability returned by canvas_create_mural."
          },
          "guests": {
            "type": "array",
            "minItems": 1,
            "maxItems": 20,
            "items": {
              "type": "object",
              "required": [
                "agentId",
                "agentName"
              ],
              "properties": {
                "agentId": {
                  "type": "string"
                },
                "agentName": {
                  "type": "string"
                },
                "specialty": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "required": [
          "muralId",
          "ownerToken",
          "guests"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_redeem_agent_inviteAction

    Redeems the private invitation in the current agent URL or supplied input, loads the hosted mural, and joins the visible decision trace.

    View tool JSON
    {
      "name": "canvas_redeem_agent_invite",
      "kind": "act",
      "impl": "imperative",
      "description": "Redeems the private invitation in the current agent URL or supplied input, loads the hosted mural, and joins the visible decision trace.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "muralId": {
            "type": "string"
          },
          "inviteToken": {
            "type": "string",
            "description": "Private token from the agent invitation URL. Omit when it is already in the current URL fragment."
          }
        },
        "required": [
          "muralId"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_join_sessionAction

    Registers an agent as a visible participant. Call this before contributing so the human and other agents know who is present.

    View tool JSON
    {
      "name": "canvas_join_session",
      "kind": "act",
      "impl": "imperative",
      "description": "Registers an agent as a visible participant. Call this before contributing so the human and other agents know who is present.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable declared participant ID."
          },
          "agentName": {
            "type": "string",
            "description": "Short human-readable agent name."
          },
          "specialty": {
            "type": "string",
            "description": "Role such as researcher, critic, strategist, or synthesizer."
          },
          "agentToken": {
            "type": "string",
            "description": "Required only to reclaim an existing participant ID in this page."
          }
        },
        "required": [
          "muralId",
          "agentId",
          "agentName"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_moderate_participantAction

    Lets the agent that created the session mute or reactivate another participant. Muted agents cannot mutate the mural or add contributions.

    View tool JSON
    {
      "name": "canvas_moderate_participant",
      "kind": "act",
      "impl": "imperative",
      "description": "Lets the agent that created the session mute or reactivate another participant. Muted agents cannot mutate the mural or add contributions.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "moderatorId": {
            "type": "string",
            "description": "ID of the agent that created the session."
          },
          "moderatorToken": {
            "type": "string",
            "description": "Private moderator capability returned when the session was created."
          },
          "participantId": {
            "type": "string",
            "description": "Participant to mute or reactivate."
          },
          "muted": {
            "type": "boolean"
          }
        },
        "required": [
          "muralId",
          "moderatorId",
          "moderatorToken",
          "participantId",
          "muted"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_record_contributionAction

    Appends a visible proposal, question, critique, evidence, decision, reasoning summary, or result to the shared decision trace. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_record_contribution",
      "kind": "act",
      "impl": "imperative",
      "description": "Appends a visible proposal, question, critique, evidence, decision, reasoning summary, or result to the shared decision trace. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentName": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "proposal",
              "question",
              "critique",
              "evidence",
              "decision",
              "note",
              "reasoning_summary",
              "result"
            ]
          },
          "content": {
            "type": "string",
            "description": "Explicitly shared contribution. Never include hidden chain-of-thought, secrets, or credentials."
          },
          "replyTo": {
            "type": "string",
            "description": "Optional earlier event ID."
          },
          "relatedElementIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "agentId",
          "agentName",
          "kind",
          "content",
          "muralId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_comment_elementAction

    Adds a visible agent note anchored to one element or artifact. The note is reviewable in the element inspector and the global conversation. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_comment_element",
      "kind": "act",
      "impl": "imperative",
      "description": "Adds a visible agent note anchored to one element or artifact. The note is reviewable in the element inspector and the global conversation. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "elementId": {
            "type": "string",
            "description": "Element or artifact ID to comment on."
          },
          "content": {
            "type": "string",
            "description": "Visible note or review comment."
          },
          "agentName": {
            "type": "string",
            "description": "Visible participant name. Defaults to the joined participant name."
          },
          "replyTo": {
            "type": "string",
            "description": "Optional conversation event ID being answered."
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "elementId",
          "content",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_get_recordingAnswer

    Returns the visible participants and explicitly shared session timeline so agents can understand the human and other collaborators.

    View tool JSON
    {
      "name": "canvas_get_recording",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the visible participants and explicitly shared session timeline so agents can understand the human and other collaborators.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_add_checkpointAction

    Lets the session moderator capture the current mural as an immutable point in the visible timeline for later replay. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_add_checkpoint",
      "kind": "act",
      "impl": "imperative",
      "description": "Lets the session moderator capture the current mural as an immutable point in the visible timeline for later replay. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "maxLength": 120,
            "description": "Short milestone name visible to users."
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "label",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_watch_muralAction

    Renews an agent presence lease and returns new shared events since a cursor. Agents should repeat at the recommended interval until shouldContinue is false. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_watch_mural",
      "kind": "act",
      "impl": "imperative",
      "description": "Renews an agent presence lease and returns new shared events since a cursor. Agents should repeat at the recommended interval until shouldContinue is false. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "afterEventId": {
            "type": "string",
            "description": "Last cursor returned by this tool. Omit on the first poll."
          },
          "watchingElementIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "description": "Optional components to observe. Omit for the global stream."
          },
          "triggers": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "mentioned",
                "reply_to_me",
                "authored_element_commented",
                "watched_element_changed",
                "decision_needed",
                "any_change"
              ]
            },
            "uniqueItems": true,
            "description": "Conditions that permit intervention. Defaults to mentions, replies, comments on authored elements, watched changes, and open questions."
          },
          "quietPeriodSeconds": {
            "type": "number",
            "minimum": 0,
            "maximum": 60,
            "description": "Wait this long after the newest event before responding. Default 4."
          },
          "cooldownSeconds": {
            "type": "number",
            "minimum": 0,
            "maximum": 300,
            "description": "Minimum time between this agent contributions. Default 12."
          },
          "ignoreOwnEvents": {
            "type": "boolean",
            "description": "Ignore events authored by this agent. Default true."
          },
          "renewFocus": {
            "type": "boolean",
            "description": "Renew this agent’s active manual focus lease while watching. Default false."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }
    canvas_finalize_recordingAction

    Closes the recording with an explicitly agreed output. This does not infer consensus or expose private model reasoning. Requires an active, unmuted agent participant and the mural UUID.

    View tool JSON
    {
      "name": "canvas_finalize_recording",
      "kind": "act",
      "impl": "imperative",
      "description": "Closes the recording with an explicitly agreed output. This does not infer consensus or expose private model reasoning. Requires an active, unmuted agent participant and the mural UUID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "finalOutput": {
            "type": "string",
            "description": "Agreed summary, decisions, open questions, and next steps."
          },
          "agentId": {
            "type": "string",
            "description": "Stable ID used when joining the mural."
          },
          "agentName": {
            "type": "string"
          },
          "muralId": {
            "type": "string",
            "description": "UUID returned by canvas_get_board."
          },
          "agentToken": {
            "type": "string",
            "description": "Private capability returned by canvas_join_session or canvas_start_recording."
          }
        },
        "required": [
          "finalOutput",
          "muralId",
          "agentId",
          "agentToken"
        ],
        "additionalProperties": false
      },
      "page": "/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"
    }