NPS资源管理器MCP服务器🔭
概述
此存储库是Cloudflare的修改版本 ,延伸成a 国家公园服务探索者。它通过整合以下内容提供了美国国家公园的法学硕士背景:
- 这 国家公园管理局API
- 这 Recreation.gov API
- A. 天气API(我选择 https://www.weatherapi.com/)
它作为Cloudflare Workers上的模型上下文协议(MCP)服务器运行,允许您通过对LLM的简单工具调用查询公园概述、步道、警报、事件、天气预报等。
您在寻找原始演示吗?\ 请参阅Cloudflare的说明 这里. 想将此工具直接添加到您的Claude桌面吗?\ 查看说明 这里 想直接复制他们的例子吗?使用他们的命令行在您的计算机上启动服务器:
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(天气预报)
______________________________________________________________________
⚙️ 设置
- 克隆此仓库
git clone https://github.com/Kyle-Ski/nps-explorer-mcp-server.git
cd nps-explorer-mcp-server- 复制并填写
.dev.vars
cp .dev.vars.example .dev.vars_然后打开.dev.vars并填充您自己的秘密。_
- 安装依赖项
npm i- 在本地运行
npm start______________________________________________________________________
🚀 部署
这 deploy 命令正在使用 牧马人 将您的服务器部署到Cloudflare 工人Cloudflare也将使用他们的 耐用物品 和 工人KV.
npm run deploy______________________________________________________________________
🧰 工具
| 工具名称 | 描述 | 状态 |
|---|---|---|
getParkInfo | 获取有关国家公园的全面信息,包括静态细节和当前状况 | 工作 |
getTrailInfo | 获取有关步道的详细信息(难度、长度、海拔增益、当前条件) | 🚧 在建中 |
findParks | 根据州、活动或设施等标准查找国家公园 | 工作 |
getParkAlerts | 获取指定公园的当前警报、关闭和通知 | 正常工作 |
getParkEvents | 了解公园即将举行的活动,包括护林员讲座、导游徒步旅行和教育项目 | 正在进行中 |
findNearbyRecreation | 查找给定位置附近的娱乐区和露营选项 | ⚠️ 工作不正常 |
planParkVisit | 根据历史和预报天气获取参观公园的最佳时间建议 | 工作 |
getParkWeatherForecast | 按公园代码获取国家公园的详细天气预报 | 正在工作 |
getCampgrounds | 列出给定国家公园内的露营地,并附上详细信息 | 正在工作 |
______________________________________________________________________
🧪 测试
服务器启动并运行后,使用 MCP服务器检查器工具 确保您的服务器可以连接并向您显示它可以访问的工具和资源。
npx @modelcontextprotocol/inspector______________________________________________________________________
🛜 用于生产
_所有这些都是原版 Cloudflare README.md_\ Cloudflare建议创建本地和远程GitHub OAuth应用程序:
- 对于主页URL,请指定
https://mcp-github-oauth..workers.dev - 对于授权回调URL,请指定
https://mcp-github-oauth..workers.dev/callback - 记下你的客户ID,生成一个客户机密,并通过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:命名空间创建“OAUTH_KV”
- 使用KV ID更新牧马人文件
______________________________________________________________________
📚 参考
- Cloudflare原始演示自述:
- 模型上下文协议:
https://modelcontextprotocol.io/introduction
- 将代理连接到服务器:
______________________________________________________________________
🧑🔧 故障排除和常见问题
_查看MCP 故障排除文档_
连接到Claude Desktop失败:
- 最常见的是由于Node不兼容问题,请在本地使用Node v18.20.4+并签出 本指南 我写的。
______________________________________________________________________
🤝 贡献
- 分叉此存储库
- 创建功能分支(git checkout-b功能名称)
- 提交您的更改(git Commit-m“添加新工具”)
- 推送到分支(git推送源功能名称)
- 打开拉取请求
⚖️ 许可证
他的项目获得了麻省理工学院许可证。看 许可证 了解详情。
