Skip to main content
Glama

attendance_report

Generate a per-student attendance report: counts for present, late, excused, and absent, missed session dates, and flags for students reaching the absence limit.

Instructions

Presences and absences per student across every session already taken: a count for each status (present, late, excused, absent, as the register names them), the list of dates missed, and a flag for whoever has reached the absence limit. Sessions not yet taken are ignored. Excused absences are counted apart from unexcused ones.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
absentNoStatus acronyms that mean an unexcused absence
excusedNoStatus acronyms that mean an excused absence
courseidYesCourse id from my_courses
max_absencesNoFlag students with at least this many absences (excused + unexcused); 0 = no flag
lates_per_absenceNoIf > 0, every N late arrivals count as one extra absence (ESE: 3)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden and discloses useful behavioral details: it only considers sessions already taken and separates excused from unexcused absences. It does not explicitly state side effects or read-only nature, but for a report tool these are reasonably implied and the described handling of edge cases adds value.

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

Conciseness5/5

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

The description is concise, front-loading the main purpose and using a colon to enumerate the outputs. Every clause earns its place, with no repetition or filler.

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?

The tool has five parameters, no output schema, and no annotations, but the description covers the main output concepts (counts, missed dates, absence flag) and important behavioral boundaries. It does not specify return format or sorting, but given the schema covers parameter semantics, the definition is sufficiently complete for correct invocation.

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 the baseline is 3. The description adds context by explaining that statuses are counted as the register names them and that excused absences are counted separately, which aligns with the absent and excused parameters. It does not meaningfully override or expand the schema's parameter documentation.

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

Purpose5/5

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

The description clearly specifies the resource and scope: per-student attendance counts across every session already taken, including counts for each status, missed dates, and an absence-limit flag. It distinguishes itself from sibling tools like attendance_sessions by focusing on aggregate per-student information rather than session-level data.

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 implies when to use the tool: when a per-student attendance summary is needed, with the note that sessions not yet taken are ignored. However, it does not explicitly mention alternatives or exclusions, so an agent must infer the appropriate context from the wording alone.

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