accueil / serveurs / Dev & Code / io.github.cyanheads/national-parks-mcp-server
io.github.cyanheads/national-parks-mcp-server
serveur MCP (Model Context Protocol) · national-parks-mcp-server 0.2.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.cyanheads/national-parks-mcp-server est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.cyanheads/national-parks-mcp-server » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 6 outils
- nps_find_campgrounds≈ 1713 tokens
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.
Paramètres, retour & exemple (5)
Paramètreslimit· integer · optionnel
Maximum campgrounds to return (1–50).query· string · optionnel
Free-text search across campground names/descriptions (e.g. "river", "group", "rv").start· integer · optionnel
Zero-based pagination offset.parkCode· string · optionnel
Park code, or comma-separated list (e.g. "zion") — 4-letter lowercase codes. Get codes from nps_find_parks. Provide parkCode or stateCode.stateCode· string · optionnel
Two-letter state code, or comma-separated list. Returns campgrounds across all NPS sites in those states.
Exemple d'appel{"name": "nps_find_campgrounds", "arguments": {"limit": 1, "query": "texte", "start": 1, "parkCode": "texte", "stateCode": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "error": {}, "shown": 1, "notice": "texte", "truncated": true, "totalCount": 1, "campgrounds": [], "appliedFilters": "texte"}} - nps_find_events≈ 1792 tokens
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.
Paramètres, retour & exemple (7)
Paramètresquery· string · optionnel
Free-text search across event titles/descriptions (e.g. "ranger", "astronomy", "guided").dateEnd· string · optionnel
End of the date window (YYYY-MM-DD). Use with dateStart.pageSize· integer · optionnel
Maximum events to return per page (1–50). Paginates by page number, not offset — use with pageNumber to walk through results.parkCode· string · optionnel
Park code, or comma-separated list (e.g. "yell") — 4-letter lowercase codes. Get codes from nps_find_parks. Provide parkCode or stateCode.dateStart· string · optionnel
Start of the date window (YYYY-MM-DD). Combine with dateEnd to bound the search (e.g. a weekend). Omit for upcoming events from today.stateCode· string · optionnel
Two-letter state code, or comma-separated list (e.g. "WY", "WY,MT,ID"). Returns events across NPS sites in those states.pageNumber· integer · optionnel
1-based page number. Increment to page through results beyond the first page.
Exemple d'appel{"name": "nps_find_events", "arguments": {"query": "texte", "dateEnd": "texte", "pageSize": 1, "parkCode": "texte", "dateStart": "texte", "stateCode": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "error": {}, "shown": 1, "events": [], "notice": "texte", "truncated": true, "totalCount": 1, "appliedFilters": "texte"}} - nps_find_parks≈ 1597 tokens
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.
Paramètres, retour & exemple (5)
Paramètreslimit· integer · optionnel
Maximum parks to return (1–50). The full set is ~470 sites; narrow with query/stateCode rather than paging through everything.query· string · optionnel
Free-text search across park names and descriptions (e.g. "yosemite", "civil war", "redwood"). Exact parkCode or name matches lead, then other name matches, then parks that only mention the term in their description — ranked across every match before start/limit apply. 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· integer · optionnel
Zero-based offset for pagination within the matched set. Use with limit to page through results.activity· string · optionnel
Filter to parks offering an activity, matched against each park's activities list (e.g. "hiking", "camping", "stargazing"). Case-insensitive substring match, combined with query/stateCode and applied before start/limit, so totalCount counts every matching park, not one page. Use nps_get_park to see a park's full activity list.stateCode· string · optionnel
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.
Exemple d'appel{"name": "nps_find_parks", "arguments": {"limit": 1, "query": "texte", "start": 1, "activity": "texte", "stateCode": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "error": {}, "parks": [], "shown": 1, "notice": "texte", "truncated": true, "totalCount": 1, "appliedFilters": "texte"}} - nps_get_activities≈ 1447 tokens
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.
Paramètres, retour & exemple (5)
Paramètreslimit· integer · optionnel
Maximum activities to return (1–50).query· string · optionnel
Free-text search across activity titles/descriptions (e.g. "sunrise", "hike", "tour").start· integer · optionnel
Zero-based pagination offset.parkCode· string · optionnel
A single 4-letter lowercase park code (e.g. "acad"). Get it from nps_find_parks. Accepts one park code, not a list. Provide parkCode or stateCode.stateCode· string · optionnel
A single two-letter state code (e.g. "ME"). Returns curated activities across NPS sites in that state.
Exemple d'appel{"name": "nps_get_activities", "arguments": {"limit": 1, "query": "texte", "start": 1, "parkCode": "texte", "stateCode": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "error": {}, "shown": 1, "notice": "texte", "truncated": true, "activities": [], "totalCount": 1, "appliedFilters": "texte"}} - nps_get_alerts≈ 1537 tokens
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.
Paramètres, retour & exemple (6)
Paramètreslimit· integer · optionnel
Maximum alerts to return (1–50), most-recent first.query· string · optionnel
Free-text search within alert titles/descriptions (e.g. "road", "wildfire", "trail").start· integer · optionnel
Zero-based offset for pagination within the matched set. Use with limit to page through results — when totalCount exceeds what was returned, re-request with start advanced by limit.category· string · optionnel · Danger | Caution | Information | Park Closure
Filter to one alert category. "Danger" and "Park Closure" are trip-affecting. Combined with parkCode/stateCode/query and applied before start/limit, so totalCount counts every matching alert, not one page. Omit to see all categories.parkCode· string · optionnel
Park code, or comma-separated list (e.g. "glac", "yose,zion") — 4-letter lowercase codes. Get codes from nps_find_parks. Provide parkCode or stateCode; with neither, returns recent alerts service-wide.stateCode· string · optionnel
Two-letter state code, or comma-separated list (e.g. "MT", "WY,MT,ID"). Returns alerts for all NPS sites in those states — use for a statewide sweep rather than one park.
Exemple d'appel{"name": "nps_get_alerts", "arguments": {"limit": 1, "query": "texte", "start": 1, "category": "Danger", "parkCode": "texte", "stateCode": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "error": {}, "shown": 1, "alerts": [], "notice": "texte", "truncated": true, "totalCount": 1, "appliedFilters": "texte", "categoryBreakdown": "texte"}} - nps_get_park≈ 2328 tokens
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.
Paramètres, retour & exemple (2)
Paramètresfields· array · optionnel
Optional detail sections to include beyond the always-present core (name, designation, states, description, coordinates, weather, url). Omit for all sections. Narrow to reduce payload when you only need, say, hours and fees.parkCode· array · requis
One to ten park codes per call, each a 4-letter lowercase code (e.g. "yose", "grca", "zion"). Get codes from nps_find_parks.
Exemple d'appel{"name": "nps_get_park", "arguments": {"parkCode": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": {}, "parks": [], "notice": "texte", "missingCodes": [], "returnedCount": 1, "requestedCount": 1}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».