TalentLMS

io.github.mindstonePublished by GitHub account mindstonev0.4.0Updated Oct 24, 2026

TalentLMS MCP server: users, courses, groups, branches, reporting, and assessments

Overview

AI-generated overview

TalentLMS MCP server that lets an assistant manage users, courses, groups, enrolments, reporting and assessments in a TalentLMS account.

What you can do
  • List, create and update users, change their status, and see their enrolled courses
  • List, create and inspect courses, view enrolled users, enrol or unenrol learners, and generate course SSO links
  • List, create and inspect groups, assign courses to groups, and list branches and categories
  • Read site statistics, activity timelines, per-user course progress, leaderboards and issued certifications
  • Retrieve test answers, survey responses and instructor-led training sessions
When to use it
Useful when an assistant should work with an existing TalentLMS training account: looking up learners and courses, handling enrolments, or pulling progress, certification and assessment data for reporting.
Requirements
Runs locally via npx with Node.js 20+ and npm. Needs a TalentLMS API key in TALENTLMS_API_KEY and the account subdomain in TALENTLMS_DOMAIN; TALENTLMS_REQUEST_TIMEOUT is optional (default 30000 ms). Network access to the TalentLMS API is required.
Before you install
Requires a TalentLMS API key, which grants access to the account's training data. Several tools write: creating and updating users, activating or deactivating users, creating courses and groups, enrolling or unenrolling learners, and assigning courses to groups. User creation and updates are limited to Learner and Trainer types; admin accounts must be handled in the TalentLMS UI. Text authored in TalentLMS is returned as untrusted content.

Installation

In SourceWeft

  1. Open TalentLMS in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@mindstone/mcp-server-talentlms

[npm version] [License: FSL-1.1-MIT]

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

  • Node.js 20+
  • npm

One-click install

[Add to Cursor] [Add to VS Code] [Add to VS Code Insiders]

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)
json
{  "mcpServers": {    "TalentLMS": {      "command": "npx",      "args": [        "-y",        "@mindstone/mcp-server-talentlms"      ],      "env": {        "TALENTLMS_API_KEY": "",        "TALENTLMS_DOMAIN": "",        "TALENTLMS_REQUEST_TIMEOUT": "30000"      }    }  }}

Quick Start

Install & build

bash
cd <path-to-repo>/connectors/talentlmsnpm installnpm run build

npx (once published)

bash
npx -y @mindstone/mcp-server-talentlms

Local

bash
node dist/index.js

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

json
{  "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)

json
{  "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 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.

Source: connectors/talentlms/README.md at commit 22c4611

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.4.0LatestSep 16, 2026

Score

40% 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 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.