LearningSuite MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LEARNINGSUITE_API_KEY | Yes | Your LearningSuite API key from the Admin Dashboard. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| learningsuite_check_authA | Check if the API key is valid and get authorization info |
| learningsuite_list_membersB | Get all members with optional filtering and pagination |
| learningsuite_create_memberB | Create a new member in LearningSuite |
| learningsuite_get_memberA | Get a member by ID |
| learningsuite_get_member_by_emailB | Get a member by email address |
| learningsuite_update_memberC | Update a member's information |
| learningsuite_delete_memberC | Delete a member |
| learningsuite_get_member_coursesA | Get all courses for a member with access and progress info |
| learningsuite_add_member_to_coursesC | Add a member to one or more courses |
| learningsuite_remove_member_from_coursesA | Remove a member from one or more courses |
| learningsuite_get_member_course_infoA | Get access and progress info for a member in a specific course |
| learningsuite_get_member_bundlesB | Get all bundles of a member with access information |
| learningsuite_add_member_to_bundlesB | Add a member to one or more bundles |
| learningsuite_remove_member_from_bundlesA | Remove a member from one or more bundles |
| learningsuite_list_team_membersA | Get team members (users with admin zone access) |
| learningsuite_get_team_memberA | Get a team member by ID |
| learningsuite_get_team_member_by_emailC | Get a team member by email |
| learningsuite_list_groupsB | Get all groups |
| learningsuite_create_groupC | Create a new group |
| learningsuite_find_groups_by_nameB | Find groups by name |
| learningsuite_delete_groupC | Delete a group |
| learningsuite_get_group_coursesB | Get all courses of a group |
| learningsuite_add_courses_to_groupB | Add courses to a group |
| learningsuite_remove_courses_from_groupB | Remove courses from a group |
| learningsuite_add_bundles_to_groupB | Add bundles to a group |
| learningsuite_add_members_to_groupsA | Add multiple members to multiple groups (batch operation) |
| learningsuite_remove_members_from_groupsB | Remove multiple members from multiple groups (batch operation) |
| learningsuite_list_published_coursesB | Get all published courses |
| learningsuite_get_course_modulesB | Get all modules of a course |
| learningsuite_get_course_modules_for_memberA | Get all modules of a course with visibility info for a member |
| learningsuite_get_course_membersA | Get members for a course with access and optional progress info |
| learningsuite_get_course_access_requestsC | Get access requests for a course |
| learningsuite_get_course_submissionsB | Get all submissions in a course (newest first) |
| learningsuite_create_lessonB | Create a lesson in a course section |
| learningsuite_get_module_sectionsC | Get all sections of a module |
| learningsuite_get_module_lessonsA | Get all lessons of a module |
| learningsuite_create_module_unlock_overrideB | Create a module unlock override for a member |
| learningsuite_list_bundlesB | Get all bundles |
| learningsuite_get_bundle_membersA | Get members of a bundle with access info |
| learningsuite_list_hubsA | Get all published hubs |
| learningsuite_create_hubB | Create a new hub from a template |
| learningsuite_list_hub_templatesA | Get all hub templates |
| learningsuite_get_hub_template_variablesC | Get variables for a hub template |
| learningsuite_add_hub_accessesA | Add access to a hub for members, groups, or bundles |
| learningsuite_remove_hub_accessesB | Remove access from a hub for members, groups, or bundles |
| learningsuite_list_community_areasA | Get all community areas |
| learningsuite_list_community_forumsC | Get community forums |
| learningsuite_list_community_postsC | Get community posts |
| learningsuite_comment_on_postB | Comment on a community post |
| learningsuite_list_community_badgesA | Get all community badges |
| learningsuite_assign_badges_to_userC | Assign badges to a user |
| learningsuite_remove_badges_from_userB | Remove badges from a user |
| learningsuite_list_popupsB | Get all popups |
| learningsuite_get_popupA | Get a popup by ID |
| learningsuite_trigger_popupB | Trigger a popup for a member |
| learningsuite_remove_popup_triggerB | Remove a popup trigger for a member |
| learningsuite_send_push_notificationsB | Send push notifications to users (requires custom app) |
| learningsuite_list_rolesB | Get all roles |
| learningsuite_list_webhook_subscriptionsA | Get all webhook subscriptions |
| learningsuite_create_webhook_subscriptionB | Create a webhook subscription |
| learningsuite_get_webhook_subscriptionB | Get a webhook subscription by ID |
| learningsuite_update_webhook_subscriptionD | Update a webhook subscription |
| learningsuite_delete_webhook_subscriptionB | Delete a webhook subscription |
| learningsuite_get_webhook_sample_dataB | Get sample data for a webhook event type |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 64 tools
Most tools target a distinct resource and action, but a few pairs like get_member_courses vs get_member_course_info could be confused until reading descriptions. Overall, the boundaries are clear enough for an agent to select correctly.
Tools consistently use the learningsuite_ verb_noun pattern in snake_case, but there are minor deviations such as 'find_groups_by_name', 'check_auth', 'assign_badges', and 'send_push_notifications' that break the otherwise regular verb vocabulary.
With 64 tools, the server is extremely large for an MCP tool set, far exceeding typical scopes. Even for a comprehensive LMS, this many tools creates overwhelming selection complexity for agents.
Several core lifecycle operations are missing: courses cannot be created, updated, or deleted; lessons have only create and list; groups lack update; bundles lack create/update; popups lack create/update/delete. These gaps will cause agent failures when performing standard administrative tasks.