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サーバーで、米国国立公園局、Recreation.gov、天気データを照会するツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
NPS Explorer MCP サーバー 🔭
概要
このリポジトリは、Cloudflare の remote-MCP-GitHub-OAuth demo を改変し、National Parks Service Explorer に拡張したものです。以下を統合することで、米国の国立公園に関する LLM コンテキストを提供します。
- National Park Service API
- Recreation.gov API
- Weather API(https://www.weatherapi.com/ を選びました)
Cloudflare Workers 上で Model Context Protocol(MCP)サーバーとして動作し、LLM への簡単なツール呼び出しを通じて、公園の概要、トレイル、警報、イベント、天気予報などを照会できます。
元のデモをお探しですか?
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 キーを各自で用意してください。
- National Park Service API
- Recreation.gov API
- Weather API(weatherapi)
⚙️ セットアップ
-
このリポジトリをクローンします
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 コマンドは、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 namespace をセットアップする
- KV namespace を作成します:wrangler kv:namespace create "OAUTH_KV"
- Wrangler ファイルを KV ID で更新します
📚 参考資料
- Cloudflare の元のデモ README: https://github.com/cloudflare/ai/tree/main/demos/remote-mcp-github-oauth#readme
- Model Context Protocol: https://modelcontextprotocol.io/introduction
- エージェントをサーバーに接続する方法:
🧑🔧 トラブルシューティングとよくある問題
MCP のトラブルシューティングドキュメントをご確認ください
Claude Desktop に接続できない場合:
- 多くの場合、Node の互換性の問題が原因です。ローカルでは node v18.20.4+ を使用し、私が書いたこちらのガイドをご覧ください。
🤝 貢献
-
このリポジトリをフォークします
-
機能ブランチを作成します(git checkout -b feature-name)
-
変更をコミットします(git commit -m 'Add new tool')
-
ブランチにプッシュします(git push origin feature-name)
-
Pull Request を作成します
⚖️ ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細はLICENSEをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。