{"ok":true,"site":{"host":"codepath-webmcp.vercel.app","url":"https://codepath-webmcp.vercel.app/","type":"live","desc":"CodePath — learn programming from scratch with your AI tutor. A structured course for humans and AI agents to learn together.","tools":[{"name":"get_course_progress","kind":"answer","impl":"imperative","description":"Read-only. Return where the learner currently is (language, lesson, percent, completions).","inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_current_lesson","kind":"answer","impl":"imperative","description":"Read-only. Return the current lesson content (objective, summary, concepts) plus the active learning step the learner is on and what they are currently doing.","inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_current_exercise","kind":"answer","impl":"imperative","description":"Read-only. Return the exercise the learner is actively working on, OR structured truth (active:false + current step type/title) when the learner is NOT on an exercise/practice step. Omit exerciseId to use the current exercise; an explicit exerciseId always requests that exercise. Includes tutorMode + compact tutorPolicy so an agent knows how to tutor.","inputSchema":{"type":"object","properties":{"exerciseId":{"type":"string","description":"Optional exercise id; defaults to the current exercise."}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"run_code","kind":"act","impl":"imperative","description":"State/action. Run the student’s current code in a sandbox and return output. Omit code/exerciseId to run the current exercise starter code. The response includes tutorMode and tutorPolicy — follow the policy when explaining syntax errors, runtime errors, or unexpected output to the learner.","inputSchema":{"type":"object","properties":{"code":{"type":"string","description":"Optional source code to run; defaults to the current exercise code/starter."},"exerciseId":{"type":"string","description":"Optional exercise id whose saved code should run; defaults to current."}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"submit_solution","kind":"transact","impl":"imperative","description":"State/action. Validate the current exercise against deterministic tests and record the attempt. The validated code is the learner’s live editor draft unless an explicit code/exerciseId/lessonId is provided. Omit exerciseId/lessonId to use the current exercise. The response includes tutorPolicy — follow it when presenting feedback to the learner.","inputSchema":{"type":"object","properties":{"exerciseId":{"type":"string","description":"Optional exercise id to validate; defaults to the current exercise."},"lessonId":{"type":"string","description":"Optional lesson id containing the exercise; defaults to the current lesson."},"code":{"type":"string","description":"Optional explicit source code to validate; defaults to the learner’s live editor draft for the target exercise."}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"open_lesson","kind":"act","impl":"imperative","description":"State/action. Navigate the learning UI to a specific lesson.","inputSchema":{"type":"object","properties":{"lessonId":{"type":"string","enum":["introduction","variables","conditions","loops"],"description":"The lesson to open in the JavaScript course."}},"required":["lessonId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_learning_context","kind":"answer","impl":"imperative","description":"Read-only. Call this before tutoring the learner. The returned tutorPolicy represents the learner's selected tutoring preference and should guide how much help, explanation, hinting, or solution content you provide. Returns exactly what the learner is currently doing in CodePath: active lesson, active learning step, activity type, live editor code, last run/submission context, progress, recent mistakes, and next step.","inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Health & Education","favicon":"/favicons/codepath-webmcp.vercel.app.svg","apiSurface":"spec","toolCount":7}}