GoBuildWP

Site operationsPro

Tutor LMS MCP for course building, quizzes and results

The Tutor LMS MCP abilities in GoBuildWP Pro let an AI client build a course the way Tutor's builder does: a draft course, then topics, then lessons and quizzes appended in order, then questions. The same module reads quiz attempts and per-learner grades without email or IP addresses, and enrolls a learner only after Tutor's own purchasable check says the course is not for sale. That check is the whole guard: it covers what Tutor reports as purchasable, so a course whose access is sold through another plugin, such as a membership plugin, needs its payment and access rules checked separately.

AI clientyour-site.comVerify site policy

Draft a course called Sourdough Basics with a Starter topic, one lesson and a three-question quiz.

  1. wppilot/tutor-lms-create-courseWrite

    Creates the course as a draft with description, level and free price type.

  2. wppilot/tutor-lms-create-topicWrite

    Appends the Starter topic to the curriculum.

  3. wppilot/tutor-lms-create-lessonWrite

    Adds the lesson at the end of that topic, with a YouTube video source and its runtime.

  4. wppilot/tutor-lms-create-quizWrite

    Adds a quiz at the end of the topic with Tutor's default settings.

  5. wppilot/tutor-lms-add-quiz-questionWrite

    Called three times, once per question, for single_choice, true_false and fill_in_the_blank questions.

  6. wppilot/tutor-lms-get-course-structureRead

    Reads the tree back, drafts included, to confirm the order.

Proposed sequence from source declarations; not a recorded task or proof of client compatibility. Inspect saved state and browser or provider results separately.
Edition
Pro
Abilities
24
Requires
WordPress 6.9+, PHP 8.0+, Tutor LMS 4.0.0+

Abilities

Tutor LMS abilities by effect

Documented source abilities; live registration can be narrower. Edition and effect labels describe the source catalogue. The installed schema, dependency versions, licence, WordPress capability, safety profile and per-ability policy determine availability; labels alone do not prove confirmation or recovery.

Worked example

Drafting a short course

Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.

The course sits unpublished until someone asks for it to go live. Course, topic, lesson and quiz can each be undone from the change log; the questions cannot, so the reply keeps them for recreating.

Check setup and the active monetization provider before course creation. Learner IDs, display names and grades remain sensitive even when email and IP are absent; use a bounded synthetic response for demonstrations.

  1. tutor-lms-create-course

    Creates the course as a draft with description, level and free price type.

  2. tutor-lms-create-topic

    Appends the Starter topic to the curriculum.

  3. tutor-lms-create-lesson

    Adds the lesson at the end of that topic, with a YouTube video source and its runtime.

  4. tutor-lms-create-quiz

    Adds a quiz at the end of the topic with Tutor's default settings.

  5. tutor-lms-add-quiz-question

    Called three times, once per question, for single_choice, true_false and fill_in_the_blank questions.

  6. tutor-lms-get-course-structure

    Reads the tree back, drafts included, to confirm the order.

Limits

Undo coverage and enrollment rules

  • Use a synthetic user and course with reviewed target IDs. A purchasable check is not a universal protection against bypassing commerce configuration; verify actual enrollment, access and payment policy separately.
  • Undoable: new courses, topics, lessons and quizzes, course and lesson updates, quiz settings, and deletes that only trash. Not undoable: reorders, every question write, permanent deletes and added instructors.
  • A reorder must list every topic and item in the course; the result carries restore_topics, which is the only way to put the old order back.
  • Permanently deleting a course also deletes its topics, lessons, quizzes, quiz attempts and enrollments. A dry run reports the counts first.
  • Enrollment is refused for any course Tutor reports as purchasable. Unenrollment deletes the enrollment record and is not a refund or subscription cancellation.
  • Matching, ordering, image and Pro interactive question types can be read but must be edited in Tutor's quiz builder.

Data model

A tree of posts plus quiz tables

Tutor stores a course as a tree of posts: the course, its topics, and under each topic its lessons, quizzes and assignments, ordered by menu_order. Moving an item means changing its parent and order. Lesson duration is stored on the lesson's video, so a lesson without a video source has no duration.

Quiz questions and their answers are not posts. They are rows in tutor_quiz_questions and tutor_quiz_question_answers, which is why question writes cannot be rolled back from the change log and return the previous rows instead. An enrollment is a tutor_enrolled post, and instructors are linked through user meta.

Pricing depends on the monetisation provider the site uses: free, WooCommerce (a course links an existing product), or Tutor's native checkout (price and sale price on the course).

Other plugins

