Axis LMS MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.15.4Updated Nov 7, 2026

Read Axis LMS users, courses, learning paths, certifications and reports; manage enrollments.

The publisher's own server: Ably MCP by usefulapi

Overview

AI-generated overview

Connects an assistant to an Axis LMS instance to read users, courses, learning paths, certifications and reports, and to manage enrollments.

What you can do
  • List, search, count and inspect users, usergroups, organizations and branches
  • Browse courses, learning paths, certification programs, ILT programs, sessions and meetings
  • Read enrollment, completion, attendance, certificate and CEU records per user or program
  • Run course, certification, learning path, ILT and user transcript reports with filters and paging
  • Enroll or unenroll users in courses, learning paths and ILT sessions, mark attendance, create and update users and usergroups
  • Check monthly usage, request a feature, upgrade or cancel a subscription
When to use it
Useful when an assistant should answer questions about training progress, completion, certifications and attendance in Axis LMS, or carry out routine enrollment and attendance administration without opening the LMS interface.
Requirements
Remote MCP endpoint; no local install. Sign-in uses OAuth, and the login page asks for the web address of your Axis LMS (https) and an Axis REST API key, with the Axis REST API enabled on that system. Credentials are stored per user. A free plan allows 50 tool calls per month.
Before you install
Write tools change LMS data: enrollments, attendance, user creation and updates, usergroups. Many read tools return personal data such as names, emails, addresses and phone numbers. The server asks for an Axis REST API key and stores it per user. Paid plans cost money and upgrade returns a payment link; cancellation has no refund for the current period. Usage is metered per month.

Installation

In SourceWeft

  1. Open Axis LMS MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Faxis-lms/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "axis-lms-by-usefulapi": {
      "type": "http",
      "url": "https://axis-lms.usefulapi.io/mcp"
    }
  }
}

README

Axis LMS MCP by usefulapi

Read Axis LMS users, courses, learning paths, certifications and reports; manage enrollments.

Live endpoint: https://axis-lms.usefulapi.io/mcp · Homepage: https://usefulapi.io/axis-lms

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://axis-lms.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http axis-lms https://axis-lms.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "axis-lms": {      "url": "https://axis-lms.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Axis LMS credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/axis-lms/

On first connect you'll enter the web address of your Axis LMS (https) and an Axis REST API key (System > Integrations > Axis REST API > Manage API Keys; the Axis REST API must be enabled for your system). Your credentials are validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
axislms_list_usersreadList users
axislms_get_userreadGet user
axislms_search_usersreadSearch users
axislms_count_usersreadCount users
axislms_list_coursesreadList courses
axislms_count_coursesreadCount courses
axislms_get_coursereadGet course
axislms_list_course_usersreadList users in a course
axislms_list_usergroupsreadList usergroups
axislms_get_usergroupreadGet usergroup
axislms_list_usergroup_membersreadList usergroup members
axislms_list_learningpathsreadList learning paths
axislms_list_learningpath_usersreadList users in a learning path
axislms_list_certificationsreadList certification programs
axislms_get_certificationreadGet certification program
axislms_list_certification_usersreadList certified users
axislms_list_user_certificatesreadList a user's certifications
axislms_list_user_ceusreadList a user's CEU credits
axislms_list_ilt_programsreadList ILT programs
axislms_get_ilt_programreadGet ILT program
axislms_list_ilt_sessionsreadList ILT sessions
axislms_list_ilt_meetingsreadList ILT meetings
axislms_list_ilt_completionsreadList ILT completions
axislms_list_user_ilt_sessionsreadList a user's ILT sessions
axislms_list_organizationsreadList organizations
axislms_list_organization_branchesreadList organization branches
axislms_list_organization_usersreadList organization users
axislms_course_reportreadCourse report
axislms_certification_reportreadCertification report
axislms_learningpath_reportreadLearning path report
axislms_ilt_reportreadILT report
axislms_user_reportreadUser transcript report
axislms_enroll_user_in_coursewriteEnroll a user in a course
axislms_unenroll_user_from_coursewriteRemove a user from a course
axislms_enroll_user_in_learningpathwriteEnroll a user in a learning path
axislms_unenroll_user_from_learningpathwriteRemove a user from a learning path
axislms_enroll_user_in_ilt_sessionwriteEnroll a user in an ILT session
axislms_unenroll_user_from_ilt_sessionwriteRemove a user from an ILT session
axislms_mark_ilt_attendancewriteMark ILT attendance
axislms_create_userwriteCreate a user
axislms_update_userwriteUpdate a user
axislms_create_usergroupwriteCreate a usergroup
axislms_add_usergroup_memberwriteAdd a user to a usergroup
axislms_remove_usergroup_memberwriteRemove a user from a usergroup
axislms_usage_statusmetaUsage status (free-tier meter)
axislms_request_featuremetaRequest a missing feature
axislms_upgrademetaUpgrade to Pro or Pro+
axislms_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per LMS)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with axislms_upgrade (it returns a Stripe Checkout link). Cancel any time with axislms_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running axislms_upgrade before then undoes the cancel. Or write to [email protected].

