Skip to main content
Glama

get_roster

Retrieves the student roster for a class group using a class_id obtained from get_subjects_and_rosters.

Instructions

The student roster for one class group. class_id comes from get_subjects_and_rosters (the Classes/Students id).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "class_id": "<class_id>"
    },
    "name": "get_roster"
  }
}

Input Schema

NameRequiredDescriptionDefault
class_idYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full disclosure burden, and it says nothing about read-only behavior, permissions, pagination, or size limits of the roster. The presence of an output schema removes the need to explain return values, which keeps this at a minimum-viable 3 rather than lower.

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?

Two short sentences with no padding, and the core purpose is front-loaded ahead of the parameter provenance note. The trailing parenthetical '(the Classes/Students id)' is slightly cryptic and could have been phrased more precisely, which keeps it from a 5.

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?

For a single-parameter read tool with an output schema already describing the returned roster, the description covers what is fetched, its scope, and where the id originates – enough to call it correctly. Only the id format and any size/pagination expectations are unaddressed.

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

Parameters3/5

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

Schema coverage is 0% – the single parameter is documented only as 'Class Id'. The description partially compensates by identifying the source ('comes from get_subjects_and_rosters') and disambiguating which id ('the Classes/Students id'), which is genuine added meaning. It still does not state the expected id format, and the parenthetical is ambiguous about whether a class or student id variant is acceptable.

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 names a specific resource and its scope: 'the student roster for one class group.' That is enough for an agent to distinguish it from siblings like get_student_daily or get_class_behaviour. It lacks an explicit verb ('retrieve'), but the resource and cardinality ('one class group') are unambiguous.

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?

It states a concrete prerequisite: class_id comes from get_subjects_and_rosters. That is real routing guidance, not just restated parameter info. However, it gives no when-to-use/when-not guidance relative to the many sibling retrieval tools, so the agent must still infer that this is the roster-listing complement to get_subjects_and_rosters.

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