Skip to main content
Glama

List schools courses

list_schools_courses
Read-onlyIdempotent

Search for schools and courses on uNotes. Use this when the student needs to find a school or course for uploading a document or creating flashcards.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_schools_courses"
  }
}

Input Schema

NameRequiredDescriptionDefault
typeNoWhether to search 'schools' or 'courses' (defaults to 'courses')courses
limitNo
queryNoSearch query
schoolIdNoFilter courses by school ID (omit when unknown)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / additionalProperties
      Removed value: -false
  2. Changed4 schema fields changed
    • changedInput schema / properties / schoolId / description
      Previous value: -"Filter courses by school ID"New value: +"Filter courses by school ID (omit when unknown)"
    • addedInput schema / properties / type / default
      Added value: +"courses"
    • changedInput schema / properties / type / description
      Previous value: -"Whether to search schools or courses"New value: +"Whether to search 'schools' or 'courses' (defaults to 'courses')"
    • removedInput schema / required
      Removed value: -[
      -  "type"
      -]
  3. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is fully covered. The description adds only that this is a discovery/search operation, but says nothing about result shape (school objects vs. course objects), default limit of 10, or whether results are paginated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the core purpose front-loaded. No filler, though the second sentence is somewhat narrow given the tool also serves general discovery.

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 no output schema and a 4-parameter signature including an auto-defaulting discriminator (`type`), the description should clarify what is returned for each mode and how many results to expect. It covers the workflow context but leaves the result semantics and the `limit` behavior unaddressed.

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 coverage is 75%, with `type`, `query`, and `schoolId` described in-schema while `limit` is undocumented. The description contributes no parameter meaning at all, so it neither compensates for the `limit` gap nor adds guidance such as when to supply `schoolId`.

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+resource ('Search for schools and courses') and names the platform. It's clear what the tool does, but it never distinguishes itself from close siblings like `list_my_courses_schools`, `get_school`, `get_course`, or `search_library`.

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?

Gives a concrete triggering scenario (finding a school/course before uploading a document or creating flashcards). However, it states no exclusions and does not name which sibling to use instead when the user already knows the ID or wants their own enrollments.

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.

Resources