Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOSTNoHTTP bind address0.0.0.0
PORTNoHTTP listen port8765
MCP_HTTP_PATHNoHTTP MCP route/mcp
MCP_TRANSPORTNostdio or http (the Docker image defaults to http)stdio
MCP_SHARED_TOKENNoRequire Authorization: Bearer <token> on /mcp
LEARNWORLDS_BASE_URLYesYour school's API base URL
LEARNWORLDS_API_TOKENYesBearer access token
LEARNWORLDS_CLIENT_IDYesSent as the Lw-Client header
LEARNWORLDS_TIMEOUT_MSNoPer-attempt request timeout30000
LEARNWORLDS_MAX_RETRIESNoRetries on 429 / 5xx / network errors3
LEARNWORLDS_MAX_REQUESTSNoClient-side requests per window (0 disables throttling)25
LEARNWORLDS_OPENAPI_PATHNoLoad a different OpenAPI YAML
LEARNWORLDS_RATE_WINDOW_MSNoRate-limit window in ms10000

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_coursesA

🟢 READ-ONLY · Courses · GET /v2/courses

Get all courses

Returns a list of all courses of the school. The courses are in sorted order, with the most recently created course appearing first, and the list is paginated, with a limit of 50 courses per page.

create_courseA

🟡 WRITE · creates data · Courses · POST /v2/courses

Create a course

Creates a new course. The endpoint response is the created Course resource.

get_courseA

🟢 READ-ONLY · Courses · GET /v2/courses/{id}

Get a course

Returns information about the course specified by the provided course id.

update_courseA

🟡 WRITE · updates data · Courses · PUT /v2/courses/{id}

Update a course

Updates the course specified by the provided course id. The endpoint response is the updated Course resource.

get_analytics_courseA

🟢 READ-ONLY · Reporting · GET /v2/courses/{id}/analytics

Get analytics for a course

Returns analytics about the course specified by the provided course id.

get_analytics_learning_activityB

🟢 READ-ONLY · Reporting · GET /v2/courses/{id}/units/{uid}/analytics

Get analytics for a learning activity

Returns analytics about a learning activity of a course specified by the provided course id and learning activity id.

get_bundlesA

🟢 READ-ONLY · Bundles · GET /v2/bundles

Get all bundles

Returns a list of all bundles of the school. The bundles are in sorted order, with the most recently created bundle appearing first, and the list is paginated, with a limit of 20 bundles per page.

get_bundleB

🟢 READ-ONLY · Bundles · GET /v2/bundles/{id}

Get a bundle

Returns the bundle specified by the provided bundle id.

get_list_subscription_plansB

🟢 READ-ONLY · Subscription plans · GET /v2/subscription-plans

Get a list of subscription plans

Returns a list of all subscription plans. The subscription plans are in sorted order, with the most recently created subscription plan appearing first, and the list is paginated, with a limit of 50 subscription plans per page.

get_subscription_planA

🟢 READ-ONLY · Subscription plans · GET /v2/subscription-plans/{id}

Get subscription plan

Returns the subscription plan specified by the provided subscription plan id.

get_users_subscriptionsA

🟢 READ-ONLY · User subscriptions · GET /v2/user-subscriptions

Get users subscriptions

Returns a list with the user subscriptions. The subscriptions are in sorted order based on user's creation date in descending order and the list is paginated, with a limit of 20 subscriptions per page. To refine the list of subscriptions, there are a number of query params outlined in the following section; In case more than one Query param is provided, then all of them will be applied (AND operator).

get_active_installmentsA

🟢 READ-ONLY · Installments · GET /v2/installments/active

Get active installments

Return a list with active installments of users. The installments are in sorted order based on user's creation date in descending order, and the list is paginated, with a limit of 50 installments per page. To refine the list of installments, there are a number of query params outlined in the following section; In case more than one Query param is provided, then all of them will be applied (AND operator).

get_school_eventsA

