Skip to main content
Glama

Look Up School Attendance Zones

lookup_school_zone
Read-onlyIdempotent

Which Georgia public school attendance zones (elementary, middle, high) contain a place, or (attendance_rules=true) how attendance zones work in Georgia. Give exactly one of: lat and lon; an address (located with the U.S. Census Geocoder, an outside service); a 2020 census tract_geoid (every zone covering the tract with the share of its 2020 population in each, or, when none does, a coverage_reason); or attendance_rules=true with no place. Optional grade (pk, k, 01-12) and year. Returns the district, the zoned schools with names and where each zone came from (method, accuracy_class, positional_rmse_m, boundary_vintage, currency_status, currency_note, source_url), a level_status per school level, a coverage_status (zoned; gap: some level has no zone there; one_school_per_grade; not_available: the district publishes no zones at some level, with the reason; not_zoned: no zone assigns the grade asked, i.e. pre-K), a currency_warning when a zone's source predates an adopted change that could not be applied, an overlap_warning when two schools' zones cover the point for the same grades, the point's tract and county, and a geojson_url per zone (never the shapes themselves). Zones are rebuilt from published sources of varying currency and are not an official enrollment determination; families confirm with the district. The zoned school is the default assignment (assignment_note). attendance_rules=true returns instead who draws zones and the main ways a student attends a public school other than the zoned one, with the statute or rule behind each, for questions about how zones work. A dated summary, not legal advice; lang="es" gives it in Spanish. Addresses and points are never stored or logged.

Input Schema

NameRequiredDescriptionDefault
latNoLatitude (with lon).
lonNoLongitude (with lat).
langNoLanguage of the attendance rules: 'en' (default) or 'es'.en
yearNoSchool year by its ending year (2027 = 2026-27).
gradeNoGrade: pk, k, or 01-12.
addressNoA Georgia street address, e.g. '55 Trinity Ave SW, Atlanta, GA'.
tract_geoidNo11-digit 2020 Census tract ID (GEOID), e.g. '13121001100'.
attendance_rulesNotrue (with no place) returns Georgia's attendance rules instead of a lookup.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changed
    • addedInput schema / properties / address / description
      Added value: +"A Georgia street address, e.g. '55 Trinity Ave SW, Atlanta, GA'."
    • addedInput schema / properties / attendance_rules / description
      Added value: +"true (with no place) returns Georgia's attendance rules instead of a lookup."
    • addedInput schema / properties / grade / description
      Added value: +"Grade: pk, k, or 01-12."
    • addedInput schema / properties / grade / enum
      Added value: +[
      +  "pk",
      +  "k",
      +  "01",
      +  "02",
      +  "03",
      +  "04",
      +  "05",
      +  "06",
      +  "07",
      +  "08",
      +  "09",
      +  "10",
      +  "11",
      +  "12",
      +  null
      +]
    • addedInput schema / properties / lang / description
      Added value: +"Language of the attendance rules: 'en' (default) or 'es'."
    • addedInput schema / properties / lang / enum
      Added value: +[
      +  "en",
      +  "es"
      +]
    • addedInput schema / properties / lat / description
      Added value: +"Latitude (with lon)."
    • addedInput schema / properties / lat / maximum
      Added value: +90
    • addedInput schema / properties / lat / minimum
      Added value: +-90
    • addedInput schema / properties / lon / description
      Added value: +"Longitude (with lat)."
    • addedInput schema / properties / lon / maximum
      Added value: +180
    • addedInput schema / properties / lon / minimum
      Added value: +-180
    • addedInput schema / properties / tract_geoid / description
      Added value: +"11-digit 2020 Census tract ID (GEOID), e.g. '13121001100'."
    • addedInput schema / properties / tract_geoid / pattern
      Added value: +"^\\d{11}$"
    • addedInput schema / properties / year / description
      Added value: +"School year by its ending year (2027 = 2026-27)."
    • addedInput schema / properties / year / maximum
      Added value: +2100
    • addedInput schema / properties / year / minimum
      Added value: +1900
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover read-only/openWorld/idempotent/non-destructive, but the description adds material context beyond them: the external Census Geocoder dependency, that zones are rebuilt from varying-currency sources and are not an official enrollment determination, coverage/warning semantics, statute-backed rules, and a privacy assurance that addresses and points are never stored or logged.

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

Conciseness3/5

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

It is front-loaded with purpose before the input-mode list, and nearly every clause carries information. However, it is a dense block that packs output fields, status enumerations, warnings, and disclaimers into one paragraph, making it harder to scan than a structured/bulleted form.

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?

Even though an output schema exists (which reduces the need to explain returns), the description fully documents the returned district, schools, coverage_status, level_status, warnings, tract/county, and geojson_url, plus disclaimers and language behavior. Nothing an agent needs to call it correctly is missing.

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

Parameters5/5

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

Schema coverage is 100% (baseline 3), but the description goes further than the schema: it explains what tract_geoid returns (every covering zone with population share, or a coverage_reason), that address is geocoded by an outside service, that grade/year are optional filters, and that lang only affects the attendance_rules output.

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 opening sentence names a specific verb and resource: attendance zones (elementary, middle, high) for Georgia public schools containing a place, with a distinct second mode (attendance_rules). No sibling tool does anything remotely similar, so an agent can route to it from name and description alone.

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?

It gives explicit exclusive input modes ('Give exactly one of: lat and lon; an address; a tract_geoid; or attendance_rules=true with no place') and contrasts the lookup mode with attendance_rules mode ('for questions about how zones work'). This is precisely the when-to-use/when-not guidance the dimension rewards.

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