
MCP Server for National Park Services Data
โ 3from amysatterlee
Retrieve data from the National Park Service (NPS) API.
โ labsco summary โ our analysis, not the vendor's
What it is โ an MCP server that retrieves U.S. National Park Service data, letting an assistant answer questions about national parks.
What you get โ
- List parks in a state โ
park-listwith a two-letter code, "What National Parks are in the state of CA?" - Fetch park details โ
park-detailsby park code, "Give me details about Yellowstone National Park" - Built-in prompts (
parks-by-state,details-for-park) for natural queries
Requirements โ from env + README: Node.js (v18+), Claude Desktop, and a free NPS API key (API_KEY) from nps.gov's developer portal.
Cost snapshot โ the server is free and open source (no license stated in metadata); the NPS API key is free to obtain, so there's no service cost.
Setup effort โ self-host: clone, npm install, npm run build, add the key to .env, and register node build/index.js in Claude Desktop.
Our take โ A friendly, low-stakes example server that's genuinely useful for trip planning. Caveat: it exposes only two lookups (parks by state, park details), so it's narrow โ and you do need to register for the free NPS API key first.
Source: the project README โ summarized 2026-07-08.
โ readme from github โ mirrored (latest on GitHub โ)
MCP Server for National Park Services Data
This MCP Server provides an interface to retrieve National Park Services (NPS) data. It allows users to:
- Retrieve a list of national parks in a given U.S. state.
- Fetch detailed information about a specific national park.
It uses the National Park Service API to obtain the data.
API Endpoints
Fetch List of National Parks by State
Tool Name: park-list
Parameters:
stateCode(string) โ Two-letter U.S. state code
Response Example:
[
{
"fullName": "Yellowstone National Park",
"description": "First national park in the U.S.",
"parkCode": "yell"
}
]Fetch Details of a National Park
Tool Name: park-details
Parameters:
parkCode(string) โ National Park lookup code
Response Example:
[
{
"fullName": "Yellowstone National Park",
"description": "First national park in the U.S.",
"states": "WY, MT, ID"
}
]Prompts
Retrieve Parks in a State
Prompt Name: parks-by-state
Parameters:
stateCode(string)
Example:
What National Parks are in the state of CA?Get Park Details
Prompt Name: details-for-park
Parameters:
park(string)
Example:
Give me details about Yellowstone National Park.{
"mcpServers": {
"nps": {
"command": "node",
"args": [
"/<Path to Server>/build/index.js"
],
"env": {
"API_KEY": "Your NPS API Key"
}
}
}
}Before it works, you'll need: API_KEY
Requirements
- Node.js (v18+ recommended)
- npm or yarn
- A valid NPS API key (available at https://www.nps.gov/subjects/developer/get-started.htm)
- Claude Desktop installed (for running MCP servers)
Setup
-
Clone this repository:
git clone <repository-url> cd <repository-folder> -
Install dependencies:
npm install -
Create a
.envfile in the root directory and add your NPS API key:API_KEY=your_nps_api_key_here
Running the Server
To start the MCP server:
npm run build
node ./build/server.jsUsing Claude Desktop:
- Add this MCP Server to the
claude_desktop_config.json
{
"mcpServers": {
"nps": {
"command": "node",
"args": [
"/<Path to Server>/build/index.js"
],
"env": {
"API_KEY": "Your NPS API Key"
}
}
}
}- Start or Restart Claude Desktop
- Ensure your MCP server is recognized and running by clicking on the tools icon at the bottom of Claude's chat window.
- Use Claude's interface to query National Park Services data.
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.