Skip to main content
Glama

NTNU Courses (unofficial)

compare_courses

Side-by-side comparison of NTNU courses for a given year — campus, exam dates, weekly teaching hours, and latest grade distribution — to help choose between courses. Accepts bare course codes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearYes
course_codesYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It mentions 'accepts bare course codes' (a specific format requirement) and lists compared attributes, but does not disclose behavior like data freshness, error handling for invalid codes, or whether results are sorted. This is adequate but incomplete.

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?

The description is a single, well-structured sentence that front-loads the key action ('side-by-side comparison') and specific attributes. Every word adds value; no redundant information.

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

Completeness4/5

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

Despite no output schema, the description lists the compared attributes (campus, exam dates, etc.), giving a clear idea of the return content. However, it omits details like the maximum number of courses that can be compared, result ordering, or pagination. This is mostly complete for the tool's simplicity.

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

Parameters3/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. It adds context for course_codes ('bare course codes') and implies year is for a specific year. However, it does not explain the format of course codes (e.g., 'TDT4100') or any constraints on year (e.g., integer range). It provides some value but falls short of fully documenting the parameters.

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 clearly states the tool performs a 'side-by-side comparison' of NTNU courses, listing specific attributes (campus, exam dates, weekly teaching hours, grade distribution) and the goal to 'help choose between courses'. This distinguishes it from sibling tools like get_course_info (single course) or get_grade_distribution (single attribute).

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 usage for comparing courses to make a choice, but it does not explicitly state when not to use or mention alternatives among sibling tools. For example, it does not say 'use get_course_info for detailed info on one course' or 'use get_grade_distribution for just grades'.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct aspect of NTNU course data: scheduling, exams, grades, comparisons, search, etc. Overlaps like get_course_schedule and get_weekly_timetable are clearly differentiated by granularity, with descriptions guiding usage.

Naming Consistency5/5

All tools follow a verb_noun pattern in snake_case, using simple verbs like 'get', 'search', 'check', and 'compare'. The naming is uniform and predictable across all 12 tools.

Tool Count5/5

12 tools is well-scoped for an informational server covering courses, schedules, exams, grades, study plans, and search. Each tool serves a clear purpose without unnecessary redundancy.

Completeness4/5

The tool set covers core CRUD-like operations for course data, including search, info retrieval, scheduling, exams, grades, and study plans. Minor gaps exist, such as no dedicated tool for study program details or room information, but overall the surface is comprehensive for the domain.