Skip to main content
Glama

get_attendance

Read-onlyIdempotent

Fetches attendance records for all courses, showing attended, total, and percentage per course. Requires login and supports current or specified semester.

Instructions

Get attendance records for all courses (attended/total/percentage per course). If the response contains NOT_AUTHENTICATED, immediately call get_captcha then login then retry this tool. login auto-uses VTOP_USERNAME/VTOP_PASSWORD env vars if set; if login replies that credentials are missing, ask the user for their VTOP username and password and call login again with them. semesterId is optional; omit for current semester. Requires login.

Input Schema

NameRequiredDescriptionDefault
semesterIdNoSemester ID (e.g. 'AP2024251'). If omitted, uses the current/latest semester.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.5

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description layers on the auth requirement, the exact error token to watch for, the ordered retry sequence, and how credentials are sourced. This is exactly the operational context an agent needs and cannot get from structured fields.

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?

Front-loads the purpose and output shape, then appends the recovery procedure in a logical order with no filler sentences. It is dense in one block, but every clause carries information.

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 describing the returned per-course fields, and it fully covers the authentication failure path. Only minor gaps remain, such as whether other error states exist or whether results are cached.

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% and the single optional parameter is already documented in the schema. The description's note that semesterId is optional and defaults to the current semester restates the schema rather than adding new meaning, so the baseline 3 applies.

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 ('Get attendance records for all courses') and even previews the payload shape (attended/total/percentage per course), so an agent knows exactly what it returns. It does not, however, differentiate itself from the sibling calculate_attendance, leaving ambiguity about which one to pick.

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?

Provides a concrete recovery path for the NOT_AUTHENTICATED case (get_captcha -> login -> retry) and explains the credential fallback to VTOP_USERNAME/VTOP_PASSWORD env vars, then to asking the user. It also clarifies that semesterId may be omitted. The gap is that it never says when to prefer this over calculate_attendance.

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