{"ok":true,"site":{"host":"calculus.jeromegroup.org","url":"https://calculus.jeromegroup.org/","type":"live","desc":"A visual calculus library for MH1100, MH1101 and MH2100. Interactive experiments, precise mathematics, and page-specific course references.","tools":[{"name":"set_workspace_layout","kind":"act","impl":"imperative","description":"Set the visualisation to split, wide or minimised and show or hide the course sidebar. Shared with visible controls.","title":"Adjust reading and graph space","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"visualisation":{"type":"string","enum":["split","wide","minimised"]},"sidebarOpen":{"type":"boolean"}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"list_concepts","kind":"answer","impl":"imperative","description":"Search the three-course library by text, course or lecture/chapter. Read-only; returns IDs for open_concept.","title":"Find calculus concepts","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"course":{"type":"string","enum":["MH1100","MH1101","MH2100"]},"lecture":{"type":"integer","minimum":1,"maximum":13},"query":{"type":"string","maxLength":100}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"read_concept","kind":"answer","impl":"imperative","description":"Return the visible lesson's mathematical notes, practice, and exact source pages for one concept without navigating.","title":"Read a concept, lesson and sources","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"conceptId":{"type":"string"}},"required":["conceptId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"get_study_state","kind":"answer","impl":"imperative","description":"Read the visible course, lesson, notes section, experiment and graph configuration. mathematicalReadout preserves the existing value: LaTeX for planar scenes, plain text for spatial scenes. Check mathematicalReadoutFormat; mathematicalReadoutTex is always LaTeX for typeset display.","title":"Read current study state","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"set_inline_experiment","kind":"act","impl":"imperative","description":"Set one independent inline lesson control. Read get_study_state for current IDs and values; the same control updates visibly.","title":"Adjust an inline mathematical experiment","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"id":{"type":"string"},"parameter":{"type":"string","enum":["value","radius","angle"]},"value":{"type":"number"}},"required":["id","parameter","value"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"open_concept","kind":"act","impl":"imperative","description":"Navigate to a concept, show its experiment and reset its parameter and notes to their defaults.","title":"Open an exploration","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"conceptId":{"type":"string"}},"required":["conceptId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"browse_course","kind":"act","impl":"imperative","description":"Show the visible course library and optionally filter it by a search query.","title":"Browse a course","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"course":{"type":"string","enum":["MH1100","MH1101","MH2100"]},"query":{"type":"string","maxLength":100}},"required":["course"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"set_notes_tab","kind":"act","impl":"imperative","description":"Show and focus the reasoning, worked example or distinction section of the current visible lesson.","title":"Read a notes section","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"tab":{"type":"string","enum":["intuition","example","pitfall"]}},"required":["tab"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"set_visual_parameter","kind":"act","impl":"imperative","description":"Set the active lesson parameter or graph parameter a. Discrete parameters snap to their displayed step. Stops lesson animation.","title":"Adjust the experiment","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"value":{"type":"number"}},"required":["value"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"set_experiment_animation","kind":"act","impl":"imperative","description":"Start or stop the current lesson’s parameter animation.","title":"Play or pause an experiment","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"playing":{"type":"boolean"}},"required":["playing"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"reset_experiment","kind":"act","impl":"imperative","description":"Reset the current lesson’s parameter and camera; stop animation.","title":"Reset an experiment","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"set_scene_model","kind":"act","impl":"imperative","description":"Select an available model of the current concept. Read available IDs from list_scene_models.","title":"Choose an experiment variant","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"scene":{"type":"string"}},"required":["scene"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"list_scene_models","kind":"answer","impl":"imperative","description":"Read the scene IDs available for the selected concept.","title":"List experiment variants","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"configure_graph","kind":"act","impl":"imperative","description":"Validate and render a surface, parametric surface, space curve or implicit surface with the same controls as Graph studio. Acknowledges only after rendering.","title":"Plot any supported graph","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"mode":{"type":"string","enum":["surface","parametric","curve","implicit"]},"expressions":{"type":"array","items":{"type":"string","maxLength":400},"minItems":1,"maxItems":3},"min":{"type":"number"},"max":{"type":"number"},"vmin":{"type":"number"},"vmax":{"type":"number"},"clip":{"type":"number"},"a":{"type":"number"}},"required":["mode","expressions"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]},{"name":"graph_function","kind":"act","impl":"imperative","description":"Convenience surface plot of z=f(x,y). Values are finite numerical samples, not symbolic verification.","title":"Plot a function","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expression":{"type":"string","maxLength":400},"xMin":{"type":"number"},"xMax":{"type":"number"},"yMin":{"type":"number"},"yMax":{"type":"number"},"heightClip":{"type":"number"}},"required":["expression"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/signout-with-chatgpt?return_to=%2F"]}],"category":"Health & Education","favicon":"/favicons/calculus.jeromegroup.org.png","apiSurface":"spec","toolCount":15}}