国家公园探索服务

一个基于Cloudflare Workers的MCP服务器,整合了国家公园服务API、娱乐.gov API和天气API,提供国家公园信息查询、步道信息、天气预测等功能。

  • by Kyle-Ski
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 Kyle-Ski/nps-explorer-mcp-server

使用说明

NPS资源管理器MCP服务器🔭

概述

此存储库是Cloudflare的修改版本 远程MCP GitHub OAuth演示,延伸成a 国家公园服务探索者。它通过整合以下内容提供了美国国家公园的法学硕士背景:

它作为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(天气预报)

⚙️ 设置

  1. 克隆此仓库

    git clone https://github.com/Kyle-Ski/nps-explorer-mcp-server.git
    cd nps-explorer-mcp-server
    
  2. 复制并填写 .dev.vars

    cp .dev.vars.example .dev.vars
    

    然后打开.dev.vars并填充您自己的秘密。

  1. 安装依赖项
npm i
  1. 在本地运行
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.<your-subdomain>.workers.dev
  • 对于授权回调URL,请指定 https://mcp-github-oauth.<your-subdomain>.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更新牧马人文件

📚 参考


🧑‍🔧 故障排除和常见问题

查看MCP 故障排除文档

连接到Claude Desktop失败:

  • 最常见的是由于Node不兼容问题,请在本地使用Node v18.20.4+并签出 本指南 我写的。

🤝 贡献

  1. 分叉此存储库

  2. 创建功能分支(git checkout-b功能名称)

  3. 提交您的更改(git Commit-m“添加新工具”)

  4. 推送到分支(git推送源功能名称)

  5. 打开拉取请求

⚖️ 许可证

他的项目获得了麻省理工学院许可证。看 许可证 了解详情。