Skip to main content
Glama

Absorb LMS MCP Server and API by Cotlet

List users in Absorb LMS

absorb_lms_list_users
Read-onlyIdempotent

List users in the user's own Absorb LMS account from ChatGPT, Claude or any AI agent. Returns how to do it in Absorb LMS step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Absorb LMS Cloud Browser. Absorb LMS's official API: Absorb LMS has an Integration API, a REST API with JSON for learners, courses, departments and grades, but it needs a private key tied to your portal that your Absorb account team provides, and your own code (checked 20 Oct 2026).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "absorb_lms_list_users"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, non-destructive, idempotent, closed-world, so the safety bar is low. The description still adds real behavioral context: it 'opens nothing by itself' and returns screen/button/field instructions, which the agent needs to know before calling. The dated API aside adds little behaviorally.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single overloaded run-on paragraph that mixes purpose, execution flow, and an API prerequisite digression. The irrelevant 'checked 20 Oct 2026' date and the Integration API explanation about private keys pad the text without helping the agent call this zero-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does explain what comes back (a step-by-step guide with screens, buttons, fields) and how to act on it via browser tools. That covers the key ambiguity for a no-param guide tool; only the shape/format of the returned guide is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the description has no parameter semantics to carry; the schema is empty and fully self-describing. Baseline applies, with no misleading parameter claims introduced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the resource ('users in the user's own Absorb LMS account') and, crucially, discloses that the tool returns a step-by-step procedural guide rather than the data itself. That distinction is essential but sits in tension with the name 'list_users', which suggests the tool returns users; the description corrects it rather than restating it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear usage flow: call this for guidance, then execute with cotlet_browser_* in the Absorb LMS Cloud Browser, and it explicitly notes the official Integration API requires a private key and own code, ruling that path out. There are no explicit when-not-to-use conditions or routing to siblings like absorb_lms_list_course_enrollments, so it stops short of full alternative coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources