Skip to main content
Each tool below is one switch in Settings → MCP Server. Your AI app sees a tool only when it is switched on for your role; every call is checked again on the server.

learners

Learners: view · Read only Find learners by name, email or phone, and see their profile and the courses they are enrolled in, plus each course’s invites and the bulk-enrol CSV template.
string
required
The action to run: find, get, enroll_options, enroll_template.
string
find: name, email, phone or username (part is fine).
string
get: the learner’s learner_id (from find).
string[]
enroll_options: course ids from courses(action=‘list’).

learner_edit

Learners: edit details · Makes changes · Changes live data — the change applies straight away. · Turned on separately (opt-in) Let the connected AI app change a learner’s details — name, phone, password, address, parents and custom fields — after showing you the before and after and getting your confirmation. Changes apply right away. Email and username can never be changed from here.
What keeps it safe: confirm-gated live edit, the admin’s explicit choice: changes one learner of this institute at a time; never email or username; needs the confirm_token of a preview that showed every before → after
string
required
The action to run: preview, apply.
string
required
The learner’s learner_id (from learners(action=‘find’)).
object
{field: new value} — only the fields to change.
string
A new login password.
object
{label or field_id: value}.
string[]
—
string
apply: the token preview returned.

learner_enroll

Learners: enrol into courses · Makes changes · Changes live data — the change applies straight away. · Turned on separately (opt-in) Let the connected AI app enrol learners — one, a list or a CSV, existing or new — into one or more courses through the invite you pick. It always shows you a preview (who is new, who is already enrolled) and enrols only after you confirm. It asks you every time whether to send the welcome email and the login-details email, and whether you want a CSV of the learners’ usernames and passwords (delivered as a private download link that expires after 30 minutes, never shown in the chat). Never removes anyone from a course. Batches sold to organisations stay dashboard-only.
What keeps it safe: additive + confirm-gated: only ENROLS (never de-assigns; duplicates SKIP or ERROR, never RE_ENROLL) and only through this institute’s active invites of the chosen batch; refuses organisation batches; every write needs the confirm_token of a dry-run preview of the identical request
string
required
The action to run: preview, enroll.
object[]
[{learner_id}] for existing learners and/or new-learner rows.
string
The filled-in enroll_template as CSV text.
object[]
[{course_id, batch_id?, invite_id?, access_days?}]
object
—
string
enroll: the token preview returned.