Skip to main content
Glama

Search Courses

search-courses
Read-onlyIdempotent

Find a course on Studocu by name or code, to get its course_id for search-documents, get-course-syllabus, or get-course-mastery. Pass institution_id from search-institutions when you know the school. Show the user the name, code, and school, not the id. If several results are plausible, ask the user to pick.

Input Schema

NameRequiredDescriptionDefault
limitNoHow many courses to return. Integer from 1 to 10. Default 3.
queryYesCourse name or code, 1-200 characters after trimming. Example: "ECON101" or "Introduction to Psychology".
institution_idNoNumeric school id from search-institutions (the id field). Example: 42. Omit to search every school. Prefer setting it when you already know the school.

Output Schema

NameRequiredDescriptionDefault
coursesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / institution_id / description
      Added value: +"Numeric school id from search-institutions (the id field). Example: 42. Omit to search every school. Prefer setting it when you already know the school."
    • addedInput schema / properties / limit / description
      Added value: +"How many courses to return. Integer from 1 to 10. Default 3."
    • addedInput schema / properties / query / description
      Added value: +"Course name or code, 1-200 characters after trimming. Example: \"ECON101\" or \"Introduction to Psychology\"."
  2. First observed

TDQS

A4.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, closed-world, so the safety profile is covered. The description adds genuine behavioral context beyond that: the disambiguation rule for ambiguous result sets and the presentation rule to surface name/code/school instead of ids. It does not discuss result-set size behavior, but the schema's limit/default covers that.

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?

Four short, front-loaded sentences with no filler: purpose first, then parameter provenance, then user-facing output rule, then disambiguation rule. Every sentence carries an actionable instruction.

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

Completeness5/5

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

With an output schema present, the description needn't explain return shapes, and it instead spends its budget on the things structured fields can't express: cross-tool provenance for institution_id, downstream id usage, and ambiguity handling. Nothing needed to call this correctly is missing.

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 100%, so query, limit, and institution_id are all documented in the schema itself, including provenance ('from search-institutions'). The description restates the institution_id provenance and the name-or-code nature of query, which is mildly reinforcing but not additive. Baseline 3 applies when the schema does the heavy lifting.

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?

States a specific verb and resource ('Find a course on Studocu by name or code') and immediately distinguishes itself from sibling search tools by naming the downstream consumers (search-documents, get-course-syllabus, get-course-mastery). An agent can tell exactly what this returns and why it exists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing guidance: use institution_id from search-institutions when the school is known, show name/code/school to the user rather than the id, and ask the user to pick when multiple results are plausible. These are concrete when-to-do-what rules rather than implied usage.

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