{"ok":true,"site":{"host":"dax-learning-webmcp.netlify.app","url":"https://dax-learning-webmcp.netlify.app/","type":"live","desc":"Practice how CALCULATE changes DAX filter context through a prediction-first exercise.","tools":[{"name":"get_current_exercise","kind":"answer","impl":"imperative","description":"Use to identify the DAX exercise the learner is currently solving and whether it is solved.","title":"Get current DAX exercise","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_filter_context","kind":"act","impl":"imperative","description":"Use to inspect the current visible dataset, active filters, and DAX measure for filter-context reasoning.","title":"Inspect DAX filter context","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_attempt_history","kind":"answer","impl":"imperative","description":"Use to observe the learner’s actual evaluated numeric attempts across DAX exercises.","title":"Get DAX attempt history","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_learning_progress","kind":"answer","impl":"imperative","description":"Use to observe exercise progress, demonstrated DAX skills, transfer status, and derived mastery.","title":"Get DAX learning progress","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"request_socratic_intervention","kind":"act","impl":"imperative","description":"Use to show a bounded Socratic question for the learner’s current DAX exercise and attempt state.","title":"Request Socratic DAX support","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"request_explanation","kind":"act","impl":"imperative","description":"Use to show a bounded explanation for the learner’s current DAX filter-context concept.","title":"Request DAX concept explanation","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"request_filter_trace","kind":"act","impl":"imperative","description":"Use to show a structured filter-context reasoning scaffold for the learner’s current DAX exercise and attempt state.","title":"Request DAX filter trace","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Health & Education","favicon":"/favicons/dax-learning-webmcp.netlify.app.svg","apiSurface":"spec","toolCount":7}}