Authoring reference
The itera-mcp server (https://mcp.iterahq.dev/mcp) exposes 21 tools
over the lesson model. They are grouped by level.
The 21 tools at a glance
Section titled “The 21 tools at a glance”| Level | Tools | Count |
|---|---|---|
| Tenants & whoami | list_tenants, whoami | 2 |
| Programs | list_programs, get_program, create_program, update_program, delete_program, instantiate_program | 6 |
| Units | list_units, create_unit, update_unit, delete_unit | 4 |
| Lessons | list_lessons, create_lesson, update_lesson, delete_lesson | 4 |
| Activities | list_activities, get_activity, create_activity, update_activity, delete_activity | 5 |
How to read the tool tables
Section titled “How to read the tool tables”- Inputs are the tool’s real arguments.
?marks optional ones. - Ids are UUIDs. Each level takes the parent id from the previous
create_*. - Auth: every tool runs as you under RLS. Reads are tenant-scoped;
writes (
create_* / update_* / delete_* / instantiate_program) require anauthor/instructor/tenant_admin/ownerrole on the target tenant. - Results are JSON. Write tools return
{ "success": true, "<entity>": {…} }; deletes return{ "success": true, "deleted": "<id>" }. Errors come back as{ "error": "<message>" }(a caller-visible result, not a thrown exception).
Tenants & whoami Resolve a tenant_id and self-check your authoring rights.
Programs The course template: list / get (deep graph) / create / update / delete / instantiate (deep-copy).
Units Sections within a program.
Lessons Classes within a unit.
Activities The ten activity kinds, with spec + rubric.
Reading results (itera-api) Pull-only REST for activity results, progress, and artifacts — per-tenant API key.