Skip to main content
Glama

Get a site map

get_zone_map
Read-onlyIdempotent

The drawn site map as an IMAGE, plus the pixel position of every site on it — the same sheet the app shows a person, with the SITE NUMBERS drawn on at their stored pins.

Use it for questions the rows cannot answer in words: which sites sit by the water, at the end of a loop, away from the road. Amenity icons on these sheets have no machine-readable labels, so read the picture as the user would, then convert what you see back into site ids with the coordinates returned alongside it. Say which sites you picked and why, so the user can disagree with your reading.

The numbers are OURS, not the provider's — these sheets are published without them — so name sites by those numbers and call again with your shortlist as highlight_site_ids.

Some clients display an image returned by a tool and some discard it, and this call cannot report which happened — so whether the user is looking at this sheet is unknown here. Every map also carries an image_url to the same labelled picture, which works in any client and can be passed on: offer it rather than assuming the image arrived. Findings stated in words stand on their own either way.

Takes a zone_id, or a campground_id for every sheet in it. Where a campground ships one sheet for all its zones, that sheet is returned for any zone within it.

NOT every inventory has one, and its absence is not a dead end: geographic inventories (Recreation.gov, the Aspira tenants, the UseDirect states) carry real lat/lng per site instead, which list_zone_sites returns and which you can reason about without a picture. This tool says so explicitly rather than failing. has_map on list_campground_zones tells you in advance.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zone_idNoFrom list_campground_zones — has_map says whether a sheet exists.
annotateNoDefault true: the site numbers are drawn onto the sheet. Pass false for the provider's untouched image.
campground_idNoInstead of zone_id: every sheet in the campground, each labelled with the zone it draws.
highlight_site_idsNoDraw these sites in red with a ring and the rest plain. Call again with your shortlist so the USER can SEE the sites you are recommending instead of taking your word for where they are.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
mapsYes
sitesYes
caveatsNo
labels_drawnNo
coordinate_originNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses that the site numbers are 'OURS, not the provider's,' that every sheet carries an image_url usable in any client, that the tool cannot report whether the client displayed the image, and that absence of a map resolves to an explicit statement rather than a failure. These are exactly the operational traits annotations cannot express.

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-loads the core output (image + coordinates) in the first sentence, which is the right structure. The body is long and mildly repetitive across five paragraphs, but nearly every sentence carries operational substance (naming convention, image fallback, absence handling), so little is pure padding.

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, so return values need no prose. The description still covers the hard edges an agent needs — our-not-provider numbering, client display uncertainty, image_url fallback, and non-fatal absence — leaving no material gap for a 4-parameter read 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 description coverage is 100%, so the baseline is 3. The description adds genuine meaning beyond the schema by explaining the zone_id vs campground_id interaction ('Where a campground ships one sheet for all its zones, that sheet is returned for any zone within it'), which the schema does not state, and reinforces the round-trip workflow for highlight_site_ids.

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 — returns the drawn site map as an IMAGE plus the pixel position of every site — and immediately distinguishes it from the row-oriented sibling list_zone_sites. An agent can tell exactly what this returns versus what the row data gives.

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?

Explicitly frames the use case as 'questions the rows cannot answer in words: which sites sit by the water, at the end of a loop, away from the road,' names the alternative (list_zone_sites with real lat/lng for geographic inventories), and points to has_map on list_campground_zones for pre-flight checks. When-to-use, when-not, and the alternative are all present.

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