License

Source: servers/axis-lms/README.md at commit 4046075

Tools

44

axislms_list_users

List users

List the LMS users (id and username only), active, inactive or all. Not paged: a large LMS returns every user. For names, emails or filters use axislms_search_users. GET /users/list/{status}/.

Parametersstatus

axislms_get_user

Get user

One user by id with the fields you ask for: profile (name, email, address, phone, custom1-15, role, manager_id, dates), usergroups, enrolled courses, ILT classes, certifications, learning paths, badges, organizations and system variables. Contains personal data. GET /users/{id}/?fields=.

Parametersfieldsuser_idrequired

axislms_search_users

Search users

Page through all users, or only those matching a search phrase (for example email~example.com,role=manager), returning the fields you ask for. Contains personal data. GET /users/all/ or /users/filtered/ (page{n}).

Parameterspagefieldsuser_filter

axislms_count_users

Count users

Number of users, all or matching a search phrase. GET /users/all/count/ or /users/filtered/count/?user_filter=.

Parametersuser_filter

axislms_list_courses

List courses

List the active online courses (id and name), plus the count. GET /courses/list/.

Takes no parameters.

axislms_count_courses

Count courses

Number of active online courses. GET /courses/count/.

Takes no parameters.

axislms_get_course

Get course

One online course: name, catalog id, description, active flag, created/updated dates, keyword tags, passing score, price and whether it is for sale, thumbnail, webhook. GET /courses/{id}/.

Parameterscourse_idrequired

axislms_list_course_users

List users in a course

Users enrolled in a course with their access start and end dates (YYYYMMDD): active, expired or all enrollments. GET /courses/{id}/users/{status}/.

Parametersstatuscourse_idrequired

axislms_list_usergroups

List usergroups

List usergroups (id and name). GET /usergroups/list/.

Takes no parameters.

axislms_get_usergroup

Get usergroup

One usergroup: name, member counts (active, inactive, total) and owner. GET /usergroups/{id}/.

Parametersusergroup_idrequired

axislms_list_usergroup_members

List usergroup members

Members of a usergroup (id and username): active, inactive or all. GET /usergroups/{id}/members/{status}/.

Parametersstatususergroup_idrequired

axislms_list_learningpaths

List learning paths

List the active learning paths (id and name). GET /learningpaths/list/.

Takes no parameters.

axislms_list_learningpath_users

List users in a learning path

Active enrolled users of a learning path (or one user), with status, start and completion time, completion method, path version, current branch and step, and progress. GET /learningpaths/{id}/users/[{user_id}/].

Parametersuser_idlearningpath_idrequired

axislms_list_certifications

List certification programs

List certification programs (id and name): active, inactive or all. GET /certifications/list/{status}/.

Parametersstatus

axislms_get_certification

Get certification program

One certification program: name, prefix, description, keyword tags, webhook and status. GET /certifications/{program_id}/.

Parametersprogram_idrequired

axislms_list_certification_users

List certified users

Users certified in a certification program (id and username). GET /certifications/{program_id}/users/.

Parametersprogram_idrequired

axislms_list_user_certificates

List a user's certifications

The certifications a user holds: program, certification number, issue, renew and expire dates (YYYYMMDD). GET /certifications/certificates/{user_id}/.

Parametersuser_idrequired

axislms_list_user_ceus

List a user's CEU credits

