{"ok":true,"site":{"host":"aimural.300robots.com","url":"https://aimural.300robots.com/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf","type":"live","desc":"A local-first visual thinking canvas that humans and WebMCP agents can shape together.","tools":[{"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.","title":"Create a hosted mural and access links","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Read brainstorming board","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Rename the mural","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Add a visual element","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Add multiple visual elements","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Update a visual element","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Connect two elements","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Remove visual elements","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Arrange the board","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Create a visual cluster","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"name":"canvas_focus_elements","kind":"act","impl":"imperative","description":"Selects and brings specified elements into view without changing board content.","title":"Focus visual elements","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"minItems":1}},"required":["ids"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Claim or release agent focus","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Change an element layer","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Create a reusable artifact","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"name":"canvas_get_artifact_spec","kind":"answer","impl":"imperative","description":"Returns the complete reusable spec, field definitions, primitive data, and presentation for one artifact.","title":"Read artifact specification","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Artifact element ID."}},"required":["id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Update artifact records","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Start a multi-agent decision trace","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Create access for agent guests","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Join using an agent invitation","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Join the brainstorming session","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Mute or reactivate an agent","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Share an agent contribution","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Comment on a mural element","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Read participants and decision trace","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Save a replay checkpoint","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Watch a mural with a renewable lease","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"},{"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.","title":"Finalize the decision trace","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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/?mural=84571348-85fd-4d40-8b9e-fac16fac2ecf"}],"category":"Productivity & Business","favicon":"/favicons/aimural.300robots.com.svg","apiSurface":"spec","toolCount":27}}