Skip to main content
Glama

Search the course catalogue

hisinone_search_courses
Read-onlyIdempotent

Search the HISinOne course catalogue by title or number to retrieve course details including number, title, teachers, and portal link.

Instructions

Search the course catalogue by text. The result holds the course number, the title, the teachers and the portal page of each course.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoLargest number of rows to return.
queryYesSearch text, for example a course title or a number.
semester_keyNoTerm key to search in, from hisinone_list_semesters.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
hitsYesThe rows
queryYesSearch text that produced the results
totalYesNumber of rows that this result holds
truncatedNoTrue if the server cut the list at the requested limit

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety and side-effect profile is fully covered. The description adds only the return-field list, which is redundant with the output schema, and provides no extra behavioral context such as pagination or semester scoping. With annotations carrying the burden, 3 is appropriate.

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 short, purposeful sentences with no filler. The action and resource are front-loaded, and the second sentence gives useful result expectations. Every word earns its place.

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?

With a full output schema, comprehensive annotations, and 100% parameter documentation, the description is complete enough for selection and invocation. The only minor gap is that it does not mention the optional semester filter or how the open-world hint affects results, but the schema parameter entry for semester_key covers the filter, so the description needs only minimal additional context.

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 100%, and each parameter already has a meaningful description in the schema (query examples, limit range, semester_key source). The tool description itself adds no parameter-level detail beyond the phrase 'by text,' so it neither compensates for gaps nor goes beyond the structured documentation. Baseline 3 applies.

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 opens with a specific verb and resource: 'Search the course catalogue by text.' It then lists exactly what the result holds (course number, title, teachers, portal page), making the tool's role completely unambiguous. It also stands apart from the sibling tools, none of which is a course-catalogue search.

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 context: use this tool whenever you need to find courses by free text. It does not explicitly name alternatives or exclusions, but no sibling tool offers course-catalogue search, so an agent can infer when to choose it without confusion.

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