Continuing-education credits (CEUs) a user earned: type, name, credits and issue date. GET /certifications/ceus/{user_id}/.

Parametersuser_idrequired

axislms_list_ilt_programs

List ILT programs

List instructor-led training (ILT) programs (id and name). GET /ilt/list/.

Takes no parameters.

axislms_get_ilt_program

Get ILT program

One ILT program: name, catalog id, description and keyword tags. GET /ilt/{program_id}/.

Parametersprogram_idrequired

axislms_list_ilt_sessions

List ILT sessions

Sessions of an ILT program with start and end dates and seats (total, reserved, remaining): current ones or all. GET /ilt/{program_id}/sessions/{current|all}/.

Parametersscopeprogram_idrequired

axislms_list_ilt_meetings

List ILT meetings

Meetings of one ILT session: date, time, timezone, duration, GMT start and end, facility. GET /ilt/{program_id}/meetings/{session_id}/.

Parametersprogram_idrequiredsession_idrequired

axislms_list_ilt_completions

List ILT completions

Users who completed an ILT program, or one session of it (id and username). GET /ilt/{program_id}/completions/[{session_id}/].

Parametersprogram_idrequiredsession_id

axislms_list_user_ilt_sessions

List a user's ILT sessions

ILT sessions a user is part of: program, session, start and end dates and percent attended. GET /ilt/users/{user_id}/sessions/.

Parametersuser_idrequired

axislms_list_organizations

List organizations

List organizations with owner id and user count, all or those owned by one manager (owner id 0 = the partition admin). GET /organizations/list/{all|owner_id}/.

Parametersowner_id

axislms_list_organization_branches

List organization branches

The branches of an organization (nested branches included). GET /organizations/branches/{organization_id}/.

Parametersorganization_idrequired

axislms_list_organization_users

List organization users

Users in an organization (id, username, branch id): active, inactive or all. GET /organizations/users/{organization_id}/{status}/.

Parametersstatusorganization_idrequired

axislms_course_report

Course report

Who is doing what in one online course: user, status, progress %, score, start and completion date (YYYYMMDD). Filter by users, status, progress, score and dates. Limited to users currently enrolled who accessed the course or have score data. Paged (100 per page). GET /reports/courses/{course_id}/.

Parameterspagestatuscourse_idrequiredmax_scoremin_scorecount_onlyuser_filtermax_progressmin_progressmax_start_datemin_start_datemax_completion_date+1 more

axislms_certification_report

Certification report

Certifications issued in one certification program: user, certification number, how it was earned, issue, renewed and expire date (YYYYMMDD). Filter by users, number, method and dates. Paged (100 per page). GET /reports/certifications/{program_id}/.

Parameterspagecount_onlyprogram_idrequireduser_filtermethod_earnedmax_issue_datemin_issue_datemax_expire_datemin_expire_datemax_renewed_datemin_renewed_datecertification_number

axislms_learningpath_report

Learning path report

Learning path enrollments and results for one path: user, status (complete or incomplete), active or archived, start and completion date (YYYYMMDD). Paged (100 per page). GET /reports/learningpaths/{learningpath_id}/.

Parameterspagetypestatuscount_onlyuser_filtermax_start_datemin_start_datelearningpath_idrequiredmax_completion_datemin_completion_date

axislms_ilt_report

ILT report

Attendance and results of one ILT program: user, session, start and end date, meetings and meetings attended, status. Filter by users, status, session and dates. Paged (100 per page). GET /reports/ilt/{program_id}/.

Parameterspagestatuscount_onlyprogram_idrequiredsession_iduser_filtermax_end_datemin_end_datesession_namemethod_earnedmax_start_datemin_start_date+3 more

axislms_user_report

User transcript report

A learner's records across the LMS, for one user, for all users, or for users matching a search phrase. kind: courses (status, progress, score, dates), archived (archived and imported course results), certifications, ilt, or learningpaths. Contains personal data; paged (100 per page). GET /reports/users/{user_id|all|filtered}/{kind}/.

Parameterskindrequiredpagescoperequireduser_idcount_onlyuser_filter

axislms_enroll_user_in_course

Enroll a user in a course

WRITE: enroll a user in an online course (optionally with access start and end dates). The user and the course must be active. If the user is already enrolled, send start or end to change the enrollment dates. Depending on the LMS settings the user may be notified. POST /courses/enrollments/{course_id}/{user_id}/.

