{"ok":true,"site":{"host":"trace-webmcp.callboard.workers.dev","url":"https://trace-webmcp.callboard.workers.dev/","type":"live","desc":"TRACE is a shared reasoning surface for people and agents, powered by WebMCP.","tools":[{"name":"set_scene","kind":"act","impl":"imperative","description":"Open a TRACE learning scene while keeping the same shared gesture and tool language.","title":"Open learning scene","inputSchema":{"type":"object","properties":{"scene":{"type":"string","enum":["incline","july1914"]}},"required":["scene"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_board_state","kind":"answer","impl":"imperative","description":"Inspect the semantic objects, values, assumptions, selection, evidence state, and visible agent work on the current TRACE board.","title":"Inspect board state","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_selection","kind":"answer","impl":"imperative","description":"Return the object IDs the person most recently clicked or circled on the shared board.","title":"Read human selection","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"select_objects","kind":"act","impl":"imperative","description":"Select and focus semantic board objects so the person can see exactly what the agent is operating on.","title":"Focus board objects","inputSchema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"description":"Semantic object IDs to select."}},"required":["ids"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"draw_force_vectors","kind":"act","impl":"imperative","description":"Draw and label the force vectors acting on a selected body directly on the diagram. Use after inspecting the board and selection.","title":"Draw force vectors","inputSchema":{"type":"object","properties":{"bodyId":{"type":"string","enum":["block-1"]},"includeFriction":{"type":"boolean","description":"Whether the friction assumption should be represented."}},"required":["bodyId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"solve_motion","kind":"act","impl":"imperative","description":"Calculate the motion for the selected diagram from its live values and assumptions, then write the derivation in place.","title":"Solve motion","inputSchema":{"type":"object","properties":{"bodyId":{"type":"string","enum":["block-1"]}},"required":["bodyId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"simulate_motion","kind":"act","impl":"imperative","description":"Animate the solved physical system on the shared board so the person can connect the diagram and equations to motion.","title":"Animate motion","inputSchema":{"type":"object","properties":{"bodyId":{"type":"string","enum":["block-1"]}},"required":["bodyId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_assumption","kind":"act","impl":"imperative","description":"Enable or reject a named assumption and immediately update every dependent vector and calculation on the shared board.","title":"Change an assumption","inputSchema":{"type":"object","properties":{"assumption":{"type":"string","enum":["friction"]},"enabled":{"type":"boolean"},"reason":{"type":"string","maxLength":160}},"required":["assumption","enabled"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_annotation","kind":"act","impl":"imperative","description":"Write a short explanation beside a semantic board object instead of replying in a separate chat pane.","title":"Annotate an object","inputSchema":{"type":"object","properties":{"targetId":{"type":"string","description":"ID of a semantic object currently visible on the board."},"text":{"type":"string","maxLength":120}},"required":["targetId","text"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"highlight_objects","kind":"act","impl":"imperative","description":"Temporarily highlight the board objects relevant to an explanation or detected mistake.","title":"Highlight board objects","inputSchema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"expand_causal_chain","kind":"act","impl":"imperative","description":"Replace an oversimplified historical causal link with the missing dated decisions and relationships, drawn directly on the timeline.","title":"Expand causal chain","inputSchema":{"type":"object","properties":{"fromEventId":{"type":"string","enum":["event-assassination"]},"toEventId":{"type":"string","enum":["event-war"]}},"required":["fromEventId","toEventId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compare_sources","kind":"act","impl":"imperative","description":"Place two historical sources in context and annotate how their perspectives support different interpretations.","title":"Compare historical sources","inputSchema":{"type":"object","properties":{"sourceIds":{"type":"array","items":{"type":"string","enum":["source-blank-cheque","source-willy-nicky"]},"minItems":2,"maxItems":2}},"required":["sourceIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"run_counterfactual","kind":"act","impl":"imperative","description":"Remove one historical decision as a counterfactual and redraw which downstream paths remain plausible without claiming certainty.","title":"Run historical counterfactual","inputSchema":{"type":"object","properties":{"removeEventId":{"type":"string","enum":["event-mobilization"]}},"required":["removeEventId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"undo_last_change","kind":"act","impl":"imperative","description":"Undo the most recent agent-authored board mutation while preserving the person’s own ink.","title":"Undo last change","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Health & Education","favicon":"/favicons/trace-webmcp.callboard.workers.dev.svg","apiSurface":"spec","toolCount":14}}