Integration

LifterLMS integration

LifterLMS is a WordPress learning management plugin. This integration manages courses, sections, lessons, quizzes and quiz questions, memberships, access plans (pricing), certificate templates and awarded certificates, instructors and students, student enrollments, progress and grades, quiz attempts and their manual grading, webhooks, and read-only orders and their transactions; with the matching add-ons also groups (invitations, members, seats), assignments and submissions, and events. Every site is its own host, so each connection gives the site URL. API key management is not exposed. Student and instructor billing addresses, avatars and personal URLs, post passwords, order keys, payment source descriptions, webhook secrets and delivery URLs, invitation accept links and uploaded-file links are not returned. Authentication is a LifterLMS REST API consumer key and secret (WordPress admin, LifterLMS, Settings, REST API tab, Add API Key, with Read, Write or Read/Write permission), sent in the X-LLMS-CONSUMER-KEY and X-LLMS-CONSUMER-SECRET headers; the key owner's WordPress capabilities also apply. The site needs LifterLMS 3.34.0 or later, pretty permalinks and HTTPS.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in LifterLMS.Built from the 109 LifterLMS tools below, on the connection you add once.

What you can do with LifterLMS

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Enrollment, 7 operations

  • create_student_enrollmentCreate student enrollmentPOSTEnrolls a real student into a course or membership, giving access to it at once. Returns the enrollment record.
  • delete_student_enrollmentDelete student enrollmentDELETEDeletes a real student's enrollment record in a course or membership.
  • get_student_enrollmentGet student enrollmentGETReturns a student's enrollment record in one course or membership.
  • list_course_enrollmentsList course enrollmentsGETLists the enrollment records of a course: student id, status, trigger and dates, filterable by status and student.
  • list_membership_enrollmentsList membership enrollmentsGETLists the enrollment records of a membership: student id, status, trigger and dates, filterable by status and student.
  • list_student_enrollmentsList student enrollmentsGETLists a student's enrollment records in courses and memberships: post id, status, trigger and dates.
  • update_student_enrollmentUpdate student enrollmentPATCHChanges a real student's enrollment in a course or membership, for example its status (enrolled, expired, cancelled), which grants or removes access.

Question, 6 operations

  • create_questionCreate questionPOSTCreates a real quiz question on the site and returns it with its id.
  • delete_questionDelete questionDELETEDeletes a real quiz question from the site.
  • get_questionGet questionGETReturns one quiz question by id, with all its settings.
  • list_questionsList questionsGETLists quiz questions page by page (page; per_page, default 10). Filters and sort order as below.
  • list_quiz_questionsList quiz questionsGETLists the questions of a quiz with their type, points, choices and grading settings.
  • update_questionUpdate questionPOSTChanges a real quiz question: only the fields sent are changed, everything else is left as it is. Returns the updated quiz question.

Access plan, 5 operations

  • create_access_planCreate access planPOSTCreates a real access plan on the site and returns it with its id.
  • delete_access_planDelete access planDELETEDeletes a real access plan from the site.
  • get_access_planGet access planGETReturns one access plan by id, with all its settings.
  • list_access_plansList access plansGETLists access plans page by page (page; per_page, default 10). Filters and sort order as below.
  • update_access_planUpdate access planPOSTChanges a real access plan: only the fields sent are changed, everything else is left as it is. Returns the updated access plan.

Assignment, 5 operations

  • create_assignmentCreate assignmentPOSTRequires the LifterLMS Assignments add-on. Creates a real assignment on the site and returns it with its id.
  • delete_assignmentDelete assignmentDELETERequires the LifterLMS Assignments add-on. Deletes a real assignment from the site.
  • get_assignmentGet assignmentGETRequires the LifterLMS Assignments add-on. Returns one assignment by id, with all its settings.
  • list_assignmentsList assignmentsGETRequires the LifterLMS Assignments add-on. Lists assignments page by page (page; per_page, default 10). Filters and sort order as below.
  • update_assignmentUpdate assignmentPOSTRequires the LifterLMS Assignments add-on. Changes a real assignment: only the fields sent are changed, everything else is left as it is. Returns the updated assignment.

