# national-parks-mcp-server [Health: Active]

**Category:** 🚆 Travel & Transportation  
**Repository:** https://github.com/cyanheads/national-parks-mcp-server  
**GitHub Stars:** 2  
**npm Downloads (last month):** 802  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/national-parks-mcp-server

## Description
Plan US National Park Service trips — parks, alerts, campgrounds, things to do, events.

## Tools
Capabilities this server exposes over MCP:

- **nps_find_parks** — Resolve a place name, US state, or free-text query to parks — the required first step. Returns each park's `parkCode` plus a trip-planning summary.
- **nps_get_park** — Full detail for up to ten parks in one batched call: description, activities, fees & passes, hours, contacts, directions, weather overview, images.
- **nps_get_alerts** — Current alerts for a park or state — closures, hazards, caution, information — with category and recency surfaced first.
- **nps_find_campgrounds** — Campgrounds at a park or state: amenities, reservable vs. first-come site counts, reservation info, accessibility, and fees.
- **nps_get_activities** — Curated things to do and points of interest: title, duration, location, accessibility, and fee/pet/reservation flags.
- **nps_find_events** — Scheduled events within a date range: dates/times, location, category, fee, and registration links.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `bunx` (confidence: high):

```json
"mcpServers": {
  "national-parks-mcp-server": {
    "command": "bunx",
    "args": ["@cyanheads/national-parks-mcp-server@latest"],
    "env": {
      "NPS_API_KEY": ""
    }
  }
}
```

**Requires environment variables:** `NPS_API_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What national-parks-mcp-server does

national-parks-mcp-server exposes six MCP tools for planning trips within the US National Park Service system. It searches parks by place name, state, or free text, then uses the resulting `parkCode` values to retrieve related information. Covered sites include national parks, monuments, historic sites, and seashores; state parks, Forest Service locations, and BLM land are outside its scope.

Park results include identifiers and planning-oriented summaries. Detailed park lookups can include descriptions, activities, fees and passes, seasonal hours, contacts, directions, weather overviews, coordinates, images, and NPS pages. The service also surfaces current alerts, campground logistics, curated activities, and scheduled events.

## How it works

The intended sequence starts with `nps_find_parks`. Exact park codes and names receive priority, while state codes, comma-separated state lists, activities, and free-text queries can narrow the search. Subsequent tools accept park or state filters where appropriate.

Responses include result counts, applied-filter context, pagination or truncation information, and notices for empty results. Missing values remain `null` rather than being inferred. Park coordinates can be used by compatible weather servers such as `nws-weather` and `open-meteo`, but coordinates are not invented when the NPS data lacks them.

The NPS API response formats are normalized before reaching MCP handlers, including numeric and boolean values represented as strings, nested campground counts, amenity arrays, and the events response envelope. Transient network and upstream server failures receive light retry handling.

## Setup and configuration

The server can run through stdio or Streamable HTTP. A public Streamable HTTP instance is available at `https://national-parks.caseyjhand.com/mcp`, so compatible clients can connect without installing a local process. The repository also provides installation links and configurations for Claude Desktop, Cursor, and VS Code, along with HTTP examples for Claude Code and Cline.

For a local package-based deployment, the documented client configurations invoke the npm package through `npx` and pass an `NPS_API_KEY` environment variable. Set `NPS_API_KEY` to an API key issued for the National Park Service Data API. An absent or invalid key produces an explicit error that identifies the required variable.

## Tools and capabilities

- `nps_find_parks` searches by query, state, or activity and returns park codes plus summaries. Results can be paged and limited.
- `nps_get_park` batches up to ten park codes and supports field selection for activities, topics, fees, hours, contacts, directions, and images.
- `nps_get_alerts` reports recent dangers, cautions, information notices, and park closures for parks or states.
- `nps_find_campgrounds` returns amenities, site availability by reservation type, booking guidance, fees, accessibility, and locations.
- `nps_get_activities` lists activities for one park or state, including duration, location, season, accessibility, fees, pets, and reservation indicators.
- `nps_find_events` searches a date window and returns event timing, recurrence details, location, category, fees, and registration links.

## Limitations and notes

Activities require a single park or state filter, while events use page number and page size rather than an offset. A park may legitimately have no campgrounds, curated activities, or events; those cases return notices instead of tool errors. Event-related NPS errors can appear alongside otherwise usable results. `nps_get_park` reports unresolved codes separately and fails only when no requested parks resolve.

_Full upstream README: https://allmcps.com/mcp/national-parks-mcp-server/readme_

