Skip to main content
Glama

List a zone's sites

list_zone_sites
Read-onlyIdempotent

Individual sites in a zone, for a site-level alert. Returns each site's id, number, camp type, and its position — lat/lng where the inventory is geographic (Recreation.gov, the Aspira tenants, the UseDirect states), or map_x/map_y pixels where it ships a drawn map sheet instead. A site has one or the other, never both.

Paginated: a zone can hold hundreds (Outlet River A has 176), so total may exceed what one call returns — use offset to continue.

When the zone's inventory opens at a published instant, next_release_at gives it. AlertCamp polls ON that drop and notifies within a tick, which is what the alert replaces sitting at a phone for it.

Each site also carries its SEASON where the provider publishes one ("Apr 15 to Oct 14"), which is year-less and repeats annually. Check it before picking dates: an alert outside the season scans for months and can never match, and says nothing about why.

Where the provider publishes them, each site also carries what it is LIKE — shade, proximity_to_water, has_fire_pit, electricity_amps, capacity_rating, driveway_surface. These are how you answer "a shady one" or "lakefront with 50 amp": filter the rows yourself and pass the qualifying site_ids to create_alert. Absence means UNSTATED, not absent, so say how many sites actually carried the attribute you used.

For position rather than amenity — near the water, the beach, the washrooms — use lat/lng where the inventory is geographic, or the sheet get_zone_map returns where it is pixel.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 100.
offsetNoNumber of rows to skip, for paging through a long list; 0 for the first page.
zone_idYesFrom list_campground_zones.
accommodation_typeNoOptional filter.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
sitesYes
totalNo
offsetNo
zone_idNo
returnedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / offset / description
      Added value: +"Number of rows to skip, for paging through a long list; 0 for the first page."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/destructive/openWorld, but the description adds substantial behavior: pagination with total exceeding one page, next_release_at semantics and that AlertCamp polls on the drop, year-less repeating seasons that silently never match, and the critical 'absence means UNSTATED, not absent' caveat.

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?

Front-loaded with the resource and its fields, and each paragraph carries distinct operational value (pagination, drop timing, seasons, amenities). It is on the long side and the closing position paragraph partially restates the lat/lng-vs-pixel point made in the opening, costing a point.

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?

An output schema exists, yet the description still gives the agent everything needed to interpret rows and act on them — geometry type, season semantics, sparse attributes, and paging. Nothing material is missing for a read-only listing tool.

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 baseline is 3; the description earns above that by explaining why offset is needed (zones of hundreds of sites) and by tying lat/lng vs map_x/map_y to whether the inventory is geographic or a drawn sheet. accommodation_type is not elaborated beyond the schema's 'Optional filter'.

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 ('Individual sites in a zone') and enumerates exactly what each row carries (id, number, camp type, position, season, amenity attributes). It is clearly distinguishable from get_zone_map, which it names for the pixel-sheet case.

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?

Explicitly routes results into create_alert ('pass the qualifying site_ids to create_alert') and names get_zone_map as the alternative for pixel maps. It gives strong conditional context, though it never states an explicit when-not-to-use case for the tool itself.

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