Certificate, 5 operations

  • create_certificateCreate certificatePOSTCreates a real certificate template on the site and returns it with its id.
  • delete_certificateDelete certificateDELETEDeletes a real certificate template from the site.
  • get_certificateGet certificateGETReturns one certificate template by id, with all its settings.
  • list_certificatesList certificatesGETLists certificate templates page by page (page; per_page, default 10). Filters and sort order as below.
  • update_certificateUpdate certificatePOSTChanges a real certificate template: only the fields sent are changed, everything else is left as it is. Returns the updated certificate template.

Course, 5 operations

  • create_courseCreate coursePOSTCreates a real course on the site and returns it with its id.
  • delete_courseDelete courseDELETEDeletes a real course from the site.
  • get_courseGet courseGETReturns one course by id, with all its settings.
  • list_coursesList coursesGETLists courses page by page (page; per_page, default 10). Filters and sort order as below.
  • update_courseUpdate coursePOSTChanges a real course: only the fields sent are changed, everything else is left as it is. Returns the updated course.

Event, 5 operations

  • create_eventCreate eventPOSTRequires the LifterLMS Events add-on. Creates a real event on the site and returns it with its id.
  • delete_eventDelete eventDELETERequires the LifterLMS Events add-on. Deletes a real event from the site.
  • get_eventGet eventGETRequires the LifterLMS Events add-on. Returns one event by id, with all its settings.
  • list_eventsList eventsGETRequires the LifterLMS Events add-on. Lists events page by page (page; per_page, default 10). Filters and sort order as below.
  • update_eventUpdate eventPOSTRequires the LifterLMS Events add-on. Changes a real event: only the fields sent are changed, everything else is left as it is. Returns the updated event.

Group, 5 operations

  • create_groupCreate groupPOSTRequires the LifterLMS Groups add-on. Creates a real group on the site and returns it with its id.
  • delete_groupDelete groupDELETERequires the LifterLMS Groups add-on. Deletes a real group from the site.
  • get_groupGet groupGETRequires the LifterLMS Groups add-on. Returns one group by id, with all its settings.
  • list_groupsList groupsGETRequires the LifterLMS Groups add-on. Lists groups page by page (page; per_page, default 10). Filters and sort order as below.
  • update_groupUpdate groupPOSTRequires the LifterLMS Groups add-on. Changes a real group: only the fields sent are changed, everything else is left as it is. Returns the updated group.

Instructor, 5 operations

  • create_instructorCreate instructorPOSTCreates a real WordPress user account as an instructor (email required) and returns it with its id. Billing address fields are accepted but never returned.
  • delete_instructorDelete instructorDELETEDeletes a real WordPress user account (the instructor). Posts they own are deleted unless reassign names another user; LMS records are not reassigned.
  • get_instructorGet instructorGETReturns one instructor by id, with all its settings.
  • list_instructorsList instructorsGETLists instructors page by page (page; per_page, default 10). Filters and sort order as below.
  • update_instructorUpdate instructorPOSTChanges a real instructor: only the fields sent are changed, everything else is left as it is. Returns the updated instructor.

Lesson, 5 operations

  • create_lessonCreate lessonPOSTCreates a real lesson on the site and returns it with its id.
  • delete_lessonDelete lessonDELETEDeletes a real lesson from the site.
  • get_lessonGet lessonGETReturns one lesson by id, with all its settings.
  • list_lessonsList lessonsGETLists lessons page by page (page; per_page, default 10). Filters and sort order as below.
  • update_lessonUpdate lessonPOSTChanges a real lesson: only the fields sent are changed, everything else is left as it is. Returns the updated lesson.

