Skip to content

Tools · Courses

MCP tools for courses: listing and viewing courses with their modules and lessons, building a whole course with the product that sells it, editing and deleting the course, adding, editing, moving and deleting modules and lessons, and the student's side: enrollment and progress.

Building and maintaining courses: a whole course in one call (space, modules, lessons and the sales product), the cover and the status, and then the modules and lessons: adding, renaming, reordering, moving a lesson to another module and deleting. Students enroll and mark their progress through the conversation. Each lesson's content (text, video) still goes in through the dashboard.

Each tool carries a badge: Read-only changes nothing, Changes creates or changes something right away, and Asks to confirm only acts after your yes to a summary. See Money and confirmation.

In short

ToolWhat it doesMinimum roleType
list_coursesThe community's coursesAnyRead-only
get_courseA course with its modules and lessonsAnyRead-only
create_courseSpace, course, modules, lessons and the product, in one goAdminChanges
update_courseEdits a course's title, level, status and coverAdminChanges
create_course_moduleAdds a module to a courseAdminChanges
create_lessonAdds a lesson to a moduleAdminChanges
update_course_moduleRenames a module or changes its positionAdminChanges
update_lessonChanges a lesson, or moves it to another moduleAdminChanges
delete_course_moduleDeletes a module with its lessonsAdminAsks to confirm
delete_lessonDeletes a lessonAdminAsks to confirm
delete_courseDeletes a courseAdminAsks to confirm
enroll_in_courseEnrolls you in a published courseMember (not finance)Changes
complete_lessonRecords your progress in a lessonMember (not finance)Changes

list_courses

Read-only

List courses. The community's courses. Minimum role: any.

ParameterTypeRequiredDescription
space_ididNoOnly the courses in one courses space

Returns: the courses, with id, slug, title, level and status.

Ask like this: "Which courses already exist?"

get_course

Read-only

View a course with modules and lessons. A course with its full structure. Minimum role: any.

ParameterTypeRequiredDescription
coursetextYesThe course id or slug

Returns: the course, the modules (with the id create_lesson needs) and each module's lessons.

Ask like this: "Show me the structure of the Excel from Scratch course."

create_course

Changes

Create a complete course. Courses space → course → modules → lessons → (optional) the product that unlocks the space. Minimum role: admin.

ParameterTypeRequiredDescription
titletext, up to 255YesThe course title
descriptionplain textNoNo formatting: Markdown marks are stripped
levelbeginner, intermediate, advancedNoDefault: beginner
space_ididNoAn existing Courses space
section_ididNoWhere to create the space, if space_id isn't given
space_titletextNoDefault: the course title
iconone of the icons in the listNoThe icon of the space it creates. See Icons
image_urllinkNoThe course cover. See Images
moduleslist, up to 30NoEach with title (required) and lessons
saleobjectNoThe product that sells the course (see below)
idempotency_keytext, up to 100No

Each module has title and lessons, a list of up to 50, and each lesson has title (required), type (text, video, link, image; default text) and duration (e.g. 12 min).

The sale (and the ticket, in create_event):

FieldTypeDescription
pricenumber, in reaisRequired
titletext, 3 to 255Default: the course title (or Ingresso — event title)
typeONE_TIME, INSTALLMENT, SUBSCRIPTIONDefault: ONE_TIME (one-time)
intervalMONTHLY, YEARLYOnly for SUBSCRIPTION
max_installments1 to 12Up to how many card installments
stocknumberQuantity on sale
direct_linkyes or noSold by direct link
publishyes or noPut on sale right away. Default: draft

Returns: the space (and whether it was just created), the course (id, title, slug, status), the modules with their lessons, and the product (id, title, price, status), if any.

Ask like this: "Build the Excel from Scratch course in the courses space, with the modules Basics, Formulas and Pivot tables, 3 video lessons in each, and a R$ 297 product in up to 10 installments, as a draft."

