About TalentLMS
A TalentLMS MCP server for learning administrators, covering users, courses, enrolments, reporting, and assessments. Its 28 tools also support groups, branches, and course progress data.
Key features
- 01Manage users and their status
- 02Create courses and manage enrolments
- 03Manage groups and assign courses
- 04List branches and course categories
- 05Retrieve progress, activity, and certifications
- 06Retrieve test, survey, and session data
Use cases
- 01Enroll users in courses
- 02Review learner progress and certifications
- 03Check course activity and site statistics
- 04Retrieve test or survey responses
MCP support
Exposes TalentLMS operations to MCP hosts through 28 tools for users, courses, groups, branches, categories, reporting, and assessments.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @mindstone/mcp-server-talentlmsTALENTLMS_API_KEYSecretTalentLMS API keyTALENTLMS_DOMAINTalentLMS subdomain (e.g. acme for acme.talentlms.com)TALENTLMS_REQUEST_TIMEOUTRequest timeout in millisecondsLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
28Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| domain | string | Yes | TalentLMS subdomain (e.g., "acme" for acme.talentlms.com) |
| api_key | string | Yes | TalentLMS API key |
Details
From the project README@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
- Version: 0.4.0 · npm
- Auth: API key (
TALENTLMS_API_KEY) - Tools: 28 (users, courses, groups, categories, reporting, assessments)
- Surface: cloud-api
- Machine-readable:
STATUS.json
Requirements
- Node.js 20+
- npm
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
node dist/index.js
Configuration
Environment variables
TALENTLMS_API_KEY— TalentLMS API keyTALENTLMS_DOMAIN— TalentLMS subdomain (e.g.acmefor 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 managementMINDSTONE_REBEL_BRIDGE_STATE— backwards-compatible alias forMCP_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"
}
}
}
}
Tools (28)
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 emailcreate_talentlms_user— Create a new userupdate_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 userget_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 IDcreate_talentlms_course— Create a new courseget_talentlms_course_users— Get all users enrolled in a courseenrol_talentlms_user— Enrol a user into a courseunenrol_talentlms_user— Remove a user from a courseget_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 coursescreate_talentlms_group— Create a new groupadd_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 configurationget_talentlms_timeline— Get activity timeline for users or coursesget_talentlms_user_progress— Get detailed progress for a user in a courseget_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/quizget_talentlms_survey_answers— Get a user's responses to a surveyget_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 auser_idinto the next call) keeps working. - Privilege guard:
create_talentlms_userandupdate_talentlms_useronly accept the non-privilegedLearner/Traineruser 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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.