Skip to main content
Glama

get_course_indexes

Read-onlyIdempotent

List every lecture, tutorial, lab, and other session indexes for a course, academic year, and semester to check available class slots.

Instructions

List all indexes for a course, including every lecture, tutorial, lab, and other session.

Input Schema

NameRequiredDescriptionDefault
semesterYes
course_codeYes
academic_yearYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds useful scope information about what the returned index set contains (every lecture, tutorial, lab, and other session), but says nothing about permissions, result size, or pagination 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 front-loaded sentence with no filler. The verb and resource come first and the inclusion scope follows immediately, so nothing needs to be trimmed or reordered.

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?

An output schema exists, so return-format explanation is unnecessary, and annotations cover the read-only/idempotent profile. However, with three required parameters at 0% schema description coverage, the definition never tells the agent how to supply course_code, academic_year, or semester, leaving a real gap for a tool this simple.

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% and the description mentions none of the three required parameters. It does not clarify the course_code format, the academic_year convention, or the meaning of semester values (though 1/2/'S' is at least enumerated in the schema). With low coverage, the description should compensate but does not.

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 ('List') and resource ('indexes for a course'), then scopes the result by naming the session types included (lecture, tutorial, lab, other). It clearly distinguishes itself from schedule-oriented siblings by being a course-level index listing, though it never names an alternative tool explicitly.

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?

No explicit when-to-use, prerequisites, or alternative routing is given. Usage is only implied by the purpose statement ('list indexes for a course'), which is adequate for a simple lookup but leaves the relationship to siblings like get_index_schedule, compare_indexes, and find_matching_indexes for the agent to infer.

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