🟢 READ-ONLY · Calendar · GET /v2/school/events

Get school events

Returns all the upcoming scheduled school events, regarding course drip feed, file assignment and live session.

get_usersA

🟢 READ-ONLY · Users · GET /v2/users

Get all users

Returns a list with all the users of the school. The users are in sorted order, with the most recently created user appearing first, and the list is paginated, with a default limit of 20 users per page. To refine the list of users, there are a number of query params outlined in the following section; In case more than one Query param is provided, then all of them will be applied (AND operator).

create_userA

🟡 WRITE · creates data · Users · POST /v2/users

Create a user

Creates a new user. The endpoint response is the created User resource.

get_userA

🟢 READ-ONLY · Users · GET /v2/users/{id}

Get a user

Returns the user specified by the provided user id.

update_userB

🟡 WRITE · updates data · Users · PUT /v2/users/{id}

Update a user

Updates user information. The endpoint response is the updated User resource.

get_courses_enrollments_userA

🟢 READ-ONLY · Users · GET /v2/users/{id}/courses

Get courses (enrollments) of user

Returns a list with all course enrollment data of the specified user. The list is paginated, with a limit of 50 course enrollments per page.

get_users_per_courseA

🟢 READ-ONLY · Courses · GET /v2/courses/{id}/users

Get all users per course

Retrieves all the users enrolled in the course specified by the provided course id. The users are in sorted order, with the most recently created user appearing first, and the list is paginated, with a default limit of 20 users per page.

create_course_sectionB

🟡 WRITE · creates data · Courses · POST /v2/courses/{id}/sections

Create course section

Creates a new course section in the course, specified by the course id. The endpoint response is the course contents including the newly created section.

get_paymentsA

🟢 READ-ONLY · Payments · GET /v2/payments

Get payments

Returns a list with all the payments. The payments are in sorted order, with the most recently created payment appearing first, and the list is paginated, with a default limit of 50 payments per page. To refine the list of payments, there are a number of query params outlined in the following section; In case more than one Query param is provided, then all of them will be applied (AND operator).

get_paymentB

🟢 READ-ONLY · Payments · GET /v2/payments/{id}

Get payment

Returns information about the payment specified by the provided payment id.

get_contents_courseA

🟢 READ-ONLY · Courses · GET /v2/courses/{id}/contents

Get contents of a course

Returns the contents of the course specified by the provided course id. Includes sections and learning activities.

get_leadsA

🟢 READ-ONLY · Leads · GET /v2/leads

Get leads

Returns a list with all the leads of the school. The leads are in sorted order, with the most recently created leads appearing first, and the list is paginated, with a limit of 20 leads per page.

get_products_userA

🟢 READ-ONLY · Users · GET /v2/users/{id}/products

Get products of user

Returns a list with all the products of the user specified by the provided user id.

update_user_tagsA

🟡 WRITE · updates data · Users · PUT /v2/users/{id}/tags

Update user tags

Updates the tags of the user specified by the provided user Id or email. The endpoint response is the updated User resource.

get_promotions_couponsA

🟢 READ-ONLY · Promotions · GET /v2/promotions/{pid}/coupons

Get promotions coupons

Returns all coupons for the promotion specified by the provided promotion id.

create_coupon_promotionA

🟡 WRITE · creates data · Promotions · POST /v2/promotions/{pid}/coupons

Create a coupon in a promotion

Creates a coupon for the promotion specified by the provided promotion id. The endpoint response is the created coupon resource.

get_coupon_usageA

🟢 READ-ONLY · Promotions · GET /v2/promotions/{pid}/coupons/{cid}/usage

Get coupon usage

Returns information about the coupon specified by the provided promotion id and coupon code. More specifically, the coupon usage details are listed along with the asocciated payments.The payments are in sorted order, with the most recently created payment appearing first, and the list is paginated, with a limit of 50 payments per page.

enroll_user_productC

🟡 WRITE · creates data · Users · POST /v2/users/{id}/enrollment

