Skip to main content
Glama

Check Course Prerequisites

obs_check_prerequisites

Check course prerequisites against your passed courses to determine which courses you can register for, using course-plan equivalences for renamed course codes.

Instructions

Decide which courses the student may register for, by evaluating each course's published prerequisite expression against their own passed courses, expanded through the course-plan equivalences that cover renamed course codes. Prerequisites reflect the programme's current definitions even for an older plan. Defaults to every course still required for graduation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codesNo
programNo
assume_passedNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.0

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It adds valuable details: that it expands through course-plan equivalences for renamed codes, that prerequisites reflect current programme definitions even for older plans, and the default action. However, it does not mention whether the operation is read-only, any side effects, or auth requirements. For a tool with zero annotations, this is a moderate but not exhaustive disclosure.

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?

The description is three sentences and front-loads the purpose. It packs useful context about equivalences and default behavior without padding. It is concise and appropriately structured, though slightly dense in the middle sentence.

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

Completeness2/5

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

Given the complexity of the tool (evaluating prerequisites with equivalences and defaults) and the complete lack of parameter documentation in the schema, the description is insufficient for an agent to use it correctly. The purpose and some behavioral nuances are clear, but the missing parameter semantics and lack of explicit alternatives leave significant gaps.

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 by explaining the three parameters: codes, program, and assume_passed. The description mentions none of them, leaving their meaning and usage entirely undocumented. This is a critical gap; an agent cannot correctly call the tool without knowing what these parameters represent.

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 uses a specific verb ('Decide') and clearly identifies the resource (courses the student may register for) and the evaluation logic (prerequisite expression vs passed courses, with equivalences). It distinguishes itself from sibling tools like obs_public_get_prerequisites by emphasizing the student-specific check against their passed courses and defaulting to graduation-required courses.

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?

The description provides a clear usage scenario: deciding which courses a student may register for, and explicitly mentions the default behavior (every course still required for graduation). However, it does not explicitly state when not to use it or name alternative tools, such as obs_public_get_prerequisites, which could be used for simply fetching prerequisites. The context is clear enough for an agent to infer typical use.

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