lessonique.com
An interactive learning platform assisted through WebMCP.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 2 · Act 11 · Transact 0 · Score: Not yet scored
Tool inspector
play_teaching_scene
Start a visual teaching scene using semantic targets and registered guidance capabilities. Use only the beats required for clarity, with at most 15; avoid filler or unnatural compression and group closely related concepts when needed. Author one small concept per explanation beat, set lessonStepId to the Learning Plan section taught by each micro-step, and target the narrowest useful token or expression. Treat endColumn as the exclusive endpoint after the final target character. Set allowManualNavigation for learner-controlled Previous, Next, and Finish. Interaction beats are for learner work, must include a registered wait, and automatically remove invasive guidance. A coding exercise must map to criteria and use an editor-change wait so it exposes Validate Exercise and gates its own Next or Finish action; validation and feedback beats check and respond without exposing arbitrary code execution. Wrap every code-related term in single backticks, including keywords, identifiers, functions, values, data types, HTML tags, CSS tokens, and short expressions (for example, `const`, ` `, `getUser()`, `string`, or `42`). Only inline code spans are supported; do not use HTML or other Markdown for presentation.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
id |
string | yes | — |
title |
string | no | — |
cleanupPolicy |
string | no | — |
allowManualNavigation |
boolean | no | Set true for progressive explanations so the learner advances locally with Previous, Next, and Finish instead of asking ChatGPT for each micro-step. |
beats |
array | yes | Use only the beats required by the teaching content, up to 15. Prefer clarity over count, avoid filler or unnatural compression, and group closely related concepts when needed. |
Raw JSON schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"cleanupPolicy": {
"type": "string",
"const": "replace"
},
"allowManualNavigation": {
"type": "boolean",
"description": "Set true for progressive explanations so the learner advances locally with Previous, Next, and Finish instead of asking ChatGPT for each micro-step."
},
"beats": {
"minItems": 1,
"maxItems": 15,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$"
},
"lessonStepId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
"description": "Reference the Learning Plan section taught by this micro-step. Reuse the same ID across consecutive beats in one section."
},
"type": {
"type": "string",
"enum": [
"explanation",
"interaction",
"validation",
"feedback"
],
"description": "Use explanation for one small concept, interaction while the learner works, validation while checking declared criteria, and feedback for success or correction."
},
"prepare": {
"type": "object",
"properties": {
"surfaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$"
},
"filePath": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"viewportId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$"
},
"scroll": {
"type": "string",
"enum": [
"none",
"if-needed"
]
}
},
"additionalProperties": false
},
"target": {
"type": "object",
"properties": {
"resolverId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$"
},
"input": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"additionalProperties": {
"$ref": "#/definitions/__schema0"
}
}
},
"required": [
"resolverId",
"input"
],
"additionalProperties": false
},
"assistant": {
"type": "object",
"properties": {
"stateId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$"
},
"placementId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$"
},
"visible": {
"type": "boolean"
}
},
"required": [
"stateId"
],
"additionalProperties": false
},
"effects": {
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"effectId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$"
},
"input": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"additionalProperties": {
"$ref": "#/definitions/__schema0"
}
}
},
"required": [
"effectId"
],
"additionalProperties": false
}
},
"guide": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Wrap every code-related term in single backticks, including keywords, identifiers, functions, values, data types, HTML tags, CSS tokens, and short expressions (for example, `const`, `<section>`, `getUser()`, `string`, or `42`). Only inline code spans are supported; do not use HTML or other Markdown for presentation."
},
"body": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Keep this explanation focused on the active micro-step; do not combine multiple concepts into a wall of text. Wrap every code-related term in single backticks, including keywords, identifiers, functions, values, data types, HTML tags, CSS tokens, and short expressions (for example, `const`, `<section>`, `getUser()`, `string`, or `42`). Only inline code spans are supported; do not use HTML or other Markdown for presentation."
},
"supportingItems": {
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Wrap every code-related term in single backticks, including keywords, identifiers, functions, values, data types, HTML tags, CSS tokens, and short expressions (for example, `const`, `<section>`, `getUser()`, `string`, or `42`). Only inline code spans are supported; do not use HTML or other Markdown for presentation."
},
"description": "Use for supporting details on explanation beats. Omit this field on the final coding-exercise beat because Lessonique derives its numbered requirements from the mapped criteria."
}
},
"required": [
"body"
],
"additionalProperties": false
},
"caption": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Wrap every code-related term in single backticks, including keywords, identifiers, functions, values, data types, HTML tags, CSS tokens, and short expressions (for example, `const`, `<section>`, `getUser()`, `string`, or `42`). Only inline code spans are supported; do not use HTML or other Markdown for presentation."
},
"wait": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "interaction"
},
"eventTypeId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$"
},
"target": {
"type": "object",
"properties": {
"resolverId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$"
},
"input": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"additionalProperties": {
"$ref": "#/definitions/__schema0"
}
}
},
"required": [
"resolverId",
"input"
],
"additionalProperties": false
},
"timeoutMs": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 300000
}
},
"required": [
"kind",
"eventTypeId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "validation"
},
"criterionId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$"
},
"timeoutMs": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 300000
}
},
"required": [
"kind",
"criterionId"
],
"additionalProperties": false
}
],
"description": "Required for interaction and validation beats. It blocks forward navigation until the registered local condition resolves."
}
},
"required": [
"id",
"type"
],
"additionalProperties": false
},
"description": "Use only the beats required by the teaching content, up to 15. Prefer clarity over count, avoid filler or unnatural compression, and group closely related concepts when needed."
}
},
"required": [
"id",
"beats"
],
"additionalProperties": false,
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/definitions/__schema0"
}
}
]
}
}
}
Similar websites
pocketgull.app
Pocket Gull is a real-time clinical AI consult engine powered by Google Gemini. Features 10D multi-paradigm strategy, FHIR R4 export & 3D spatial anatomy.
webmcp-six-lac.vercel.app
AI Navigation Layer: Model Context Protocol (MCP) Semantic DOM integration for intelligent, safe, and observable web navigation.
ghqsandbox.net
Interactive math and physics tools an AI agent can drive directly through WebMCP.
app.formative.com
Formative classroom assessment and learning platform