Enroll user to product

Enroll user to product, regarding course, bundle, manual subscription

unenroll_user_productB

🔴 DESTRUCTIVE · deletes · Users · DELETE /v2/users/{id}/enrollment

Unenroll user from product

Unenroll user from a product specified by the provided product id

get_affiliatesA

🟢 READ-ONLY · Affiliates · GET /v2/affiliates

Get affiliates

Returns a list with all the affiliates of the school. The affiliates are in sorted order, with the most recently created affiliate appearing first, and the list is paginated, with a limit of 20 affiliates per page.

get_leads_per_affiliateA

🟢 READ-ONLY · Affiliates · GET /v2/affiliates/{id}/leads

Get all leads per affiliate

Retrieves all the leads connected with the affiliate specified by the provided affiliate id. The leads are in sorted order, with the most recently created lead appearing first, and the list is paginated, with a limit of 20 leads per page.

update_certificate_reissueC

🟡 WRITE · updates data · Certificates · PUT /v2/certificates/{id}

Update a certificate (Reissue)

Updates the certificate specified by the provided certificate id.

delete_certificate_revoke_invalidateB

🔴 DESTRUCTIVE · deletes · Certificates · DELETE /v2/certificates/{id}

Delete a certificate (Revoke / Invalidate)

Deletes the certificate specified by the provided certificate id.

get_promotionsA

🟢 READ-ONLY · Promotions · GET /v2/promotions

Get promotions

Returns a list with all the promotions of the school. The promotions are in sorted order, with the most recently created promotion appearing first, and the list is paginated, with a limit of 20 promotions per page.

create_promotionA

🟡 WRITE · creates data · Promotions · POST /v2/promotions

Create a promotion

Create a new Promotion without coupons. The endpoint response is the created Promotion resource.

get_customers_per_affiliateA

🟢 READ-ONLY · Affiliates · GET /v2/affiliates/{id}/customers

Get all customers per affiliate

Retrieves all the customers connected with the affiliate specified by the provided affiliate id. The customers are in sorted order, with the most recently created customer appearing first, and the list is paginated, with a limit of 20 customers per page.

get_affiliate_paymentsA

🟢 READ-ONLY · Affiliates · GET /v2/affiliates/{id}/payments

Get affiliate payments

Returns a list with all the affiliate payments. The payments are in sorted order, with the most recently created payment appearing first, and the list is paginated, with a limit of 50 payments per page. To refine the list of payments, there are a number of query params outlined in the following section; In case more than one Query param is provided, then all of them will be applied (AND operator).

get_invoice_link_per_paymentA

🟢 READ-ONLY · Payments · GET /v2/payments/{id}/invoice-link

Get invoice link per payment

Returns the invoice number and a private expiring link to acccess the invoice.

get_user_progress_per_courseA

🟢 READ-ONLY · Reporting · GET /v2/users/{id}/courses/{cid}/progress

Get user progress per course

Returns information about the user progress for the user and course specified by the provided user id and course id. The result also includes the breakdown of user progress data per learning activity.

get_user_segmentsA

🟢 READ-ONLY · Users · GET /v2/users/segments

Get user segments

Returns a list of all user segments in the school.

suspend_userA

🟡 WRITE · updates data · Users · PUT /v2/users/{id}/suspend

Suspend a user

Suspends a user from loging in or creating another account. The endpoint response is the suspended User resource.

unsuspend_userA

🟡 WRITE · updates data · Users · PUT /v2/users/{id}/unsuspend

Unsuspend a user

Unsuspends a user. The endpoint response is the unsuspended User resource.

get_certificatesA

🟢 READ-ONLY · Certificates · GET /v2/certificates

Get certificates

Returns a list with certificates. The certificates are in sorted order, with the most recently created user appearing first, and the list is paginated, with a limit of 20 certificates per page. To refine the list of certificates, there are a number of query params outlined in the following section; In case more than one Query param is provided, then all of them will be applied (AND operator). At least one query parameter is required.

