关于 NPS Explorer MCP Server 🔭
NPS Explorer MCP Server 将公园相关 API 接入 MCP 客户端,提供美国国家公园、休闲活动和天气信息,并运行于 Cloudflare Workers。步道详情仍在开发,附近休闲地点搜索目前无法正常工作。
主要功能
- 01公园信息与当前状况
- 02按条件搜索公园
- 03查看警报与活动
- 04天气预报与出行时间建议
- 05露营地列表
适用场景
- 01出发前查看公园当前状况
- 02按州或设施筛选公园
- 03查看公园警报和近期活动
- 04参考天气预报安排游览时间
MCP 相关
这是运行于 Cloudflare Workers 的 MCP 服务,向 MCP 客户端提供查询美国国家公园管理局、Recreation.gov 和天气数据的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
NPS Explorer MCP 服务 🔭
概述
此仓库是 Cloudflare 的 remote-MCP-GitHub-OAuth 演示的修改版,并扩展为国家公园管理局探索工具。它通过集成以下服务,为大模型提供美国国家公园的上下文信息:
- 国家公园管理局 API
- Recreation.gov API
- 天气 API(我选择了 https://www.weatherapi.com/)
它作为 Model Context Protocol(MCP)服务运行在 Cloudflare Workers 上,让你可以通过向大模型发起简单的工具调用,查询公园概览、步道、警报、活动、天气预报等信息。
想了解原始演示?
请参阅 Cloudflare 的说明。想将此工具直接添加到你的 Claude Desktop 中?
请参阅说明。想直接克隆他们的示例?使用他们的命令行,在你的计算机上启动服务:
npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-github-oauth
📋 前提条件
- 已启用 Workers 和 KV 的 Cloudflare 账户
- Node.js v18.20.4+ 和 npm
- 你自己的以下 API 密钥:
- 国家公园管理局 API
- Recreation.gov API
- 天气 API(weatherapi)
⚙️ 设置
-
克隆此仓库
git clone https://github.com/Kyle-Ski/nps-explorer-mcp-server.git cd nps-explorer-mcp-server -
复制并填写
.dev.varscp .dev.vars.example .dev.vars然后打开 .dev.vars 并填入你自己的密钥。
- 安装依赖
npm i
- 本地运行
npm start
🚀 部署
deploy 命令使用 Wrangler 将你的服务部署到 Cloudflare Workers!Cloudflare 还会使用其 Durable Objects 和 Workers KV。
npm run deploy
🧰 工具
| 工具名称 | 描述 | 状态 |
|---|---|---|
getParkInfo | 获取国家公园的全面信息,包括静态详情和当前状况 | 可正常使用 |
getTrailInfo | 获取步道的详细信息(难度、长度、爬升高度、当前状况) | 🚧 正在开发中 |
findParks | 根据州、活动或设施等条件查找国家公园 | 可正常使用 |
getParkAlerts | 获取指定公园的当前警报、关闭信息和通知 | 可正常使用 |
getParkEvents | 获取公园即将举办的活动,包括护林员讲座、导览徒步和教育项目 | 可正常使用 |
findNearbyRecreation | 查找指定地点附近的休闲区域和露营选择 | ⚠️ 无法正常工作 |
planParkVisit | 根据历史天气和天气预报,获取游览公园的最佳时间建议 | 可正常使用 |
getParkWeatherForecast | 根据公园代码获取国家公园的详细天气预报 | 可正常使用 |
getCampgrounds | 列出指定国家公园内的露营地,并提供详细信息 | 可正常使用 |
🧪 测试
服务器启动并运行后,请使用 MCP Server Inspector Tool, 确保服务器能够连接,并显示其可访问的工具和资源。
npx @modelcontextprotocol/inspector
🛜 用于生产环境
以上内容均摘自原始的 Cloudflare README.md
Cloudflare 建议创建本地和远程 GitHub OAuth App:
- 对于 Homepage URL,请指定
https://mcp-github-oauth.<your-subdomain>.workers.dev - 对于 Authorization callback URL,请指定
https://mcp-github-oauth.<your-subdomain>.workers.dev/callback - 记下 Client ID,生成 Client secret,并通过 Wrangler 添加。
wrangler secret put GITHUB_CLIENT_ID
wrangler secret put GITHUB_CLIENT_SECRET
wrangler secret put COOKIE_ENCRYPTION_KEY # add any random string here e.g. openssl rand -hex 32
设置 KV 命名空间
- 创建 KV 命名空间:wrangler kv:namespace create "OAUTH_KV"
- 使用 KV ID 更新 Wrangler 文件
📚 参考
- Cloudflare 原始演示 README: https://github.com/cloudflare/ai/tree/main/demos/remote-mcp-github-oauth#readme
- Model Context Protocol: https://modelcontextprotocol.io/introduction
- 将 Agent 连接到你的服务器:
🧑🔧 故障排除和常见问题
请查看 MCP 故障排除文档
无法连接到 Claude Desktop:
- 通常是 Node 兼容性问题所致。请在本地使用 node v18.20.4+,并查看这篇指南,这是我撰写的文章。
🤝 贡献
-
Fork 此代码库
-
创建功能分支(git checkout -b feature-name)
-
提交更改(git commit -m 'Add new tool')
-
推送到该分支(git push origin feature-name)
-
创建 Pull Request
⚖️ 许可证
本项目采用 MIT License 授权。详情请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。