Skip to main content
Glama

Find parks with openings (ranked)

parksopen_find_open_parks
Read-onlyIdempotent

Which PARKS have an opening for a stay — ranked by soonest opening, or by drive time from a city — when the user has not named a park. Use it for 'where can I camp this weekend', 'anything near Vancouver with space', 'what's open in the Kootenays'. For a named park use parksopen_search_campsites or parksopen_park_availability_calendar.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
nightsNodefault 2 (weekend) or 1
regionNorestrict to a region name as the site shows it, e.g. 'Vancouver Island'
systemNoreservation system id, e.g. bc_parks. Omit for the default system.
weekendNothis coming weekend (Fri→Sun, 2 nights)
provinceNoprovince code or URL prefix (bc, on, …) — an alternative to system.
amenitiesNoANDed site attributes (confirmed-only; the count is a floor)
near_cityNorank by drive time from this city (Vancouver, Victoria, Nanaimo, Whistler, Kelowna, Kamloops, Cranbrook, Prince George, Fort St. John)
start_dateNoa specific arrival date; omit to find the soonest opening
horizon_daysNohow far ahead to look when no date is fixed; default 14

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior, so the description's additional disclosure of ranking behavior ('by soonest opening, or by drive time from a city') is genuinely useful context. It adds behavioral meaning about ordering and scope beyond what the annotations provide, though it does not describe edge cases like empty results or how confirming availability works.

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?

The description is three sentences, front-loads the core purpose and scope, and every sentence earns its place: definition, example usages, and sibling routing. There is no filler or redundancy.

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?

For a read-only, optional-parameter discovery tool, the description gives the essential selection context, example invocations, ranking semantics, and explicit alternatives for named parks. The schema handles the remaining parameter details, and annotations cover the safety profile, so nothing critical is missing for correct selection and invocation.

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 90%, so the schema carries most parameter documentation. The description supplements it by tying ranking intent to parameters such as near_city and start_date, and the example queries imply how region/weekend/near_city should be populated. This adds meaning beyond raw parameter definitions.

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 description specifies a precise verb and resource: find parks that have an opening for a stay, ranked by soonest opening or drive time. It clearly scopes the tool to cases where the user has not named a park, which immediately distinguishes it from the named-park siblings without needing to inspect their schemas.

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?

The description gives an explicit trigger condition ('when the user has not named a park'), concrete example queries ('where can I camp this weekend', 'anything near Vancouver with space'), and explicitly routes named-park requests to parksopen_search_campsites or parksopen_park_availability_calendar. This leaves no ambiguity about when to choose this tool.

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.

TDQS

A4.2/5.0
Disambiguation4/5

The tools are mostly distinct: alerts, weather, park info, booking links, and availability each target clear concerns. The only real overlap risk is parksopen_find_open_parks vs parksopen_search_campsites, since both can answer 'which parks have openings', though their descriptions try to separate the no-specific-park vs specific-dates/equipment cases.

Naming Consistency4/5

All tools share the parksopen_ prefix and use snake_case, which helps. Most follow a verb_noun pattern (check_alerts, check_weather, find_open_parks, get_booking_link, search_campsites), but parksopen_park_availability_calendar and parksopen_park_info are noun-first deviations, making the set slightly less predictable.

Tool Count5/5

Seven tools is well-scoped for a camping/reservation assistant: search, find, calendar, alerts, weather, info, and booking link cover the main user journey without bloat. Each tool appears to earn its place.

Completeness5/5

The tool surface covers the full assisted workflow: discovering open parks, checking live availability for dates, viewing multi-week calendars, retrieving park rules and fees, checking alerts and weather, and generating booking links. The explicit decision not to book on the user's behalf is handled through parksopen_get_booking_link, so no critical lifecycle step is missing.

Resources