Skip to main content
Glama

Jackrabbit Class MCP by usefulapi

List enrollments

jackrabbit_list_enrollments
Read-only

List enrollments (a student in a class): enroll date and type, enrolled flag, drop date and reason, transfer target. enrolled=true returns only existing enrollments, enrolled=false only dropped ones (omit it for no status filter); future=true lists enrollments that start later. GET /v1/Enrollments (or /v1/Enrollments/future).

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
futureNotrue = future-dated enrollments instead of current ones.
class_idNoOnly enrollments in this class.
enrolledNotrue = only existing enrollments, false = only dropped enrollments.
family_idNoOnly this family's enrollments.
page_sizeNoResults per page, 1-100 (default 25).
student_idNoOnly this student's enrollments.
class_location_idNoLocation id of the class.
student_location_idNoLocation id of the student.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds real behavioral context beyond that: the underlying endpoints (GET /v1/Enrollments vs /v1/Enrollments/future), the fact that dropped enrollments are included in scope, and the field-level shape of a record (drop date/reason, transfer target).

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?

Three clauses, front-loaded with what is listed and what is returned, followed by filter semantics and the endpoint. Dense but every clause carries information; the endpoint parenthetical is the only mildly expendable part.

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 compensates by naming the record fields an agent gets back, and annotations cover the read-only profile. Pagination behavior is the notable remaining gap for a nine-parameter list tool (the schema mentions next_page, but the description does not reinforce it).

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 description coverage is 100%, so all nine parameters are already documented; the baseline of 3 applies. The description does add one genuinely new detail the schema lacks — that omitting "enrolled" means no status filter — but it says nothing about the id-based filters (class_id, student_id, family_id, location ids) or pagination.

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?

States a specific verb and resource ("List enrollments") and parenthetically defines the domain object ("a student in a class"), then enumerates the returned fields. It never names the sibling it competes with (jackrabbit_get_enrollment for a single record), so sibling differentiation is only implicit in the verb.

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?

The description explains filter behavior ("enrolled=true returns only existing enrollments... omit it for no status filter"; "future=true lists enrollments that start later"), which implies when to use the tool but never states use-when/use-instead-of guidance. An agent must infer that jackrabbit_get_enrollment or jackrabbit_get_class_roster are the alternatives for single-record or roster-shaped needs.

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.