Membership, 5 operations

  • create_membershipCreate membershipPOSTCreates a real membership on the site and returns it with its id.
  • delete_membershipDelete membershipDELETEDeletes a real membership from the site.
  • get_membershipGet membershipGETReturns one membership by id, with all its settings.
  • list_membershipsList membershipsGETLists memberships page by page (page; per_page, default 10). Filters and sort order as below.
  • update_membershipUpdate membershipPOSTChanges a real membership: only the fields sent are changed, everything else is left as it is. Returns the updated membership.

Quizz, 5 operations

  • create_quizCreate quizPOSTCreates a real quiz on the site and returns it with its id.
  • delete_quizDelete quizDELETEDeletes a real quiz from the site.
  • get_quizGet quizGETReturns one quiz by id, with all its settings.
  • list_quizzesList quizzesGETLists quizzes page by page (page; per_page, default 10). Filters and sort order as below.
  • update_quizUpdate quizPOSTChanges a real quiz: only the fields sent are changed, everything else is left as it is. Returns the updated quiz.

Section, 5 operations

  • create_sectionCreate sectionPOSTCreates a real section on the site and returns it with its id.
  • delete_sectionDelete sectionDELETEDeletes a real section from the site.
  • get_sectionGet sectionGETReturns one section by id, with all its settings.
  • list_sectionsList sectionsGETLists sections page by page (page; per_page, default 10). Filters and sort order as below.
  • update_sectionUpdate sectionPOSTChanges a real section: only the fields sent are changed, everything else is left as it is. Returns the updated section.

Student, 5 operations

  • create_studentCreate studentPOSTCreates a real WordPress user account as a student (email required) and returns it with its id. Billing address fields are accepted but never returned.
  • delete_studentDelete studentDELETEDeletes a real WordPress user account (the student). Posts they own are deleted unless reassign names another user; LMS records are not reassigned.
  • get_studentGet studentGETReturns one student by id, with all its settings.
  • list_studentsList studentsGETLists students page by page (page; per_page, default 10). Filters and sort order as below.
  • update_studentUpdate studentPOSTChanges a real student: only the fields sent are changed, everything else is left as it is. Returns the updated student.

Webhook, 5 operations

  • create_webhookCreate webhookPOSTCreates a real webhook that POSTs LMS events (topic such as student.created) to delivery_url. Its signing secret is not returned: set your own secret to know it. Created disabled unless status is active.
  • delete_webhookDelete webhookDELETEDeletes a real webhook from the site.
  • get_webhookGet webhookGETReturns one webhook with name, status, topic and hooks. Its secret and delivery URL are not returned.
  • list_webhooksList webhooksGETLists webhooks with name, status, topic and hooks. Secrets and delivery URLs are not returned.
  • update_webhookUpdate webhookPOSTChanges a real webhook: only the fields sent are changed, everything else is left as it is. Returns the updated webhook.

Awarded certificate, 4 operations

  • award_certificateAward certificatePOSTAwards a real certificate to a student from a certificate template; the content is generated from the template with its merge codes resolved. related_id names the course, lesson or other post it is awarded for.
  • get_awarded_certificateGet awarded certificateGETReturns one awarded certificate by id, with all its settings.
  • list_awarded_certificatesList awarded certificatesGETLists awarded certificates page by page (page; per_page, default 10). Filters and sort order as below.
  • revoke_awarded_certificateRevoke awarded certificateDELETERevokes (deletes) a real awarded certificate. This cannot be undone.

Invitation, 4 operations

  • create_group_invitationCreate group invitationPOSTRequires the LifterLMS Groups add-on. Creates a real invitation to a group for an email address, with a role. Open invitation links are not offered here.
  • delete_group_invitationDelete group invitationDELETERequires the LifterLMS Groups add-on. Deletes a real group invitation.
  • get_group_invitationGet group invitationGETRequires the LifterLMS Groups add-on. Returns one group invitation: email, role and open-link flag.
  • list_group_invitationsList group invitationsGETRequires the LifterLMS Groups add-on. Lists the invitations of a group: email, role and whether the record is the open invitation link. Accept links are not returned.

