Skip to content

io.github.cyanheads/national-parks-mcp-server

by cyanheads · remote · local (npm) · no sign-in to list tools · v0.2.1 · published by GitHub user cyanheads

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

Read only

6 tools: 6 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http national-parks https://national-parks.caseyjhand.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

6 tools

Only reads 6Claude Code: allow
  • nps_find_campgroundsCampgrounds at a park or across a state: amenities (potable water, showers, RV dump station, toilets, trash collection, RV access), reservable vs.No findings

    Why it is in this group

    • The name "nps_find_campgrounds" says "find": a word for reading.
    Description, as the server wrote it
    Campgrounds at a park or across a state: amenities (potable water, showers, RV dump station, toilets, trash collection, RV access), reservable vs. first-come-first-served site counts, reservation guidance and booking URL, accessibility, and fees — answering "where can I camp at Zion, and can I get an RV hookup?" Get park codes from nps_find_parks. Some parks list lodging or backcountry permits instead of NPS-managed campgrounds; an empty result is not an error.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • nps_find_eventsScheduled events at a park within a date range — ranger programs, festivals, tours, interpretive events — answering "what's happening at Yellowstone this weekend?" with title, date…No findings

    Why it is in this group

    • The name "nps_find_events" says "find": a word for reading.
    Description, as the server wrote it
    Scheduled events at a park within a date range — ranger programs, festivals, tours, interpretive events — answering "what's happening at Yellowstone this weekend?" with title, dates and times, location, category, fee, and registration links. Get park codes from nps_find_parks. Paginates by page number, not offset. Many parks list few or no events; an empty result is not an error.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • 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.No findings

    Why it is in this group

    • The name "nps_find_parks" says "find": a word for reading.
    Description, as the server wrote it
    Resolve 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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • nps_get_activitiesCurated things to do and points of interest at a park — title, description, time commitment, location, accessibility, and fee/pet/reservation flags — answering "what should I do at…No findings

    Why it is in this group

    • The name "nps_get_activities" says "get": a word for reading.
    Description, as the server wrote it
    Curated things to do and points of interest at a park — title, description, time commitment, location, accessibility, and fee/pet/reservation flags — answering "what should I do at Acadia?" Covers the NPS editorially-curated activity list (distinct from a park's raw activity tags in nps_get_park). Accepts a single 4-letter park code or a single two-letter state code, and at least one is required. Not every park has a curated list; an empty result is not an error.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • nps_get_alertsCurrent alerts for a park or a whole state — closures, hazards, caution notices, and information — with category and recency surfaced first so "is anything closed at Glacier right …No findings

    Why it is in this group

    • The name "nps_get_alerts" says "get": a word for reading.
    Description, as the server wrote it
    Current alerts for a park or a whole state — closures, hazards, caution notices, and information — with category and recency surfaced first so "is anything closed at Glacier right now?" is answered at a glance. Get park codes from nps_find_parks, or pass a stateCode for a statewide "what's closed" sweep. Returns most-recent-first. An empty result with totalCount 0 means no active alerts match the request (with category or query set, alerts outside that filter may still be active); an empty page with a non-zero totalCount means start ran past the end of the matches. Closures and road conditions change daily.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • nps_get_parkFull trip-planning detail for one or more parks by parkCode: description, activities and topics, entrance fees and passes, operating hours by area/season, contacts, directions, a f…No findings

    Why it is in this group

    • The name "nps_get_park" says "get": a word for reading.
    Description, as the server wrote it
    Full trip-planning detail for one or more parks by parkCode: description, activities and topics, entrance fees and passes, operating hours by area/season, contacts, directions, a free-text weather overview, representative images, and the NPS page for everything else. Get codes from nps_find_parks. Accepts up to ten codes per call. Use the fields parameter to return only the sections you need.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.2.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http national-parks https://national-parks.caseyjhand.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__national-parks__nps_find_parks",
      "mcp__national-parks__nps_get_park",
      "mcp__national-parks__nps_get_alerts",
      "mcp__national-parks__nps_find_campgrounds",
      "mcp__national-parks__nps_get_activities",
      "mcp__national-parks__nps_find_events"
    ],
    "ask": [],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as national-parks. Review it before you use it.