Skip to main content
Glama
AniruddhaShukla

NPS MCP Server

NPS MCP 服务器

这是一个 Model Context Protocol (MCP) 服务器,让 Claude(或任何兼容 MCP 的 AI 客户端)能够访问 美国国家公园管理局 (NPS) API。你可以用自然语言询问有关公园、警报、露营地、活动、停车等信息。


前置要求


Related MCP server: National Parks MCP Server

安装

# 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

配置

# 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

你的 .env 文件已列在 .gitignore 中,永远不会被提交。


运行服务器

python server.py

服务器通过 stdio(标准 MCP 传输)进行通信,并保持运行直到你停止它。你不需要直接与它交互——你的 MCP 客户端会处理。


连接到 Claude Desktop

  1. 打开你的 Claude Desktop 配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. 在 "mcpServers" 对象中添加此代码块(如果该对象不存在,请创建它):

{
  "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"
      }
    }
  }
}

将路径替换为你机器上的实际绝对路径。在此处使用 env 代码块意味着你甚至不需要 .env 文件——密钥会直接传递。

  1. 重启 Claude Desktop。要验证它是否正常工作,请点击聊天输入栏中的 回形针/附件图标,然后选择 Connectors — 你应该能看到 national-parks 列出,并带有一个蓝色的切换开关,表示它正在运行。你可以从那里针对每个对话启用或禁用它。


连接到 Claude Code

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

然后在运行 Claude Code 之前在你的 shell 中设置环境变量:

export NPS_API_KEY=your_api_key_here
claude

使用 MCP Inspector 进行测试

npx @modelcontextprotocol/inspector python server.py

这将打开一个浏览器 UI,你可以在其中手动调用每个工具并检查响应。


可用工具

工具

描述

list_known_parks

列出此服务器已知的所有公园代码和全名

search_parks

按名称或关键字搜索公园,可选择按州过滤

get_park

获取特定公园的代码详细信息

get_park_alerts

公园当前的关闭、危险和通知信息

get_visitor_centers

游客中心营业时间和联系信息

get_parking_lots

停车场容量、无障碍设施和实时占用情况

get_campgrounds

露营地详细信息、费用和预订信息

get_events

即将举行的护林员项目和公园活动

get_things_to_do

推荐活动(徒步、钓鱼、观星等)

get_tours

公园提供的导览服务

get_webcams

实时网络摄像头画面

get_fees_passes

入园费和通行证信息

get_news_releases

公园最近的新闻稿

get_road_events

道路封闭和施工区域

get_places

公园内的著名地标和地点

get_people

与公园相关的历史人物和环保人士

get_articles

公园发布的教育文章

get_lesson_plans

与公园相关的教师教案

get_passport_stamp_locations

收集国家公园护照印章的地点

get_activities

浏览 NPS 的所有活动类别

get_topics

浏览所有主题类别(历史、地质等)


已知公园代码

所有 63 个官方指定的美国国家公园都已预先映射。对于任何其他 NPS 站点(纪念碑、海岸、休闲区等),请使用 search_parks 查找其代码。

东北部

代码

公园

acad

阿卡迪亚国家公园

neri

新河峡谷国家公园及保护区

shen

谢南多厄国家公园

viis

维尔京群岛国家公园

东南部

代码

公园

bisc

比斯坎国家公园

cong

康加里国家公园

drto

海龟国家公园

ever

大沼泽地国家公园

grsm

大烟山国家公园

hosp

温泉国家公园

maca

猛犸洞国家公园

中西部

代码

公园

cuva

凯霍加谷国家公园

indu

印第安纳沙丘国家公园

isro

皇家岛国家公园

jeff

拱门国家公园

voya

航海者国家公园

大平原

代码

公园

badl

恶地国家公园

thro

西奥多·罗斯福国家公园

wica

风洞国家公园

落基山脉

代码

公园

blca

黑峡谷国家公园

brca

布莱斯峡谷国家公园

cany

峡谷地国家公园

care

圆顶礁国家公园

grsa

大沙丘国家公园及保护区

grte

大提顿国家公园

meve

梅萨维德国家公园

romo

落基山国家公园

yell

黄石国家公园

zion

锡安国家公园

西南部

代码

公园

arch

拱门国家公园

bibe

大弯曲国家公园

cave

卡尔斯巴德洞窟国家公园

deva

死亡谷国家公园

grca

大峡谷国家公园

grba

大盆地国家公园

gumo

瓜达卢佩山国家公园

pefo

石化林国家公园

sagu

仙人掌国家公园

whsa

白沙国家公园

加利福尼亚州

代码

公园

chis

海峡群岛国家公园

jotr

约书亚树国家公园

kica

国王峡谷国家公园

lavo

拉森火山国家公园

pinn

尖顶国家公园

redw

红木国家及州立公园

sequ

红杉国家公园

yose

优胜美地国家公园

太平洋西北部

代码

公园

crla

火山口湖国家公园

mora

雷尼尔山国家公园

noca

北喀斯喀特国家公园

olym

奥林匹克国家公园

夏威夷

代码

公园

hale

哈雷阿卡拉国家公园

havo

夏威夷火山国家公园

阿拉斯加

代码

公园

dena

迪纳利国家公园及保护区

gaar

北极之门国家公园及保护区

glba

冰川湾国家公园及保护区

katm

卡特迈国家公园及保护区

kefj

基奈峡湾国家公园

kova

科伯克谷国家公园

lacl

克拉克湖国家公园及保护区

wrst

兰格尔-圣伊莱亚斯国家公园及保护区

其他

代码

公园

glac

冰川国家公园(蒙大拿州)

npsa

美属萨摩亚国家公园


查询示例

连接到 Claude 后,尝试询问:

  • “黄石公园目前的警报是什么?”

  • “查找优胜美地国家公园的露营地。”

  • “大峡谷的入园费是多少?”

  • “向我展示黄石公园的停车场及其当前的占用情况。”

  • “冰川国家公园有道路封闭吗?”

  • “阿卡迪亚本周有什么活动?”

  • “锡安国家公园有什么好玩的?”

  • “查找犹他州的国家公园。”


许可证

本项目为开源项目。NPS API 是美国国家公园管理局提供的免费公共服务。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Facilitates retrieval of National Park Services data using the NPS API, allowing users to list national parks by state and access detailed information about specific parks.
    44,731 npm
    3
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides real-time information about U.S. National Parks through the NPS API, enabling users to search parks, check details, alerts, visitor centers, campgrounds, and upcoming events.
    6
    142 npm
    41
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides LLM context on U.S. national parks by integrating National Park Service, Recreation.gov, and weather APIs, enabling queries about park info, trails, alerts, events, weather forecasts, and more via tool calls.
    3
    MIT