Skip to main content
Glama

Elective Options This Term

obs_get_elective_options

Identify eligible courses for each unfilled elective slot, showing term offerings, CRNs, times, and prerequisite status.

Instructions

For every elective slot the student has not yet filled: the pool of eligible courses, which of them run this term with CRNs and times, and whether the prerequisites are met.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
levelNoLS
only_offeredNo
program_codeNo
assume_passedNo
check_prerequisitesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.0

TDQS

A3.6/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 full behavioral burden. It describes the returned content well: per unfilled slot, eligible pool, term offerings with CRNs/times, and prerequisite status. However, it does not disclose whether authentication is required, whether this is a read-only operation, or any rate-limit/failure behavior.

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?

A single, dense sentence that front-loads the key scope ('every elective slot not yet filled') and then lists the exact data categories provided. There is no filler, repetition, or unnecessary preamble.

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

Completeness3/5

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

With an output schema present, the return structure is covered elsewhere. The description gives a solid high-level picture, but it is not fully self-sufficient: five parameters have no schema descriptions and no parameter-level guidance is provided in the description, and usage relative to sibling tools is not addressed.

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

Parameters2/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 five undocumented parameters. It indirectly maps to only_offered ('run this term') and check_prerequisites ('whether the prerequisites are met'), but it never explains level, program_code, or assume_passed. An agent would have to guess the meaning or inspect external references.

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 identifies a specific resource and scenario: unfilled elective slots, eligible courses, courses offered this term with CRNs and times, and prerequisite status. It clearly differentiates itself from siblings like obs_get_elective_pool and obs_check_prerequisites by combining term offering and prerequisite checking into one elective-options query.

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 the tool is useful: when a student needs their elective options for the current term and wants to see which are offered and whether prerequisites are met. However, it gives no explicit when-not-to-use guidance or alternatives, such as 'use obs_get_elective_pool for all eligible courses regardless of term.'

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