Notes: lessons store title, type and duration; the content goes in through the dashboard. The product unlocks the course space for buyers.

update_course

Changes

Edit a course. Changes the title, description, level, status (draft, published, archived) and the cover. Minimum role: admin.

ParameterTypeRequiredDescription
courseid, slug or linkYes
title, descriptiontextNo
levelbeginner, intermediate, advancedNo
statusdraft, published, archivedNo
image_url or image_base64link or fileNoThe new cover

Ask like this: "Publish the Excel from Zero course and swap the cover for this one."

Notes: modules and lessons change with update_course_module, update_lesson and the delete tools.

create_course_module

Changes

Add a module to a course. Adds a module to the end of an existing course. Minimum role: admin.

ParameterTypeRequiredDescription
course_ididYesFrom list_courses or create_course
titletextYes

Returns: the new module, with the id create_lesson needs.

Ask like this: "Add a Charts module to the Excel from Scratch course."

Notes: to rename it or change its position later, update_course_module.

create_lesson

Changes

Add a lesson to a module. Adds a lesson to the end of a module. Minimum role: admin.

ParameterTypeRequiredDescription
module_ididYesFrom get_course
titletextYes
typetext, video, link, imageNoDefault: text
durationtextNoE.g. 12 min

Returns: the new lesson.

Ask like this: "In the Charts module, create the lessons Line charts (8 min) and Pie charts (6 min), both video."

Notes: the lesson stores title, type and duration. The content (the text, the video) isn't saved through MCP yet: add it in the dashboard.

update_course_module

Changes

Edit course module. Renames a module or changes its position. Only what you send changes. Minimum role: admin.

ParameterTypeRequiredDescription
module_ididYesFrom get_course
titletext, up to 255No
ordernumber, from 0NoThe position in the course

Ask like this: "Rename the Formulas module to Essential formulas and make it second."

update_lesson

Changes

Edit lesson. Changes a lesson's title, type, duration or position, or moves it to another module of the same course. Only what you send changes. Minimum role: admin.

ParameterTypeRequiredDescription
lesson_ididYesFrom get_course
titletext, up to 255No
typetext, video, link, imageNo
durationtextNoE.g. 12 min
ordernumber, from 0NoThe position in the module
module_ididNoMoves the lesson to this module (of the same course). Without order, it goes to the end

Ask like this: "Move the Pie chart lesson to the Fundamentals module, as the last lesson."

Notes: the lesson's content still goes in through the dashboard.

delete_course_module

Asks to confirm

Delete course module. Deletes a module and all its lessons. Minimum role: admin.

ParameterTypeRequiredDescription
module_ididYesFrom get_course
courseid, slug or linkNoThe course, so the summary shows the names of the module and its lessons

Notes: the progress of whoever already watched is kept.

delete_lesson

Asks to confirm

Delete lesson. Minimum role: admin.

ParameterTypeRequiredDescription
lesson_ididYesFrom get_course
courseid, slug or linkNoThe course, so the summary shows the lesson's name

Notes: the progress of whoever already watched is kept.

delete_course

Asks to confirm

Delete course. The course is archived and leaves the feed. Minimum role: admin.

ParameterTypeRequiredDescription
courseid, slug or linkYes

Returns: on the first call, the title, how many modules and enrollments the course has, and the confirmation code.

enroll_in_course

Changes

Enroll in course. Enrolls you in a published course. Role: owner, admin, moderator or member.

ParameterTypeRequiredDescription
courseid, slug or linkYes

Ask like this: "Enroll me in the Excel from Scratch course."

complete_lesson

Changes

Record lesson progress. Marks a lesson as completed, or records a percentage, in a course you're enrolled in. Role: owner, admin, moderator or member.

ParameterTypeRequiredDescription
courseid, slug or linkYes
lesson_ididYesFrom get_course
completedyes or noNoDefault yes
progress_percentfrom 0 to 100No

Ask like this: "Mark the Basic formulas lesson as watched."