get_promotionA

🟢 READ-ONLY · Promotions · GET /v2/promotions/{id}

Get promotion

Returns the promotion specified by the provided promotion id.

get_users_segmentA

🟢 READ-ONLY · Users · GET /v2/users/by-segment

Get all users by segment

Retrieves all the users in the segment specified by the provided segment id. The users are in sorted order, with the most recently created user appearing first, and the list is paginated, with a limit of 20 user per page.

get_users_productA

🟢 READ-ONLY · Users · GET /v2/users/by-product

Get all users by product

Retrieves all the users with access to the product specified by the provided product id. The users are in sorted order, with the most recently created user appearing first, and the list is paginated, with a limit of 20 users per page.

get_upcoming_affiliate_payoutsB

🟢 READ-ONLY · Affiliates · GET /v2/affiliates/{id}/payouts/upcoming

Get upcoming affiliate payouts

Returns the upcoming payouts specified by the provided affiliate id

get_due_affiliate_payoutsB

🟢 READ-ONLY · Affiliates · GET /v2/affiliates/{id}/payouts/due

Get due affiliate payouts

Returns the due payouts related to the provided affiliate

get_completed_affiliate_payoutsA

🟢 READ-ONLY · Affiliates · GET /v2/affiliates/{id}/payouts/completed

Get completed affiliate payouts

Returns a list with all the completed payouts related to the provided affiliate. The payouts are in sorted order, with the most recently created payouts appearing first, and the list is paginated, with a limit of 20 payouts per page.

create_coupons_promotion_bulkB

🟡 WRITE · creates data · Promotions · POST /v2/promotions/{id}/coupons-bulk

Create coupons in a promotion (Bulk)

Bulk create coupons in a promotion. The endpoint response is an array with the created coupon resources.

get_event_logsA

🟢 READ-ONLY · Event logs · GET /v2/event-logs

Get event logs

Returns a list with all event logs of the school. The list is paginated, with a limit of 50 event logs per page. To refine the list of event logs, there are a number of query params outlined in the following section; In case more than one Query param is provided, then all of them will be applied (AND operator).

make_affiliateB

🟡 WRITE · creates data · Affiliates · POST /v2/affiliates/{id}

Make an affiliate

Makes a user specified by the provided user id an affiliate. The endpoint response is the affiliate resource.

get_user_progressA

🟢 READ-ONLY · Reporting · GET /v2/users/{id}/progress

Get user progress

Returns information about the user progress, for the user specified by the provided user id, for all courses the user is enrolled in. The result also includes the breakdown of user progress data per learning activity. The list is paginated, with a default limit of 20 course progress data per page.

get_course_gradesA

🟢 READ-ONLY · Courses · GET /v2/courses/{id}/grades

Get course grades

Retrieves the grades of all enrolled users in the course specified by the provided course id. The list is paginated with a limit of 20 grades per page.

get_assessment_responsesA

🟢 READ-ONLY · Assessments · GET /v2/assessments/{id}/responses

Get assessment responses

Retrieves all the responses a user has submitted in an assessment, with the most recent submission appearing first. The list is paginated with a limit of 20 responses per page.

get_form_responsesB

🟢 READ-ONLY · Assessments · GET /v2/forms/{id}/responses

Get form responses

Retrieves all the responses a user has submitted in a form, with the most recent submission appearing first. The list is paginated with a limit of 20 responses per page.

mark_as_completeB

🟡 WRITE · creates data · Update user progress · POST /v2/users/{id}/courses/{cid}/complete

Mark as complete

Updates the user's progress on a course or learning activity level as complete.

reset_user_progressC

🟡 WRITE · creates data · Update user progress · POST /v2/users/{id}/courses/{cid}/reset

Reset user progress

Resets the user's progress on a course or learning activity level.

get_progress_asynchronous_actionB

