MCP Hub
Back to servers

NPS MCP Server

Provides access to the National Park Service API, enabling natural language queries about parks, alerts, campgrounds, events, and more.

glama
Updated
May 8, 2026

NPS MCP Server

A Model Context Protocol (MCP) server that gives Claude (or any MCP-compatible AI client) access to the National Park Service API. Ask questions about parks, alerts, campgrounds, events, parking, and more — all in natural language.


Prerequisites


Installation

# 1. Clone the repository
git clone https://github.com/AniruddhaShukla/nps-mcp.git
cd nps-mcp

# 2. Create and activate a virtual environment
python3 -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate

# 3. Install dependencies
pip install -r requirements.txt

Configuration

# Copy the example env file
cp .env.example .env

# Open .env and replace the placeholder with your real API key
# NPS_API_KEY=your_api_key_here

Your .env file is listed in .gitignore and will never be committed.


Running the Server

python server.py

The server communicates over stdio (standard MCP transport) and stays running until you stop it. You don't interact with it directly — your MCP client does.


Connecting to Claude Desktop

  1. Open your Claude Desktop config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add this block inside the "mcpServers" object (create the object if it doesn't exist):

{
  "mcpServers": {
    "national-parks": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["/absolute/path/to/nps-mcp/server.py"],
      "env": {
        "NPS_API_KEY": "your_api_key_here"
      }
    }
  }
}

Replace the paths with the actual absolute paths on your machine. Using the env block here means you don't even need the .env file — the key is passed directly.

  1. Restart Claude Desktop. To verify it's working, click the paperclip / attachment icon in the chat input bar, then select Connectors — you should see national-parks listed with a blue toggle indicating it's running. You can enable or disable it per conversation from there.

Connecting to Claude Code

claude mcp add national-parks -- /absolute/path/to/.venv/bin/python /absolute/path/to/nps-mcp/server.py

Then set the environment variable in your shell before running Claude Code:

export NPS_API_KEY=your_api_key_here
claude

Testing with MCP Inspector

npx @modelcontextprotocol/inspector python server.py

This opens a browser UI where you can call each tool manually and inspect responses.


Available Tools

ToolDescription
list_known_parksList all park codes and full names known to this server
search_parksSearch parks by name or keyword, optionally filtered by state
get_parkGet full details for a specific park by code
get_park_alertsCurrent closures, dangers, and notices for a park
get_visitor_centersVisitor center hours and contact info
get_parking_lotsParking lot capacity, accessibility, and live occupancy
get_campgroundsCampground details, fees, and reservations
get_eventsUpcoming ranger programs and park events
get_things_to_doRecommended activities (hiking, fishing, stargazing, etc.)
get_toursGuided tours available at a park
get_webcamsLive webcam feeds
get_fees_passesEntrance fees and pass information
get_news_releasesRecent press releases from a park
get_road_eventsRoad closures and construction zones
get_placesNotable landmarks and places within a park
get_peopleHistorical figures and conservationists associated with a park
get_articlesEducational articles published by the park
get_lesson_plansTeacher lesson plans related to a park
get_passport_stamp_locationsWhere to collect National Park Passport stamps
get_activitiesBrowse all activity categories across the NPS
get_topicsBrowse all topic categories (history, geology, etc.)

Known Park Codes

All 63 officially designated U.S. National Parks are pre-mapped. For any other NPS site (monuments, seashores, recreation areas, etc.) use search_parks to find its code.

Northeast

CodePark
acadAcadia National Park
neriNew River Gorge National Park & Preserve
shenShenandoah National Park
viisVirgin Islands National Park

Southeast

CodePark
biscBiscayne National Park
congCongaree National Park
drtoDry Tortugas National Park
everEverglades National Park
grsmGreat Smoky Mountains National Park
hospHot Springs National Park
macaMammoth Cave National Park

Midwest

CodePark
cuvaCuyahoga Valley National Park
induIndiana Dunes National Park
isroIsle Royale National Park
jeffGateway Arch National Park
voyaVoyageurs National Park

Great Plains

CodePark
badlBadlands National Park
throTheodore Roosevelt National Park
wicaWind Cave National Park

Rocky Mountain

CodePark
blcaBlack Canyon Of The Gunnison National Park
brcaBryce Canyon National Park
canyCanyonlands National Park
careCapitol Reef National Park
grsaGreat Sand Dunes National Park & Preserve
grteGrand Teton National Park
meveMesa Verde National Park
romoRocky Mountain National Park
yellYellowstone National Park
zionZion National Park

Southwest

CodePark
archArches National Park
bibeBig Bend National Park
caveCarlsbad Caverns National Park
devaDeath Valley National Park
grcaGrand Canyon National Park
grbaGreat Basin National Park
gumoGuadalupe Mountains National Park
pefoPetrified Forest National Park
saguSaguaro National Park
whsaWhite Sands National Park

California

CodePark
chisChannel Islands National Park
jotrJoshua Tree National Park
kicaKings Canyon National Park
lavoLassen Volcanic National Park
pinnPinnacles National Park
redwRedwood National & State Parks
sequSequoia National Park
yoseYosemite National Park

Pacific Northwest

CodePark
crlaCrater Lake National Park
moraMount Rainier National Park
nocaNorth Cascades National Park
olymOlympic National Park

Hawaii

CodePark
haleHaleakalā National Park
havoHawaiʻi Volcanoes National Park

Alaska

CodePark
denaDenali National Park & Preserve
gaarGates of the Arctic National Park & Preserve
glbaGlacier Bay National Park & Preserve
katmKatmai National Park & Preserve
kefjKenai Fjords National Park
kovaKobuk Valley National Park
laclLake Clark National Park & Preserve
wrstWrangell-St. Elias National Park & Preserve

Other

CodePark
glacGlacier National Park (Montana)
npsaNational Park of American Samoa

Example Queries

Once connected to Claude, try asking:

  • "What are the current alerts at Yellowstone?"
  • "Find campgrounds in Yosemite National Park."
  • "What are the entrance fees for the Grand Canyon?"
  • "Show me parking lots at Yellowstone and their current occupancy."
  • "Are there any road closures at Glacier National Park?"
  • "What events are happening at Acadia this week?"
  • "What's there to do at Zion National Park?"
  • "Find national parks in Utah."

License

This project is open source. The NPS API is a free public service provided by the U.S. National Park Service.

Reviews

No reviews yet

Sign in to write a review