Online Course Platform MCP Tools
Online Course Platform MCP tools follow a course publishing and learning access workflow across branded course portals, courses, modules, lessons, materials, video protection, live sessions and replays, students, enrolments, payments, subscription expiry, access activation, learning progress, quizzes and assignments, submissions and grading, discussions, certificates, notifications, analytics, and audit logs.
Read platform settings for timezone, enrolment, payment, access expiry, device limits, watermarking, drip content, certificates, and notification defaults.
Read-only. No approval required.
Do not expose payment secrets, streaming origins, private keys, or internal webhook tokens.
Read branded course portal logo, colours, domain, copy, and language settings.
Read-only. No approval required.
Do not expose DNS provider secrets or unpublished brand assets outside tenant scope.
List course catalog, publishing state, pricing, enrolment settings, and visibility scope.
Read-only. No approval required.
Only return courses visible to the requesting tenant and role.
Read one course outline, price, access rules, subscription settings, drip content, and certificate criteria.
Read-only. No approval required.
Do not reveal unpublished course detail unless the role can manage that course.
List course modules, order, unlock rules, completion requirements, and linked lessons.
Read-only. No approval required.
Respect unpublished module visibility and learner access scope.
Read lesson content, videos, materials, quizzes, assignments, discussions, and unlock state.
Read-only. No approval required.
Do not return protected media source URLs or locked lesson content to unauthorized users.
course.materials.list
readList videos, PDFs, audio, downloads, and supplemental materials with versions, visibility, and download settings.
course.course.get, course.modules.list
Read-only. No approval required.
Return signed preview references only where the requester has permission.
course.video_assets.list
readRead streaming video assets, watermark policy, domain lock, device limits, captions, and transcoding state.
Read-only. No approval required.
Never expose raw source files, origin bucket paths, DRM secrets, or permanent playback tokens.
course.live_sessions.list
readList Zoom, YouTube Live, or other live class sessions with time, links, replay, attendance, and access conditions.
Read-only. No approval required.
Hide host keys, meeting passcodes, and private replay URLs unless the role is authorized.
List student profiles, status, tags, contacts, and recent learning summary.
Read-only. No approval required.
Apply tenant isolation and mask personal data according to requester role.
Read one student's enrolments, payments, access, progress, submissions, certificates, and notification history.
Read-only. No approval required.
Do not leak another learner's data across accounts, families, or corporate tenants.
course.enrolments.list
readList enrolments, waitlists, cancellations, and activations by course, student, payment, or status.
course.course.get, course.students.list
Read-only. No approval required.
Respect payment and access privacy when returning enrolment state.
course.access_grants.list
readRead learner course access, module scope, expiry, device limits, suspensions, and revocations.
course.student.get, course.course.get
Read-only. No approval required.
Access records must be scoped by tenant, course, and learner identity.
course.subscriptions.list
readList recurring course subscriptions, renewals, failed payments, grace periods, and access expiry impact.
course.student.get, course.payments.list
Read-only. No approval required.
Do not expose full payment instrument details or gateway secrets.
List course payments, receipts, refunds, balances, payment proofs, and gateway state.
course.student.get, course.course.get
Read-only. No approval required.
Mask card, bank, and gateway identifiers according to finance permission.
Read watch time, lesson completion, quiz scores, assignment state, and completion rate.
course.student.get, course.course.get
Read-only. No approval required.
Do not allow progress reads outside the learner, instructor, or admin permission boundary.
course.quiz_bank.list
readList quizzes, question banks, pass marks, attempt limits, auto-marking, and visibility settings.
Read-only. No approval required.
Hide answer keys from learner-facing contexts.
course.assignments.list
readList assignments, deadlines, submission formats, rubrics, and late submission rules.
course.course.get, course.modules.list
Read-only. No approval required.
Respect lesson release and learner enrolment before exposing assignment detail.
course.submissions.list
readRead learner submissions, scores, grading state, feedback, and resubmission history.
course.assignments.list, course.student.get
Read-only. No approval required.
Only instructors/admins or the owning learner may read submission content.
course.certificates.list
readList certificate templates, completion criteria, issued certificates, serials, revocations, and reissues.
course.course.get, course.progress.list
Read-only. No approval required.
Do not expose certificate edit links or signing keys.
course.discussions.list
readList lesson discussions, questions, replies, pinned posts, moderation, and visibility state.
Read-only. No approval required.
Apply moderation state and learner privacy rules before returning content.
course.notifications.list
readRead welcome, course start, live class, payment, renewal, completion, and certificate notification templates and logs.
course.student.get, course.course.get
Read-only. No approval required.
Mask recipient personal data and do not expose provider credentials.
course.analytics_summary.get
readRead enrolment, revenue, completion, drop-off, live attendance, quiz pass rate, and certificate summary.
course.enrolments.list, course.progress.list, course.payments.list
Read-only. No approval required.
Aggregate analytics should avoid exposing identifiable learner data unless explicitly authorized.
course.audit_logs.list
readRead audit logs for course, content, access, payment, certificate, and notification actions.
course.course.get, course.student.get
Read-only. No approval required.
Audit logs must be immutable and scoped to admin or compliance roles.
course.publish.preview
previewPreview course publishing impact across outline, modules, materials, pricing, enrolment, access, and notifications.
course.course.get, course.modules.list, course.materials.list, course.branding.get
Course manager approval required before public publishing or opening enrolment.
Detect missing materials, wrong visibility, accidental public access, and pricing changes before write.
course.lesson_release.preview
previewPreview drip content, lesson unlocks, material visibility, and affected learners.
course.lesson.get, course.modules.list, course.access_grants.list
Approval required before releasing new learner-facing content.
Do not bypass subscription, expiry, or module prerequisite rules.
course.student_activation.preview
previewPreview account activation, course access, login notification, and tag updates after payment.
course.student.get, course.payments.list, course.course.get, course.access_grants.list
Approval required when activation is not driven by a verified payment event.
Prevent unpaid access, duplicate accounts, wrong email delivery, and cross-course activation.
course.access_change.preview
previewPreview learner access extension, suspension, revocation, or scope change impact.
course.access_grants.list, course.subscriptions.list, course.payments.list, course.progress.list
Approval required for paid access changes and exceptional extensions.
Preserve audit trail and avoid revoking access while paid entitlement remains valid.
course.subscription_change.preview
previewPreview renewal, cancellation, suspension, failed payment, and grace period impact on access and notifications.
course.subscriptions.list, course.payments.list, course.access_grants.list
Finance or course manager approval required for manual subscription changes.
Do not alter gateway subscription state without matching internal entitlement plan.
course.notification.preview
previewPreview notification copy, recipients, and channel for welcome, class, live, payment, renewal, completion, or certificate messages.
course.notifications.list, course.student.get, course.course.get
Approval required for bulk sends, payment reminders, and learner-facing policy changes.
Check consent, opt-out, frequency limits, and personal data before sending.
course.assessment_publish.preview
previewPreview quiz or assignment visibility, deadlines, auto-marking, pass rules, and affected learners.
course.quiz_bank.list, course.assignments.list, course.modules.list
Approval required before assessments become visible to learners.
Detect leaked answer keys, invalid deadlines, and mismatch with certificate rules.
course.certificate_issue.preview
previewPreview learner name, completion, pass state, template, serial, and email before certificate issue.
course.progress.list, course.certificates.list, course.student.get, course.course.get
Automatic approval only when configured criteria are fully met; manual exception requires approval.
Prevent certificates for incomplete courses, wrong names, duplicate serials, or revoked enrolments.
course.course.upsert
writeCreate or update a course draft with title, outline, pricing, enrolment, access, drip content, and certificate rules.
course.course.get or course.publish.preview
Approval required for public copy, pricing, entitlement, or certificate rule changes.
Version changes and avoid altering existing learner entitlements unless explicitly approved.
course.course.publish
writePublish a course, open enrolment, or release it to a defined audience.
Explicit course manager approval required before execution.
Use the preview diff as execution contract and keep rollback/audit records.
course.module.upsert
writeCreate or update modules, ordering, unlock rules, and completion requirements.
course.modules.list, course.course.get
Approval required when changing learner-visible structure on a published course.
Protect existing learner progress and avoid breaking certificate requirements.
course.lesson.upsert
writeCreate or update lesson content, videos, materials, quizzes, assignments, and discussion settings.
course.lesson.get, course.lesson_release.preview
Approval required before changing published learner-facing lessons.
Do not expose protected assets or locked lesson content unintentionally.
course.material.publish
writePublish materials with course, module, lesson, learner group, download, and expiry settings.
course.materials.list, course.lesson_release.preview
Approval required before learners can access new or updated materials.
Scan visibility, file version, watermark, and download restrictions before release.
course.video_asset.attach
writeAttach a video asset to a lesson and configure watermarking, domain lock, device limits, captions, and replay visibility.
course.video_assets.list, course.lesson_release.preview
Approval required before protected video becomes learner-visible.
Never store raw source URLs in public fields; use signed playback references only.
course.live_session.upsert
writeCreate or update live sessions, Zoom/YouTube Live links, replays, reminders, and attendance settings.
course.live_sessions.list, course.course.get
Approval required before sending live class links or schedule changes.
Protect host credentials and notify affected learners only after approval.
course.student.upsert
writeCreate or update student profile, contact details, tags, language, and notification preferences.
Approval required for sensitive identity or contact changes.
Deduplicate by email/phone and preserve consent/audit records.
course.enrolment.create
writeCreate enrolment, waitlist entry, or confirmed seat after payment.
course.student_activation.preview
Approval required unless triggered by verified payment and configured automation rule.
Prevent duplicate enrolments, over-capacity seats, and unpaid access activation.
course.enrolment.cancel
writeCancel enrolment and handle waitlist release, refund state, access revocation, and notifications.
course.access_change.preview, course.subscription_change.preview
Approval required for paid or active enrolments.
Do not cancel active paid access without refund/subscription decision recorded.
course.access_grant.upsert
writeGrant, extend, suspend, revoke, or adjust learner course and module access.
course.access_change.preview
Approval required for manual access changes.
Respect payment entitlement, expiry, device policy, and audit requirements.
course.subscription.update
writeUpdate course subscription renewal, cancellation, suspension, grace period, and access expiry settings.
course.subscription_change.preview
Finance or course manager approval required.
Keep internal entitlement and payment gateway state consistent.
course.payment_request.create
writeCreate course payment request, balance collection, renewal charge, or payment proof follow-up.
course.payments.list, course.subscriptions.list
Approval required for manual charges, balance requests, or refund-related collection.
Never create duplicate payment links for the same unpaid entitlement without confirmation.
course.progress.record
writeRecord watch time, lesson completion, manual completion correction, or imported external learning progress.
course.progress.list, course.lesson.get
Approval required for manual overrides that affect certificates or completion rates.
Do not overwrite verified progress without immutable correction history.
Create or update quiz questions, pass marks, attempt limits, auto-marking, and result visibility settings.
course.assessment_publish.preview
Approval required before publishing quiz changes.
Protect answer keys, scoring logic, and learner attempt history.
course.assignment.upsert
writeCreate or update assignments, deadlines, submission formats, rubrics, late rules, and visibility scope.
course.assessment_publish.preview
Approval required before publishing assignment changes.
Check deadlines, learner access, and certificate dependencies before release.
course.submission.grade
writeGrade submissions, update scores, feedback, pass state, and resubmission handling.
course.submissions.list, course.assignments.list
Instructor approval required for grading and grade corrections.
Keep grade history and prevent students from seeing other submissions.
course.certificate.issue
writeIssue, reissue, or revoke course certificates based on completion and pass criteria.
course.certificate_issue.preview
Approval required for manual issue, reissue, revocation, or criteria override.
Validate learner identity, completion, serial uniqueness, and certificate template before execution.
course.notification.send
writeSend welcome, course start, live class, payment, renewal, completion, certificate, or course update notifications.
course.notification.preview
Approval required for bulk, payment, policy, and schedule-change messages.
Respect consent, opt-out, recipient scope, and rate limits.
course.action_request.status
statusCheck status for course platform writes, previews, or approval requests without re-executing actions.
Read-only status lookup. No approval required.
Return status and audit references only; never replay the original write from this endpoint.