Skip to content

LifterLMS

New in 3.19.0 (Pro). Two dispatcher tools work with LifterLMS 10.x:

ToolDefaultPurpose
lifterlms-readOnThe setup, courses with their curriculum and plans, lessons, quizzes, memberships, access plans, enrolments and progress (10 operations)
lifterlms-writeOffCourses, sections, lessons, quizzes, the order, access plans, memberships and enrolments (20 operations)

Enable the write tool under Tools > Plugins > LifterLMS. EMCP runs LifterLMS’s own lifterlms/* abilities, which use its REST controllers, and adds versions, exact checks, recovery and History on top. Administrators and LMS managers work on every course; instructors on their own, and they cannot enrol students.

  • get-setup: the version, the free question types, difficulties and categories, whether you may enrol students (may_enrol), and the write operations you may run.
  • list-courses, get-course: the course fields, the curriculum (sections, lessons and each lesson’s quiz, in order), orphans, access plans, instructors, student count and the course version.
  • get-lesson, get-quiz (questions with their choice ids and the number of attempts), list-memberships, get-membership, list-access-plans, list-enrolments, get-student-progress.
  1. create-course with title and the details: content, excerpt, categories, tags, difficulties, tracks, video_embed, length, capacity and dates. It starts as a draft; dry_run: true shows what would be sent.
  2. create-section for each section, with the latest course_version.
  3. create-lesson in a section: title, content, video_embed, audio_embed, featured_media, drip settings, prerequisite, points, public.
  4. save-quiz with lesson_id, title, settings and questions {title, question_type, points, multi_choices, choices: [{choice, correct}]}. In settings, allowed_attempts needs limit_attempts: true and time_limit (minutes) needs limit_time: true; a limit without its switch is refused.
  5. save-access-plan with post_id (the course) and price (0 is free). A course needs a plan before visitors can enrol themselves.
  6. get-course to check, then set-course-status with publish.

The free question types are choice, picture_choice, true_false and content. Paid add-on types answer unsupported_question_type; an existing one is kept untouched.

If you write block markup into a course or membership, include LifterLMS’s own blocks (course information, instructors, pricing table, progress, syllabus); the answer carries a note when they are missing. Plain HTML is always safe.

  • update-course, update-section, update-lesson and update-membership change only the fields you pass. update-lesson with section_id and order moves a lesson.
  • save-quiz with quiz_id describes the whole quiz; a question left out is removed.
  • reorder-curriculum sets the whole order, every section and lesson exactly once (order_mismatch otherwise).

Course and membership writes pass course_version or membership_version; these cover the access plans’ full contents too. A change made since you read it is a conflict; force: true overwrites on purpose.

Courses, lessons, quizzes and memberships are only moved to the trash. A quiz students took stays (has_attempts). delete-section (empty sections only) and delete-access-plan (refused while orders use the plan) are the only permanent deletes. All of these and cancel-enrolment need confirm: true.

  • enrol-student enrols an existing user in a course or membership; an enrolled student is reported as already_enrolled, and a cancelled enrolment is set back to enrolled.
  • A membership’s auto_enroll courses come with it: enrolling in the membership enrols them in those courses, and cancelling it cancels them unless another membership still covers a course. The answer lists every course that changed.

From our test run with the fictional Larkspur Kitchen School, recorded over a real MCP connection with LifterLMS’s free edition. The LifterLMS integration page shows every call the assistant made.

LifterLMS course builder with sections Before you cut and The six cuts, four lessons, a Free lesson marker and the quiz on the last lesson.

LifterLMS’s own course builder, with the quiz attached to the last lesson.

LifterLMS course page for Knife Skills Fundamentals with course information, instructor Elena Marsh, a Free preview plan and the two-section syllabus.

The published course. The $49 plan is saved too; LifterLMS shows paid plans once a payment gateway is set up, which this test site does not have.

Every write can be undone in History, and an enrolment is put back exactly, for a membership with every course enrolment, trigger and level it touched. Undo never removes students’ work, force or not: a course or membership once anyone enrolled (has_students), a lesson once completed or an enrolment once the student made progress (has_progress), a quiz once taken (has_attempts).