nps-explorer
A Model Context Protocol (MCP) server on Cloudflare Workers, letting you query APIs for park overviews, trails, alerts, events, weather forecasts, and more via simple tool calls from your LLM of choice.
claude mcp add --transport stdio kyle-ski-nps-explorer-mcp-server node server.js \ --env NPS_API_KEY="your-nps-api-key" \ --env WEATHER_API_KEY="your-weather-api-key" \ --env GITHUB_CLIENT_ID="your-github-oauth-client-id" \ --env GITHUB_CLIENT_SECRET="your-github-oauth-client-secret" \ --env COOKIE_ENCRYPTION_KEY="your-random-cookie-encryption-key" \ --env RECREATION_GOV_API_KEY="your-recreation-gov-api-key"
How to use
This MCP server, NPS Explorer, provides an LLM-accessible interface to National Park Service data, Recreation.gov data, and weather information. It exposes a set of tools that you can call from an LLM to retrieve park overviews, analyze trails, fetch alerts and events, forecast weather, and plan visits. The available tools include getParkInfo, getTrailInfo, findParks, getParkAlerts, getParkEvents, findNearbyRecreation, planParkVisit, getParkWeatherForecast, and getCampgrounds. Use these tools to assemble contextual knowledge about parks, plan trips, or surface up-to-date conditions and opportunities directly within your assistant conversations. The server is designed to run on Cloudflare Workers but is here demonstrated as a Node.js-based MCP server that you can run locally or adapt to your deployment workflow.
How to install
Prerequisites:
- Node.js v18.20.4 or newer
- npm
- Access keys for NPS API, Recreation.gov API, and a Weather API key
Setup steps:
-
Clone the repository git clone https://github.com/Kyle-Ski/nps-explorer-mcp-server.git cd nps-explorer-mcp-server
-
Install dependencies npm install
-
Create and populate secrets cp .dev.vars.example .dev.vars Open .dev.vars and fill in your API keys and OAuth details (NPS_API_KEY, RECREATION_GOV_API_KEY, WEATHER_API_KEY, GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET). You may also set COOKIE_ENCRYPTION_KEY as recommended by the original README.
-
Start the server locally npm start
-
(Optional) Deploy to Cloudflare Workers using Wrangler if you adapt the server for Wrangler environment npm run deploy
Additional notes
Notes and tips:
- Ensure your API keys are kept secure; the config supports environment variables for keys and secrets.
- The tooling status table indicates some tools may be in development (e.g., getTrailInfo is under construction, findNearbyRecreation may have issues). Plan calls accordingly and implement fallbacks.
- When testing locally, verify that your Node.js version matches the recommended v18.20.4+ to avoid Claude Desktop connection issues described in troubleshooting guidance.
- If you run into integration issues, consult the MCP Inspector Tool (npx @modelcontextprotocol/inspector) to verify available tools and endpoints exposed by the server.
- For production deployment on Cloudflare Workers, you’ll typically use Wrangler to publish and manage Durable Objects and KV namespaces as described in the deployment notes.
Related MCP Servers
mcp-graphql
Model Context Protocol server for GraphQL
rohlik
MCP server that lets you shop groceries across the Rohlik Group platforms (Rohlik.cz, Knuspr.de, Gurkerl.at, Kifli.hu, Sezamo.ro)
mcp -arangodb
This is a TypeScript-based MCP server that provides database interaction capabilities through ArangoDB. It implements core database operations and allows seamless integration with ArangoDB through MCP tools. You can use it wih Claude app and also extension for VSCode that works with mcp like Cline!
mcp-gemini
This project provides a dedicated MCP (Model Context Protocol) server that wraps the @google/genai SDK. It exposes Google's Gemini model capabilities as standard MCP tools, allowing other LLMs (like Cline) or MCP-compatible systems to leverage Gemini's features as a backend workhorse.
filesystem
A Model Context Protocol (MCP) server for platform-agnostic file capabilities, including advanced search/replace and directory tree traversal
mcp-chain-of-draft
Chain of Draft Server is a powerful AI-driven tool that helps developers make better decisions through systematic, iterative refinement of thoughts and designs. It integrates seamlessly with popular AI agents and provides a structured approach to reasoning, API design, architecture decisions, code reviews, and implementation planning.