Commerce plugins and Tutor Pro

  • For WooCommerce-priced courses, the course links an existing product that no other course uses; creating or repricing that product is done with the WooCommerce abilities.
  • Courses priced through Easy Digital Downloads or a membership plugin are refused for paid setup; set the price in that plugin.
  • Tutor Pro's Gradebook letter grades are not in the grade summary, and the lesson preview flag only shows with Tutor Pro's Course Preview add-on.

Quiz results, question fixes and curriculum moves

Finding the quiz question every learner gets wrong

A Tutor LMS MCP session that pays for itself quickly starts from the results rather than the content. tutor-lms-get-grades summarises one course per learner and quiz: attempts, best and latest percentage, the latest result and whether the passing grade was reached. A quiz where most learners pass only on a second or third attempt is the place to look. tutor-lms-list-quiz-attempts narrows to that quiz, and tutor-lms-get-quiz returns its questions with the correct answers marked, so the agent can point at a question whose wording or answer key looks wrong.

Attempt lists do not include learners' individual answers, so the agent cannot say which option people chose; it can say a quiz is failing more often than its neighbours and show you the questions to reread. Names and grades are still personal data even without emails, and they are sent to whichever AI provider your client uses, so keep these reads to the people who already see Tutor's reports.

Fixing a Tutor LMS question after learners have taken the quiz

tutor-lms-update-quiz-question rewrites a question's text, mark and flags, and when answers are sent it replaces all of them; the question type cannot change. Questions live in Tutor's own tables, so the change log cannot undo the edit, and the response carries the previous question and answers instead. Keep that response until you have checked the quiz in Tutor's builder.

Deleting a question is the heavier choice. The dry run of tutor-lms-delete-quiz-question returns the rows that would go and how many recorded attempt answers point at the question, which tells you how much quiz history refers to it. When that number is high, editing the wording usually serves learners better than deleting. Matching, ordering, image and Tutor Pro's interactive question types are read-only here and are edited in the quiz builder.

Quiz settings: attempts, passing grade and answer feedback

tutor-lms-update-quiz-settings changes only the settings you name and can be rolled back from the change log. passing_grade is a percentage, attempts_allowed switches the attempt limit on, time_limit takes a value with a unit from seconds to weeks, and max_questions sets how many questions are drawn per attempt from a larger pool. feedback_mode takes default, reveal or retry, and GoBuildWP maps it onto the two flags Tutor 4 uses, so the agent does not have to know the newer storage.

A new passing grade is meant for attempts made after the change; how Tutor treats results already recorded, and any certificate that depends on them, is worth checking on a staging copy with a test learner before changing a live course.

Moving lessons between topics with tutor-lms-reorder-course-content

Restructuring a curriculum is one call, and it is strict on purpose: every current topic and every lesson, quiz and assignment must appear exactly once, with its new topic and position. Run it with dry_run first to see the planned moves, then for real. The change log cannot reverse a reorder; the response's restore_topics is the way back, so keep it.

The authoring abilities accept a user who can manage options or holds Tutor's manage_tutor capability, but GoBuildWP's own check, manage options, comes first, so an instructor account cannot run them. On Production Safe, deleting content and enrolling or unenrolling wait for confirm; Read Only allows the reporting reads. The Tutor LMS reference has every parameter.

  • "Read only: which quiz in the Sourdough course takes learners the most attempts to pass?"
  • "Show me question 4 of that quiz with its answer key, and suggest clearer wording. Change nothing yet."
  • "Move the Hydration lesson into the Starter topic, after the first lesson, and show me the dry run."

Questions

Tutor LMS questions

Can AI enroll a student in a paid Tutor LMS course?

Not when Tutor reports the course as purchasable: the enrollment ability calls Tutor's is_course_purchasable check, refuses, and the learner has to go through checkout. The ability checks nothing else, so if access to a course is sold through a membership or other plugin that Tutor does not count as a price, confirm that course's access rules yourself before asking for an enrollment.

Does unenrolling a learner refund them?

No. It permanently removes the enrollment record only. Refunds and subscription changes belong to the commerce system that sold the course.

Can I undo a quiz question the agent edited?

Not from the change log, because questions live in Tutor's own tables. The edit returns the previous question and answers so they can be written back.

Does the agent see learners' quiz answers?

Attempt lists and grade summaries return learner id, display name, marks and results, without email, IP address or answers. get-quiz does include the correct answers, as administrator data.

Where these facts come from

GoBuildWP behaviour is taken from the plugin source and the ability reference; third-party details from the vendor documentation below, checked by the GoBuildWP team.

Tutor LMS is a separate product; no partnership or endorsement is implied.

Try it on Tutor LMS in Read Only first