🟢 READ-ONLY · Asynchronous actions · GET /v2/async-actions/{id}

Get the progress of an asynchronous action

Returns information about the progress of an asynchronous action.

get_seat_offeringsA

🟢 READ-ONLY · Multiple seats · GET /v2/seats

Get all seat offerings

Returns a list of all seat offerings of the school. The seat offerings are in sorted order, with the most recently created appearing first and the list is paginated, with a default limit of 20 users per page.

create_seat_offeringB

🟡 WRITE · creates data · Multiple seats · POST /v2/seats

Create a seat offering

Creates a new seat offering. The endpoint response is the created Seat offering resource.

get_specific_seat_offeringB

🟢 READ-ONLY · Multiple seats · GET /v2/seats/{id}

Get a specific seat offering

Returns the seat offering specified by the provided seat offering id.

update_seat_offeringB

🟡 WRITE · updates data · Multiple seats · PUT /v2/seats/{id}

Update a seat offering

Updates a seat offering. The endpoint response is the updated seat offering resource.

delete_seat_offeringA

🔴 DESTRUCTIVE · deletes · Multiple seats · DELETE /v2/seats/{id}

Delete a seat offering

Deletes a specific seat offering asynchronously. This endpoint removes a seat offering identified by its unique ID. The deletion request is processed asynchronously, meaning the operation may continue after the initial request is accepted.

get_users_seat_offeringA

🟢 READ-ONLY · Multiple seats · GET /v2/seats/{id}/users

Get all users of seat offering

Retrieves all the users who are members of the seat offering specified by the provided seat offering id. The users are in sorted order, with the most recently created user appearing first, and the list is paginated, with a default limit of 20 users per page.

add_user_seat_offeringA

🟡 WRITE · creates data · Multiple seats · POST /v2/seats/{id}/users/{uid}

Add a user to a seat offering

Add a user to the seat offering specified by the provided seat offering id. Additionally there is the option to assign the user a seat in the seat offering.

remove_user_seatA

🔴 DESTRUCTIVE · deletes · Multiple seats · DELETE /v2/seats/{id}/users/{uid}

Remove user from a seat

Remove a user from a seat and optionally from the seat offering.

get_seat_offerings_that_user_is_memberA

🟢 READ-ONLY · Users · GET /v2/users/{id}/seats

Get seat offerings that a user is member of

Returns a list of all seat offerings that the specified user is a member of.

get_user_groupsA

🟢 READ-ONLY · User groups · GET /v2/user_groups

Get all user groups

Returns a list of all user groups of the school. The user groups are in sorted order, with the most recently created appearing first and the list is paginated, with a default limit of 20 users per page.

create_user_groupB

🟡 WRITE · creates data · User groups · POST /v2/user_groups

Create a user group

Creates a new user group. The endpoint response is the created user group resource.

get_user_groupA

🟢 READ-ONLY · User groups · GET /v2/user_groups/{id}

Get a user group

Returns the user group specified by the provided user group id.

update_user_groupC

🟡 WRITE · updates data · User groups · PUT /v2/user_groups/{id}

Update a user group

Updates a user group. The endpoint response is the updated user group resource.

deletes_user_groupA

🔴 DESTRUCTIVE · deletes · User groups · DELETE /v2/user_groups/{id}

Deletes a user group

Deletes a specific user group asynchronously. This endpoint removes a user group identified by its unique ID. The deletion request is processed asynchronously, meaning the operation may continue after the initial request is accepted.

get_users_user_groupA

🟢 READ-ONLY · User groups · GET /v2/user_groups/{id}/users

Get users of a user group

Retrieves all the users who are members of the user group specified by the provided group id. The users are in sorted order, with the most recently created user appearing first, and the list is paginated, with a default limit of 20 users per page.

add_user_user_groupC

🟡 WRITE · creates data · User groups · POST /v2/user_groups/{id}/users/{uid}

Add a user to a user group

Add a user to a user group.

