Skip to main content
Glama

uoft_read

Read-onlyIdempotent

Read UofT timetable courses, sections, and sessions in batches with optional filtering, field selection, and paging. Snapshot covers recent updates.

Instructions

Batch discovered reads with optional selection. Snapshot handles last five minutes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
requestsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.6.0

TDQS

D1.8/5.0
Behavior2/5

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

The only behavioral addition beyond annotations is 'Snapshot handles last five minutes,' which is cryptic and could mean a time window, a snapshot mode, or something else. Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds little meaningful transparency. It does not contradict annotations, but the added statement is too vague to be useful.

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

Conciseness2/5

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

The description is very short, but brevity results in under-specification rather than conciseness. Neither sentence is actionable: 'Batch discovered reads' is vague, and 'Snapshot handles last five minutes' is ambiguous. Valuable space is wasted on unclear phrasing instead of essential usage details.

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

Completeness1/5

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

With a complex nested input schema, no output schema, and zero parameter description coverage, the description is grossly inadequate. It does not explain how to structure requests, what operations are supported, what selection modes do, or what the tool returns. An agent would be unable to invoke the tool correctly based on the description alone.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate for the undocumented parameters, but it does not. The phrase 'optional selection' vaguely references the selection object, yet it leaves the required 'requests' array and nested 'operation', 'arguments', and 'selection' fields completely unexplained. An agent cannot determine valid operation values, selection modes, or filtering semantics from the description.

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

Purpose2/5

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

The description says 'Batch discovered reads' but never names a specific resource or clear verb-object relationship. It is ambiguous what 'discovered' refers to and how this differs from uoft_discover or uoft_result. The name uoft_read hints at reading, but the description itself does not clarify the tool's core function.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus any sibling. The description does not mention uoft_discover, uoft_result, or any alternative, nor does it state prerequisites or exclusions. The word 'Batch' implies bulk operations, but there is no concrete context for choosing this tool.

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