Skip to main content
Glama

list_program_enrollments

Read-only

Who is on a program, or which programs a client is on: status (ACTIVE, PAUSED, COMPLETED, CANCELLED), start date (Day 1), whether the coach edited their copy, and whether the program changed since they started.

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": "list_program_enrollments"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
statusNo
clientIdNoClient User _id
programIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.2/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read, so the description's remaining job is to add context. It contributes the returned field set (status, start date, coach-edited copy, program-changed flag), which is genuinely useful given there is no output schema, but it says nothing about ordering, pagination behavior, or the 300-record cap implied by the schema.

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

Conciseness4/5

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

One dense sentence with the query directions front-loaded and no filler. The colon-delimited field list is efficient, though the fragment style makes the subject slightly implicit.

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

Completeness3/5

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

With four optional parameters and no output schema, the description covers the returned fields adequately but leaves the filter behavior under-specified. An agent knows what it will get back, but not how limit, programId, or unfiltered calls behave.

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

Parameters2/5

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

Schema description coverage is only 25% (only clientId is documented as 'Client User _id'), so the description needs to compensate. It restates the status enum values already present in the schema but never explains programId semantics, what limit does, or what the default behavior is when no filter is supplied.

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 says clearly that this returns enrollment data in both directions ('who is on a program' and 'which programs a client is on'), which is a precise resource plus scope statement. It does not name or differentiate itself from near neighbors like get_program_enrollment, list_programs, or list_program_occurrences, so an agent must infer the list-vs-single distinction.

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

Usage Guidelines3/5

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

Usage is only implied: the two phrasing directions hint that programId yields a roster and clientId yields a client's programs, but the description never states that explicitly nor names alternatives. There is no guidance on when to prefer this over get_program_enrollment or list_programs, and nothing about pagination or default result size.

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.