national-parks-mcp-server: find parks
nps_find_parksResolve a place name, US state, or free-text query to National Park Service parks — the required first step before the detail tools. Returns each park's parkCode (the key nps_get_park, nps_get_alerts, nps_find_campgrounds, nps_get_activities, and nps_find_events all use) plus a compact trip-planning summary (designation, states, description, coordinates, headline activities, entrance fee, NPS page). Coverage is US NPS sites only — national parks, monuments, historic sites, seashores — not state parks and not Forest Service or BLM land.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum parks to return (1–50). The full set is ~470 sites; narrow with query/stateCode rather than paging through everything. | |
| query | No | Free-text search across park names and descriptions (e.g. "yosemite", "civil war", "redwood"). Results are re-ranked locally so an exact parkCode or name match leads: NPS returns matches in alphabetical-by-code order with no relevance ranking, so without this the obvious park can sit behind sites that only mention the term in their description. Omit to browse by state. At least one of query or stateCode is recommended; with neither, returns the first page of all ~470 NPS sites. | |
| start | No | Zero-based offset for pagination within the matched set. Use with limit to page through results. | |
| activity | No | Filter to parks offering an activity, matched against each park's activities list (e.g. "hiking", "camping", "stargazing"). Case-insensitive substring match applied locally (the API has no activity param) across every site matching query/stateCode, then paginated with start/limit — so totalCount is the true count of matching parks, not a per-page tally. Use nps_get_park to see a park's full activity list. | |
| stateCode | No | Two-letter US state/territory code, or comma-separated list (e.g. "CA", "WY,MT,ID"). Filters to parks located in those states. Combine with query to narrow. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cap | No | The limit applied to this response (populated when results were truncated). | |
| error | No | Present when the call failed. Absent on success. | |
| parks | No | Matching parks, each carrying the parkCode needed to chain into the detail tools. | |
| shown | No | Number of parks returned in this response (populated when the result set was capped by limit). | |
| notice | No | Guidance when no parks matched — suggests broadening the query, checking the state code, or dropping the activity filter. | |
| totalCount | No | Total parks matching the query/state filter before the limit was applied. | |
| appliedFilters | No | Echo of the filters as the server applied them (query / stateCode / activity), so the agent can see what was searched. |