LearnWorlds MCP by usefulapi
io.usefulapi/learnworlds · v1.11.1
Check LearnWorlds courses, learners, progress, grades and payments, and enroll or tag users.
MCPremoteno credentialsResearch & educationEmailE-commerce
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 20 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 86/100
What it does: 20 tools · 15 read, 5 write (incl. delete/pay) · Research & education, Email, E-commerce
Test call learnworlds_list_users: needs a key: HTTP 401 (1,063 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +8
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://learnworlds.usefulapi.io/mcpTools
20 tools listed at last check
learnworlds_list_coursesList the school's courses, newest first, 50 per page — title, price fields, access (paid/free/draft...), categories and author. A cheap way to confirm the credentials work. LearnWorlds: GET /v2/courses.learnworlds_get_courseFetch one course by id (its slug). LearnWorlds: GET /v2/courses/{id}.learnworlds_get_course_contentsThe course outline: its sections (with drip-feed settings) and the learning activities (videos, PDFs, SCORM, assessments, certificates...) in each, with their ids. LearnWorlds: GET /v2/courses/{id}/contents.learnworlds_get_course_analyticsCourse-level analytics: students, learning units, average score and success rate, total study time, average time to finish, social interactions and certificates issued. LearnWorlds: GET /v2/courses/{id}/analytics.learnworlds_list_course_usersThe users enrolled in one course, newest first (20 per page by default). LearnWorlds: GET /v2/courses/{id}/users.learnworlds_get_course_gradesAssessment grades of the users enrolled in a course — per user and learning unit, with submission time. LearnWorlds: GET /v2/courses/{id}/grades.learnworlds_list_usersList the school's users, newest first (20 per page by default), filterable by status, role, tags, registration date and custom fields. All filters are ANDed. LearnWorlds: GET /v2/users.learnworlds_get_userFetch one user by id or email — profile, role, tags, sign-up fields, UTMs and last login. LearnWorlds: GET /v2/users/{id}.learnworlds_list_user_coursesThe courses a user is enrolled in, with enrollment and expiry dates (50 per page). LearnWorlds: GET /v2/users/{id}/courses.learnworlds_get_user_course_progressA user's progress in one course — status, progress rate, average score, time on course, completed units, and a per-section / per-activity breakdown. LearnWorlds: GET /v2/users/{id}/courses/{cid}/progress.learnworlds_list_paymentsList payments, newest first (50 per page by default) — product, price, discount, tax, coupon, affiliate, gateway and billing info. All filters are ANDed. LearnWorlds: GET /v2/payments.learnworlds_get_paymentFetch one payment by payment id or transaction id. LearnWorlds: GET /v2/payments/{id}.learnworlds_list_certificatesCertificates awarded, newest first (20 per page), for a course and/or a user — at least one of course_id or user_id is required. LearnWorlds: GET /v2/certificates.learnworlds_list_user_groupsList the school's user groups (cohorts / B2B seats), newest first — title, products, group managers, capacity and tags. LearnWorlds: GET /v2/user_groups.learnworlds_list_event_logsThe school's activity log (50 per page) — registrations, logins, purchases, enrollments, course completions, certificates, subscription changes and more, filterable by user, activity and time. LearnWorlds: GET /v2/event-logs.learnworlds_create_userWRITE: create a learner account. Deliberately no password or admin flag — set send_registration_email so the learner sets their own password. LearnWorlds: POST /v2/users.learnworlds_update_userWRITE: update a user's email, username, marketing consent, sign-up fields or tags. Only the fields you pass are sent. Passing `tags` REPLACES the tag list — use learnworlds_update_user_tags to add/remove individual tags. LearnWorlds: PUT /v2/users/{id}.learnworlds_update_user_tagsWRITE: add (attach) or remove (detach) tags on a user, leaving their other tags untouched. Reversible with the opposite action. LearnWorlds: PUT /v2/users/{id}/tags.learnworlds_enroll_userWRITE: manually enroll a user in a course, bundle or subscription. This grants access and records a manual enrollment at the given price (use 0 for a free grant) — it does not charge the learner's card. Optionally emails the learner. LearnWorlds: POST /v2/users/{id}/enrollment.learnworlds_add_user_to_groupWRITE: add an existing user to a user group (which may enroll them in the group's products). LearnWorlds: POST /v2/user_groups/{id}/users/{uid}.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.usefulapi/learnworlds)