Skip to main content
Glama

get_course

Read-onlyIdempotent

Retrieve the full official catalog text for a UBC course by subject, course, and campus to review its description and requirements; it does not confirm current offerings or personal eligibility.

Instructions

Read full official catalog text for a course. Does not establish current offering or personal eligibility.

Input Schema

NameRequiredDescriptionDefault
campusNoUBCV
courseYes
subjectYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0-alpha.1

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld. The description adds real context beyond them: the payload is static catalog prose, not live offering data and not eligibility data — an important and non-obvious distinction. It stops short of describing return shape or whether catalog text can be stale.

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?

Two sentences, zero waste, with the positive capability front-loaded and the scope caveat immediately after. Nothing to trim.

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?

The scope caveat covers the biggest failure mode (treating catalog text as a current-offering check), but with no output schema and 0% parameter coverage the description leaves unclear what the returned text contains (prerequisites, credits, description) and how campus affects results. Adequate but with clear gaps for a three-parameter, open-world read tool.

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 carries the full burden for the three parameters, yet it says nothing about subject, course, or campus. The regex patterns and campus enum/default are the only guidance available, and the description does not even clarify that campus defaults to UBCV.

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?

Specific verb (read) plus a specific resource (full official catalog text for a course), which distinguishes it implicitly from siblings like get_course_grades or compare_courses. It does not name any sibling explicitly, so differentiation is inferred rather than stated.

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?

"Does not establish current offering or personal eligibility" is a genuine when-not constraint that prevents misuse. However, it never says when to use this instead of search_courses (which presumably locates a course) or which sibling answers offering/eligibility questions, so the routing guidance is only half complete.

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