Skip to main content
Glama

Find My School

find_my_school
Read-only

Where can I study this? A match-up, not a dump: for a major and a level, the schools that award it, ranked by how many of the person's own criteria each one meets, with met, not met and not testable kept as three different results — a school that does not publish a fact is not testable on it, never failed. Each criterion names the source that decided it, each school carries its own program, award, credits required, cost, earnings, debt and whether it can be done online, and a filter only ever excludes on a fact we hold. The answer states its ranking rule and never recommends a school. TODAY the candidate set is the schools CourseShelf has captured a program for, not yet every school IPEDS lists, and every answer opens by saying so.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoOptional city
nearNoOptional: a place and a distance, e.g. Casper WY within 50 miles
awardNoOptional award title or credential class
levelYesThe credential level, e.g. certificate, associate or bachelor's
limitNoOptional page size (default 10, at most 25)
majorYesThe major: a major_minor_id (e.g. CIP:51.3801) or a CIP code
stateNoOptional two-letter state. With no state, city or place the answer is national and says so
offsetNoOptional: the offset of the next page
sectorNoOptional school type as IPEDS labels it, e.g. public 2-year
cost_maxNoOptional: the most the person will pay. A school that publishes no cost is not removed by it — it is ranked below and marked not testable on cost
deliveryNoOptional: in person, hybrid or online
also_offersNoOptional other subjects or majors the school should also offer
with_checklistNoOptional: only schools whose requirements CourseShelf holds
exclude_untestableNoOptional strict exclusion, off by default: remove schools that do not publish one of the criteria. The answer then says how many were removed and by which criterion

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
scopeNoSaid when the answer is national because no place was given
schoolsNoOne row per school: its program with the route that joined it to the major, cost, earnings and debt, its programs that could not be joined, and its standing — every criterion with its verdict and source
contractYes
not_heldNo
statementYesWhat the candidate set is, as the first thing the person reads
understoodNo
ranking_ruleNo
candidate_setNoWhere the schools came from and why it is not yet IPEDS's list
measure_not_metNoThe measure this build does not yet meet, named in the answer
strict_exclusionNoPresent only when exclude_untestable was asked for: how many schools were removed, by which criterion

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only supply readOnlyHint=true, so the description carries most of the burden and delivers: tri-state met/not-met/not-testable handling, filters only excluding on held facts, a stated ranking rule, no recommendations, and an explicit TODAY data-coverage limitation. It lacks auth/pagination behavior, but for a read-only match tool this is strong disclosure.

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?

It is front-loaded with the core purpose and every sentence carries information, but the dense run-on construction (multiple em-dash clauses per sentence) and mild repetition of the not-testable idea make it harder to scan than an equivalent bulleted or shorter form.

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 an output schema present, return values needn't be explained, and the description covers the candidate-set limitation, ranking behavior, and tri-state semantics for a 14-parameter tool. What is missing is explicit routing against the many sibling tools, leaving a small gap against the tool's apparent complexity.

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

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantic meaning beyond the schema: cost_max does not remove schools lacking cost (they rank below as not testable), exclude_untestable's strict removal and reporting, and the national-and-says-so behavior with no state/city/place. These sharpen parameters that the schema describes only briefly.

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 and resource with a clear scoping phrase: 'for a major and a level, the schools that award it.' The 'match-up, not a dump' framing implicitly sets it apart from list-style siblings like find_institution or find_programs, but no sibling is named outright, so it stops short of a 5.

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 opening 'Where can I study this?' and the required major/level pair imply when the tool applies, but there is no explicit when-to-use, when-not-to-use, or named alternative among the many find_/compare_ siblings. Usage is inferred rather than directed.

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.