{"ok":true,"site":{"host":"classsignal-webmcp.netlify.app","url":"https://classsignal-webmcp.netlify.app/teacher","type":"live","desc":"webmcp-teacher-student","tools":[{"name":"get_class_snapshot","kind":"answer","impl":"imperative","description":"Read the current summary for a ClassSignal classroom, including its active quiz, mastery, support count, struggling concepts, and recent activity. Use this first when a teacher asks about the state of a class.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"classId":{"type":"string","description":"Stable classroom ID, for example class-7b."}},"required":["classId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/teacher","pages":["/teacher","/teacher/diagnostic-lab"]},{"name":"analyze_misconceptions","kind":"answer","impl":"imperative","description":"Analyze assessment evidence for misconception patterns in a class. Returns ranked hypotheses with provisional evidence strength, affected students, exact supporting observations, and a recommended next action. It does not change classroom state.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"classId":{"type":"string","description":"Stable classroom ID."},"quizId":{"type":"string","description":"Optional quiz ID. Defaults to the active quiz."},"concept":{"type":"string","description":"Optional concept name used to narrow findings."}},"required":["classId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/teacher","pages":["/teacher","/teacher/diagnostic-lab"]},{"name":"inspect_student_learning","kind":"answer","impl":"imperative","description":"Read one fictional demo student’s concept-level mastery, confidence, hint history, and current misconception evidence. Use only after identifying a class-wide pattern; it does not change state.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"classId":{"type":"string","description":"Stable classroom ID."},"studentId":{"type":"string","description":"Stable student ID returned by another ClassSignal tool."},"concept":{"type":"string","description":"Optional concept filter."}},"required":["classId","studentId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/teacher","pages":["/teacher","/teacher/diagnostic-lab"]},{"name":"preview_intervention_groups","kind":"answer","impl":"imperative","description":"Preview evidence-based student groups and activities for one misconception. This is a read-only preview and must be called before apply_intervention_plan.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"classId":{"type":"string","description":"Stable classroom ID."},"misconceptionId":{"type":"string","description":"Misconception ID returned by analyze_misconceptions."},"maxGroupSize":{"type":"number","description":"Optional preferred maximum group size.","minimum":2,"maximum":6}},"required":["classId","misconceptionId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/teacher","pages":["/teacher","/teacher/diagnostic-lab"]},{"name":"apply_intervention_plan","kind":"act","impl":"imperative","description":"Apply a previously previewed intervention plan to the live classroom workspace. This changes classroom state and requires confirmed=true after explicit teacher approval.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"classId":{"type":"string","description":"Stable classroom ID."},"planId":{"type":"string","description":"Plan ID returned by preview_intervention_groups."},"confirmed":{"type":"boolean","description":"Must be true only after the teacher explicitly approves applying the plan."}},"required":["classId","planId","confirmed"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/teacher","pages":["/teacher","/teacher/diagnostic-lab"]},{"name":"request_guided_hint","kind":"act","impl":"imperative","description":"Give a fictional demo student the next permitted Socratic hint for a question and record the help event. This tool never reveals the assessed answer.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"studentId":{"type":"string","description":"Stable student ID."},"questionId":{"type":"string","description":"Stable question ID."},"reasoning":{"type":"string","description":"Optional reasoning already shared by the student."}},"required":["studentId","questionId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/teacher","pages":["/teacher","/teacher/diagnostic-lab"]},{"name":"submit_reasoning_step","kind":"transact","impl":"imperative","description":"Evaluate a fictional demo student’s answer and intermediate reasoning for the fractions comparison question. Records focused feedback and learning progress without returning the correct assessed answer.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"studentId":{"type":"string","description":"Stable student ID."},"questionId":{"type":"string","description":"Stable question ID."},"selectedAnswer":{"type":"string","description":"The answer option selected by the student."},"reasoning":{"type":"string","description":"The student’s explanation in their own words.","minLength":4}},"required":["studentId","questionId","selectedAnswer","reasoning"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/teacher","pages":["/teacher","/teacher/diagnostic-lab"]},{"name":"create_diagnostic_probe","kind":"act","impl":"imperative","description":"Create a new 60-second multiple-choice diagnostic probe that distinguishes two existing learning hypotheses. Saves a visible draft in the teacher Misconception Lab; it does not publish to students.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"classId":{"type":"string","description":"Stable classroom ID."},"title":{"type":"string","description":"Short teacher-facing title.","minLength":4,"maxLength":80},"prompt":{"type":"string","description":"Student-facing diagnostic question that isolates the competing reasoning patterns.","minLength":12,"maxLength":300},"concept":{"type":"string","description":"Concept being diagnosed.","minLength":3,"maxLength":80},"optionA":{"type":"string","description":"Answer option A.","minLength":1,"maxLength":120},"optionB":{"type":"string","description":"Answer option B.","minLength":1,"maxLength":120},"optionC":{"type":"string","description":"Answer option C.","minLength":1,"maxLength":120},"optionD":{"type":"string","description":"Answer option D.","minLength":1,"maxLength":120},"correctOptionId":{"type":"string","enum":["A","B","C","D"],"description":"Correct option ID, retained by the site for evaluation."},"diagnosticOptionId":{"type":"string","enum":["A","B","C","D"],"description":"Wrong option whose selection specifically supports the leading hypothesis."},"rationale":{"type":"string","description":"Explain how this probe distinguishes the hypotheses.","minLength":12,"maxLength":500},"hypothesisIds":{"type":"array","description":"Exactly two hypothesis IDs from analyze_misconceptions, with the leading hypothesis first.","items":{"type":"string"},"minItems":2,"maxItems":2}},"required":["classId","title","prompt","concept","optionA","optionB","optionC","optionD","correctOptionId","diagnosticOptionId","rationale","hypothesisIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/teacher","pages":["/teacher","/teacher/diagnostic-lab"]},{"name":"inspect_diagnostic_probe","kind":"answer","impl":"imperative","description":"Read the latest saved version of a diagnostic probe after the teacher may have edited it. Use this to reason about human revisions before requesting publication.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"classId":{"type":"string","description":"Stable classroom ID."},"probeId":{"type":"string","description":"Probe ID returned by create_diagnostic_probe."}},"required":["classId","probeId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/teacher","pages":["/teacher","/teacher/diagnostic-lab"]},{"name":"publish_diagnostic_probe","kind":"act","impl":"imperative","description":"Publish a reviewed diagnostic probe to the student workspace. This changes visible classroom state and requires confirmed=true after explicit teacher approval.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"classId":{"type":"string","description":"Stable classroom ID."},"probeId":{"type":"string","description":"Reviewed diagnostic probe ID."},"confirmed":{"type":"boolean","description":"Must be true only after explicit teacher approval."}},"required":["classId","probeId","confirmed"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/teacher","pages":["/teacher","/teacher/diagnostic-lab"]},{"name":"analyze_probe_result","kind":"answer","impl":"imperative","description":"Read the student responses to a completed diagnostic probe and explain how the new evidence changed the competing hypothesis ranking. It does not modify state.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"classId":{"type":"string","description":"Stable classroom ID."},"probeId":{"type":"string","description":"Completed diagnostic probe ID."}},"required":["classId","probeId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/teacher","pages":["/teacher","/teacher/diagnostic-lab"]},{"name":"measure_intervention_result","kind":"answer","impl":"imperative","description":"Compare baseline and current learning signals for an applied intervention, including mastery, help outcomes, and students still needing support. This tool is read-only.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"classId":{"type":"string","description":"Stable classroom ID."},"interventionId":{"type":"string","description":"Applied intervention plan ID."}},"required":["classId","interventionId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/teacher","pages":["/teacher","/teacher/diagnostic-lab"]}],"category":"Health & Education","favicon":"/favicons/classsignal-webmcp.netlify.app.svg","apiSurface":"spec","toolCount":12}}