@mindstone/mcp-server-talentlms

TalentLMS MCP server for Model Context Protocol hosts. Manage users, courses, groups, branches, categories, enrolments, reporting, and assessments in TalentLMS through a standardised MCP interface.
Status
Requirements
One-click install

After clicking the button, your host will prompt you to fill: TALENTLMS_API_KEY, TALENTLMS_DOMAIN, TALENTLMS_REQUEST_TIMEOUT.
Manual config for Claude Desktop / Claude Code / Goose / Continue.dev (TalentLMS)
{
"mcpServers": {
"TalentLMS": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-talentlms"
],
"env": {
"TALENTLMS_API_KEY": "",
"TALENTLMS_DOMAIN": "",
"TALENTLMS_REQUEST_TIMEOUT": "30000"
}
}
}
}
Quick Start
Install & build
cd <path-to-repo>/connectors/talentlms
npm install
npm run build
npx (once published)
npx -y @mindstone/mcp-server-talentlms
Local
Configuration
Environment variables
TALENTLMS_API_KEY โ TalentLMS API key
TALENTLMS_DOMAIN โ TalentLMS subdomain (e.g. acme for acme.talentlms.com)
TALENTLMS_REQUEST_TIMEOUT โ request timeout in milliseconds (default: 30000)
MCP_HOST_BRIDGE_STATE โ optional path to a host bridge state file used for credential management
MINDSTONE_REBEL_BRIDGE_STATE โ backwards-compatible alias for MCP_HOST_BRIDGE_STATE
Host configuration examples
Claude Desktop / Cursor
{
"mcpServers": {
"TalentLMS": {
"command": "npx",
"args": ["-y", "@mindstone/mcp-server-talentlms"],
"env": {
"TALENTLMS_API_KEY": "your-api-key",
"TALENTLMS_DOMAIN": "your-domain"
}
}
}
}
Local development (no npm publish needed)
{
"mcpServers": {
"TalentLMS": {
"command": "node",
"args": ["<path-to-repo>/connectors/talentlms/dist/index.js"],
"env": {
"TALENTLMS_API_KEY": "your-api-key",
"TALENTLMS_DOMAIN": "your-domain"
}
}
}
}
List tools paginate: TalentLMS returns 20 items per page by default โ pass page_size (max 1000) and page_number to page through larger tenants.
Configuration
configure_talentlms โ Configure TalentLMS API credentials
Users
list_talentlms_users โ List users (paginated)
get_talentlms_user โ Get a user's full profile by ID or email
create_talentlms_user โ Create a new user
update_talentlms_user โ Update an existing user (name, email, login, password, bio, timezone, deactivation date; non-privileged user types only)
set_talentlms_user_status โ Activate or deactivate a user
get_talentlms_user_courses โ Get all courses a user is enrolled in
Courses
list_talentlms_courses โ List courses (paginated)
get_talentlms_course โ Get full course details by ID
create_talentlms_course โ Create a new course
get_talentlms_course_users โ Get all users enrolled in a course
enrol_talentlms_user โ Enrol a user into a course
unenrol_talentlms_user โ Remove a user from a course
get_talentlms_course_sso_link โ Generate an SSO link to launch a user into a course
Groups
list_talentlms_groups โ List groups (paginated)
get_talentlms_group โ Get group details including members and courses
create_talentlms_group โ Create a new group
add_course_to_talentlms_group โ Assign a course to a group
Branches
list_talentlms_branches โ List branches (paginated, multi-tenant)
Categories
list_talentlms_categories โ List course categories (paginated)
Reporting
get_talentlms_site_info โ Get site-level statistics and configuration
get_talentlms_timeline โ Get activity timeline for users or courses
get_talentlms_user_progress โ Get detailed progress for a user in a course
get_talentlms_leaderboard โ Gamification leaderboard (users ranked by points; derived from the full user list, paged 1000 at a time so no user is dropped)
get_talentlms_user_certifications โ Get a user's issued certifications with expiration dates
Assessments
get_talentlms_test_answers โ Get a user's answers for a test/quiz
get_talentlms_survey_answers โ Get a user's responses to a survey
get_talentlms_ilt_sessions โ Get instructor-led training sessions for a unit
Security notes
- Untrusted-content envelopes: text authored inside TalentLMS (course and group descriptions, user names/bios/custom fields, test and survey answers, etc.) is returned inside
<untrusted-content source="..."> envelopes so the host model treats it as data, not instructions. Ids, statuses, timestamps, and other metadata are deliberately left raw so tool chaining (e.g. copying a user_id into the next call) keeps working.
- Privilege guard:
create_talentlms_user and update_talentlms_user only accept the non-privileged Learner/Trainer user types โ Administrator/SuperAdmin accounts must be managed in the TalentLMS UI.
Licence
FSL-1.1-MIT โ Functional Source License, Version 1.1, with MIT future licence. The software converts to MIT licence on 2030-04-08.