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.

sub_orgs

Sub-organisations: view · Read only See the institute’s sub-organisations (partner organisations / centres): each one’s admin, courses, seats used against the cap, plan status, invite link and learners, plus the payment options and roles a new one can be set up with.
string
required
The action to run: list, get, members, create_options, enroll_template.
string
get / members: the sub_org_id from list.
string
list: part of the name. members: name or email.
boolean
members: also list terminated / expired learners.

sub_org_edit

Sub-organisations: create and change · Makes changes · Changes live data — the change applies straight away. · Turned on separately (opt-in) Let the connected AI app create sub-organisations (name, courses, payment option, seats, validity, admin roles), add courses to one or change its seats, validity and roles, and give a new one its admin. It always shows you the change first and makes it only after you confirm. Changes apply right away. It never deletes or deactivates a sub-organisation, never removes a course from one and never changes how its admin pays.
What keeps it safe: confirm-gated live write, the admin’s explicit choice: creates a sub-org of this institute, adds courses / changes seats, validity and roles of one (add-only for courses), or gives a sub-org without an admin its admin; never deletes or deactivates a sub-org, removes a course or swaps its payment option; every write needs the confirm_token of a preview of the identical request
string
required
The action to run: preview, apply.
string
required
One of: create, update, add_admin.
string
update / add_admin: from sub_orgs(action=‘list’).
string
create: the sub-organisation’s name.
object[]
create: [{course_id, batch_id?}]
object[]
update: courses to add, [{course_id, batch_id?}]
string
create: from create_options.
integer
Learner seats per course.
integer
—
string[]
—
string[]
—
string[]
—
string
create: payment gateway name (when several).
object
add_admin: {full_name, email, mobile_number?}
string
apply: the token preview returned.

sub_org_enroll

Sub-organisations: add learners · Makes changes · Changes live data — the change applies straight away. · Turned on separately (opt-in) Let the connected AI app add learners — one, a list or a CSV — to a sub-organisation’s courses. It always shows you a preview (who is added, who is already in and skipped, seats left) and adds them only after you confirm, never past the sub-organisation’s seat cap. Adds learners only — never admins — and never removes anyone. It asks whether you want a CSV of the learners’ usernames and passwords (a private download link that expires after 30 minutes, never shown in the chat).
What keeps it safe: additive + confirm-gated: only ADDS learners (role LEARNER, never admin) to the courses of a sub-org of this institute; skips anyone already active in a course; refuses uploads over the sub-org’s seat cap; every write needs the confirm_token of a preview of the identical request
string
required
The action to run: preview, enroll.
string
From sub_orgs(action=‘list’).
string
The filled-in enroll_template as CSV text.
object[]
[{learner_id}] for existing learners and/or new-learner rows.
string[]
Only these of the sub-org’s courses (batch_ids from sub_orgs(get)).
object
{credentials_file: bool}
string
enroll: the token preview returned.