Tool tree
gradeNot graded
page: Every page
set_workspace_layoutAction
Set the visualisation to split, wide or minimised and show or hide the course sidebar. Shared with visible controls.
View tool JSON
{
"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.",
"inputSchema": {
"type": "object",
"properties": {
"visualisation": {
"type": "string",
"enum": [
"split",
"wide",
"minimised"
]
},
"sidebarOpen": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"page": "/"
}list_conceptsAnswer
Search the three-course library by text, course or lecture/chapter. Read-only; returns IDs for open_concept.
View tool JSON
{
"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.",
"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
},
"page": "/"
}read_conceptAnswer
Return the visible lesson's mathematical notes, practice, and exact source pages for one concept without navigating.
View tool JSON
{
"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.",
"inputSchema": {
"type": "object",
"properties": {
"conceptId": {
"type": "string"
}
},
"required": [
"conceptId"
],
"additionalProperties": false
},
"page": "/"
}get_study_stateAnswer
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.
View tool JSON
{
"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.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/"
}set_inline_experimentAction
Set one independent inline lesson control. Read get_study_state for current IDs and values; the same control updates visibly.
View tool JSON
{
"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.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"parameter": {
"type": "string",
"enum": [
"value",
"radius",
"angle"
]
},
"value": {
"type": "number"
}
},
"required": [
"id",
"parameter",
"value"
],
"additionalProperties": false
},
"page": "/"
}open_conceptAction
Navigate to a concept, show its experiment and reset its parameter and notes to their defaults.
View tool JSON
{
"name": "open_concept",
"kind": "act",
"impl": "imperative",
"description": "Navigate to a concept, show its experiment and reset its parameter and notes to their defaults.",
"inputSchema": {
"type": "object",
"properties": {
"conceptId": {
"type": "string"
}
},
"required": [
"conceptId"
],
"additionalProperties": false
},
"page": "/"
}browse_courseAction
Show the visible course library and optionally filter it by a search query.
View tool JSON
{
"name": "browse_course",
"kind": "act",
"impl": "imperative",
"description": "Show the visible course library and optionally filter it by a search query.",
"inputSchema": {
"type": "object",
"properties": {
"course": {
"type": "string",
"enum": [
"MH1100",
"MH1101",
"MH2100"
]
},
"query": {
"type": "string",
"maxLength": 100
}
},
"required": [
"course"
],
"additionalProperties": false
},
"page": "/"
}set_notes_tabAction
Show and focus the reasoning, worked example or distinction section of the current visible lesson.
View tool JSON
{
"name": "set_notes_tab",
"kind": "act",
"impl": "imperative",
"description": "Show and focus the reasoning, worked example or distinction section of the current visible lesson.",
"inputSchema": {
"type": "object",
"properties": {
"tab": {
"type": "string",
"enum": [
"intuition",
"example",
"pitfall"
]
}
},
"required": [
"tab"
],
"additionalProperties": false
},
"page": "/"
}set_visual_parameterAction
Set the active lesson parameter or graph parameter a. Discrete parameters snap to their displayed step. Stops lesson animation.
View tool JSON
{
"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.",
"inputSchema": {
"type": "object",
"properties": {
"value": {
"type": "number"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"page": "/"
}set_experiment_animationAction
Start or stop the current lesson’s parameter animation.
View tool JSON
{
"name": "set_experiment_animation",
"kind": "act",
"impl": "imperative",
"description": "Start or stop the current lesson’s parameter animation.",
"inputSchema": {
"type": "object",
"properties": {
"playing": {
"type": "boolean"
}
},
"required": [
"playing"
],
"additionalProperties": false
},
"page": "/"
}reset_experimentAction
Reset the current lesson’s parameter and camera; stop animation.
View tool JSON
{
"name": "reset_experiment",
"kind": "act",
"impl": "imperative",
"description": "Reset the current lesson’s parameter and camera; stop animation.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/"
}set_scene_modelAction
Select an available model of the current concept. Read available IDs from list_scene_models.
View tool JSON
{
"name": "set_scene_model",
"kind": "act",
"impl": "imperative",
"description": "Select an available model of the current concept. Read available IDs from list_scene_models.",
"inputSchema": {
"type": "object",
"properties": {
"scene": {
"type": "string"
}
},
"required": [
"scene"
],
"additionalProperties": false
},
"page": "/"
}list_scene_modelsAnswer
Read the scene IDs available for the selected concept.
View tool JSON
{
"name": "list_scene_models",
"kind": "answer",
"impl": "imperative",
"description": "Read the scene IDs available for the selected concept.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/"
}configure_graphAction
Validate and render a surface, parametric surface, space curve or implicit surface with the same controls as Graph studio. Acknowledges only after rendering.
View tool JSON
{
"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.",
"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
},
"page": "/"
}graph_functionAction
Convenience surface plot of z=f(x,y). Values are finite numerical samples, not symbolic verification.
View tool JSON
{
"name": "graph_function",
"kind": "act",
"impl": "imperative",
"description": "Convenience surface plot of z=f(x,y). Values are finite numerical samples, not symbolic verification.",
"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
},
"page": "/"
}