remove_user_user_groupB

🔴 DESTRUCTIVE · deletes · User groups · DELETE /v2/user_groups/{id}/users/{uid}

Remove user from a user group

Remove a user from a user group.

get_user_groups_that_user_is_memberA

🟢 READ-ONLY · Users · GET /v2/users/{id}/user-groups

Get user groups that a user is member of

Returns a list of all user group that the specified user is a member of.

get_user_rolesA

🟢 READ-ONLY · User roles · GET /v2/user-roles

Get all user roles

Returns a list with all the user roles of the school. The roles are in alphabetical ascending order according to their title.

get_user_role_userA

🟢 READ-ONLY · Users · GET /v2/users/{id}/user-role

Get user role of a user

Returns the user role of the user specified by the provided user id. Includes the assigned resources, if applicable (assigned course(s) for instructor role, assigned user group(s) for user group managers, assigned seat offering(s) for segment manager, assigned segment for reporter roles).

update_user_role_userB

🟡 WRITE · updates data · Users · PUT /v2/users/{id}/user-role

Update user role of a user

Updates the role assigned to the user.

get_community_collectionsA

🟢 READ-ONLY · Community · GET /v2/community/collections

Get all community collections

Returns a list with all community collections of the school. The community collections are in sorted order, with the oldest created collections appearing first

get_community_spacesA

🟢 READ-ONLY · Community · GET /v2/community/spaces

Get community spaces

Returns a list with all community spaces of the school. The community spaces are in sorted order, with the oldest created spaces appearing first

create_community_spaceB

🟡 WRITE · creates data · Community · POST /v2/community/spaces

Create community space

Create a community space. The endpoint response is the created community Space resource.

get_community_spaceA

🟢 READ-ONLY · Community · GET /v2/community/spaces/{id}

Get a community space

Returns information about the community space specified by the provided space id.

update_community_spaceB

🟡 WRITE · updates data · Community · PUT /v2/community/spaces/{id}

Update a community space

Updates the community space specified by the provided space id. The endpoint response is the updated community space resource.

delete_community_spaceA

🔴 DESTRUCTIVE · deletes · Community · DELETE /v2/community/spaces/{id}

Delete a community space

Deletes the community space specified by the provided space id.

get_users_community_spaceA

🟢 READ-ONLY · Community · GET /v2/community/spaces/{id}/users

Get users of a community space

Returns a list with all the users of the space. The users are in sorted order, with the oldest created user appearing first, and the list is paginated, with a default limit of 10 users per page.

add_invite_users_community_spaceA

🟡 WRITE · creates data · Community · POST /v2/community/spaces/{id}/users

Add/Invite users to a community space

Adds or invites users to a space. If space has is_invitation_required property set to true then users will be sent an invitation in their inbox to join, otherwise they will be directly added. Returns an array of the affected users, if the user is already in space, the user will not be returned.

remove_user_community_spaceA

🔴 DESTRUCTIVE · deletes · Community · DELETE /v2/community/spaces/{id}/users/{uid}

Remove a user from a community space

Removes the user specified by the provided user id from the provide space id.

get_community_postsA

🟢 READ-ONLY · Community · GET /v2/community/posts

Get community posts

Returns a list with all the posts of the school community. The post are in sorted order, with the most recently created post appearing first, and the list is paginated, with a default limit of 10 posts per page. To refine the list of posts, there are a number of query params outlined in the following section; In case more than one Query param is provided, then all of them will be applied (AND operator).

get_community_postA

🟢 READ-ONLY · Community · GET /v2/community/posts/{id}

Get a community post

Returns information about the community post specified by the provided post id.

review_submission_user_s_assessment_submissionA

🟡 WRITE · creates data · Assessments · POST /v2/assessments/scores/{id}/review

Review the submission of a user's assessment submission

Updates the grades and feedback for each delivered question in an assessment submission and calculates the new grades

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ohneben/Learnworlds-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server