Parametersendstartuser_idrequiredcourse_idrequired

axislms_unenroll_user_from_course

Remove a user from a course

WRITE: remove a user from an online course. The user loses access to the course. DELETE /courses/enrollments/{course_id}/{user_id}/.

Parametersuser_idrequiredcourse_idrequired

axislms_enroll_user_in_learningpath

Enroll a user in a learning path

WRITE: enroll an active user in a learning path. The user must not already be enrolled. POST /learningpaths/enrollments/{learningpath_id}/users/{user_id}/.

Parametersuser_idrequiredlearningpath_idrequired

axislms_unenroll_user_from_learningpath

Remove a user from a learning path

WRITE: remove a user from a learning path they are enrolled in. DELETE /learningpaths/enrollments/{learningpath_id}/users/{user_id}/.

Parametersuser_idrequiredlearningpath_idrequired

axislms_enroll_user_in_ilt_session

Enroll a user in an ILT session

WRITE: enroll a user in a session of an ILT program (takes a seat; check seats_remaining with axislms_list_ilt_sessions first). POST /ilt/enrollments/{program_id}/{session_id}/{user_id}/.

Parametersuser_idrequiredprogram_idrequiredsession_idrequired

axislms_unenroll_user_from_ilt_session

Remove a user from an ILT session

WRITE: remove a user from a session of an ILT program. DELETE /ilt/enrollments/{program_id}/{session_id}/{user_id}/.

Parametersuser_idrequiredprogram_idrequiredsession_idrequired

axislms_mark_ilt_attendance

Mark ILT attendance

WRITE: mark a user attended or absent for one ILT meeting. The user must already be enrolled in the meeting. Attendance can count toward completion. PUT /ilt/attendance/{program_id}/{session_id}/{meeting_id}/{user_id}/{attended|absent}/.

Parametersuser_idrequiredattendancerequiredmeeting_idrequiredprogram_idrequiredsession_idrequired

axislms_create_user

Create a user

WRITE: create a new LMS user. The username must be 4-40 characters (letters, numbers, @ . _ -) and not in use. Returns the new user id. The temporary password the LMS generates is never shown here: give the person access through the LMS itself (its password reset, invitation or single sign-on). Depending on the LMS settings the user may be notified. POST /users/.

Parameterszipcityroleemailphonestateaddresscompanycustom1custom2custom3custom4+19 more

axislms_update_user

Update a user

WRITE: change profile fields of an existing user (only the fields you send are changed; an empty value is not sent, so a field cannot be cleared here). This edits personal data and can change the user's role or manager. PUT /users/{user_id}/.

Parameterszipcityroleemailphonestateaddresscompanycustom1custom2custom3custom4+19 more

axislms_create_usergroup

Create a usergroup

WRITE: create a usergroup. The name must be 4-99 characters (letters, numbers, spaces and @ . _ -). Returns its id. POST /usergroups/{name}/.

Parametersnamerequired

axislms_add_usergroup_member

Add a user to a usergroup

WRITE: add a user to a usergroup (they must not already be a member). Groups can drive course or path assignments. POST /usergroups/members/{usergroup_id}/{user_id}/.

Parametersuser_idrequiredusergroup_idrequired

axislms_remove_usergroup_member

Remove a user from a usergroup

WRITE: remove a user from a usergroup they are a member of. DELETE /usergroups/members/{usergroup_id}/{user_id}/.

Parametersuser_idrequiredusergroup_idrequired

Version history

14
  1. v1.15.4LatestNov 7, 2026
  2. v1.14.3Nov 5, 2026
  3. v1.14.2Nov 5, 2026
  4. v1.14.1Nov 4, 2026
  5. v1.14.0Nov 3, 2026
  6. v1.13.1Nov 3, 2026
  7. v1.12.0Nov 1, 2026
  8. v1.10.0Oct 31, 2026
  9. v1.9.0Oct 31, 2026
  10. v1.8.2Oct 30, 2026
  11. v1.8.0Oct 30, 2026
  12. v1.3.0Oct 26, 2026
  13. v1.0.3Oct 25, 2026
  14. v1.0.0Oct 25, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations