Tools
Editing a lesson: patch vs. replace
For tweaks, prefer patch_lesson — get_lesson to read the current section/block
ids, then send a small list of operations that address those ids, e.g.:
Ops: set_title, set_section_name, add_section, remove_section, move_section,
add_block, replace_block (keeps the block id), remove_block, move_block. The
server fetches the lesson, applies the ops in order, and saves the result (the hub API
itself only does full replaces, so the diff is applied server-side). Use update_lesson
when you're rewriting the whole lesson anyway.
Lesson shape the assistant fills
A lesson is sections of blocks. Block types:
text— a paragraph. Put words you're teaching the spelling of in ALL CAPS; the app highlights them as spelling words.spelling— an explicit word list:{ "type": "spelling", "words": ["BECAUSE", "FRIEND"] }.question— a quiz question with aquestionType:number→answer(numeric)single→answer(one text answer)multiple→answers(array of accepted answers)open→ free response (no answer field; just theprompt)background→background+answer(needs prior knowledge)
Image blocks aren't supported over MCP yet (they need a separate binary upload).