Member, 4 operations

  • get_group_memberGet group memberGETRequires the LifterLMS Groups add-on. Returns one group member with name, email (with context=edit) and group role.
  • list_group_membersList group membersGETRequires the LifterLMS Groups add-on. Lists the members of a group with their name, email (with context=edit) and group role.
  • remove_group_memberRemove group memberDELETERequires the LifterLMS Groups add-on. Removes a real member from a group.
  • update_group_memberUpdate group memberPOSTRequires the LifterLMS Groups add-on. Changes a real member's role in a group (member, leader, admin or primary_admin).

Content, 3 operations

  • list_course_contentList course contentGETLists the content of a course (its sections, lessons and quizzes) page by page.
  • list_instructor_contentList instructor contentGETLists the LMS content (courses, memberships, lessons and other posts) an instructor is attached to.
  • list_section_contentList section contentGETLists the lessons of a section page by page.

Grade, 3 operations

  • grade_assignment_submissionGrade assignment submissionPOSTRequires the LifterLMS Assignments add-on. Grades a real submission and/or saves remarks for the student. With grade, grading completes and lesson completion and notifications run.
  • grade_quiz_attemptGrade quiz attemptPOSTGrades the manually graded questions of a real quiz attempt and/or saves per-question remarks. Earned points for every pending question complete grading and run completion actions.
  • list_student_gradesList student gradesGETReturns a student's grades per enrolled course: overall course grade and a per-lesson breakdown with lesson and quiz grades (plus assignment grades with the Assignments add-on).

Progress, 3 operations

  • delete_student_progressDelete student progressDELETEDeletes a real student's progress record for a course, section or lesson.
  • get_student_progressGet student progressGETReturns a student's progress through a course, section or lesson: progress percent, grade and status.
  • update_student_progressUpdate student progressPOSTChanges a real student's progress: marks a course, section or lesson complete or incomplete, which can run completion actions.

Quiz attempt, 3 operations

  • delete_quiz_attemptDelete quiz attemptDELETEDeletes a real quiz attempt of a student. This cannot be undone.
  • get_quiz_attemptGet quiz attemptGETReturns one quiz attempt with its questions, submitted answers, points earned and grading status. Uploaded answer files are not returned.
  • list_quiz_attemptsList quiz attemptsGETLists student quiz attempts, filterable by student, quiz, lesson and status; status=pending gives the attempts awaiting manual grading. Uploaded answer files are not returned.

Assignment submission, 2 operations

  • get_assignment_submissionGet assignment submissionGETRequires the LifterLMS Assignments add-on. Returns one assignment submission: submitted content, status, grade and remarks. Uploaded files are not returned.
  • list_assignment_submissionsList assignment submissionsGETRequires the LifterLMS Assignments add-on. Lists student assignment submissions; status=pending gives the queue awaiting manual grading. Uploaded files are not returned.

Order, 2 operations

  • get_orderGet orderGETReturns one order by id: status, buyer (user id, billing name and email), product, access plan, coupon, totals, recurring billing schedule and access expiry.
  • list_ordersList ordersGETLists orders page by page (page; per_page, default 10), filterable by status, student, product and plan. Orders are read-only here: they are created through checkout and managed in the WordPress admin.

Seat, 2 operations

  • get_group_seatsGet group seatsGETRequires the LifterLMS Groups add-on. Returns the seat counts of a group: total, used and open.
  • update_group_seatsUpdate group seatsPUTRequires the LifterLMS Groups add-on. Changes the real number of seats of a group; total must be at least the seats already used.

Transaction, 1 operation

  • list_order_transactionsList order transactionsGETLists the payment transactions recorded for an order (id from list_orders): status, amount, refunded amount, currency, gateway and the gateway transaction id.

Use LifterLMS from Claude Code, Cursor or Codex

Connect LifterLMS in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its LifterLMS operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect LifterLMS

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect LifterLMS once

    Add your LifterLMS connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

LifterLMS integration FAQ

What can you do with the LifterLMS integration?

LiveContext exposes 109 operations on LifterLMS, covering enrollment, question, access plan and assignment.

Popular integrations

Browse the whole catalog