MCP Weather Server について
MCP Weather Server は、AccuWeather API を利用して時間別および日別の天気予報を提供する MCP サーバーです。LLM にリアルタイムの天気データを扱わせたいユーザーを対象とし、摂氏と華氏の両方に対応します。
主な機能
- 01今後 12 時間の時間別予報
- 02最大 15 日間の日別予報
- 03摂氏と華氏の単位オプション
- 04npx で直接実行可能
活用シーン
- 01Claude Desktop で都市の天気予報を問い合わせる
- 02今後数日の降雨予測を確認する
MCP 対応
weather-get_hourly と weather-get_daily ツールを Claude Desktop などのクライアントに提供する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| units | enum | いいえ | 温度の単位系(metric は摂氏、imperial は華氏)。デフォルトは metric です。metric | imperial |
| location | string | はい | 天気予報を取得する都市または場所。 |
詳細
MCP Weather Server
AccuWeather API を使用して、1 時間ごとおよび日ごとの天気予報を提供する Model Context Protocol(MCP)サーバーです。
クイックスタート
AccuWeather API キーが必要です(無料プランを利用できます)。
こちらから登録し、アプリを作成してキーを取得してください。
API キーを環境変数としてエクスポートします。
export ACCUWEATHER_API_KEY=your_api_key_here
次のコマンドを実行すると、MCP Weather サーバーを直接起動できます。
npx -y @timlukahorstmann/mcp-weather
または、supergateway 経由で HTTP/REST アクセスする場合は、次のコマンドを実行します。
npx -y supergateway --stdio "npx -y @timlukahorstmann/mcp-weather" \
--port 4004 \
--baseUrl http://127.0.0.1:4004 \
--ssePath /messages \
--messagePath /message \
--cors "*" \
--env ACCUWEATHER_API_KEY="$ACCUWEATHER_API_KEY"
MCP サーバー設定例
Claude Desktop やその他の MCP 対応クライアントと連携するには、設定ファイル(例:claude_desktop_config.json)に次の内容を追加します。
{
"mcpServers": {
"weather": {
"command": "npx",
"args": ["-y", "@timlukahorstmann/mcp-weather"],
"env": {
"ACCUWEATHER_API_KEY": "your_api_key_here"
}
}
}
}
概要
この MCP サーバーを使用すると、LLM(Claude など)がリアルタイムの天気データにアクセスできます。LLM と連携すると、次のことが可能になります。
- 正確で最新の天気予報を取得する
- 今後 12 時間の 1 時間ごとの天気データを提供する
- 最長 15 日間の日別天気予報にアクセスする
- メートル法(°C)とヤード・ポンド法(°F)の両方でデータを表示する
- 気温、天候、降水情報、その他の天気の詳細を確認する
利用可能なツール
1 時間ごとの天気予報
- ツール名:
weather-get_hourly - 今後 12 時間の 1 時間ごとの天気予報を提供します
- パラメーター:
location(必須):都市名または場所の名前units(任意):「metric」(摂氏、デフォルト)または「imperial」(華氏)
日別天気予報
- ツール名:
weather-get_daily - 最長 15 日間の日別天気予報を提供します
- パラメーター:
location(必須):都市名または場所の名前days(任意):予報の日数(1、5、10、または 15。デフォルトは 5)units(任意):「metric」(摂氏、デフォルト)または「imperial」(華氏)
前提条件
- Node.js ≥18
- AccuWeather API キー(
.envまたはシェルで設定)
セットアップ
-
このリポジトリをクローンします:
git clone https://github.com/TimLukaHorstmann/mcp-weather.git cd mcp-weather -
依存関係をインストールします:
npm install -
AccuWeather API キーを取得します:
- AccuWeather API に登録します
- 新しいアプリを作成し、API キーを取得します
-
API キーを記載した
.envファイルを作成します:ACCUWEATHER_API_KEY=your_api_key_here -
プロジェクトをビルドします:
npm run build
Claude Desktop での使用
-
この MCP サーバーを使用するよう Claude Desktop を設定します。
- Claude Desktop を開きます
- 「Settings」>「Developer」>「Edit Config」に移動します
claude_desktop_config.jsonに次の内容を追加します。
{ "mcpServers": { "weather": { "command": "npx", "args": ["-y", "@timlukahorstmann/mcp-weather"], "env": { "ACCUWEATHER_API_KEY": "your_api_key_here" } } } } -
Claude Desktop を再起動します
-
新しい会話で、プラグアイコンをクリックして「weather」を選択し、MCP サーバーを有効にします
-
これで、Claude に次のような天気予報を尋ねられます。
- 「ニューヨーク市の 1 時間ごとの天気予報を教えてください。」
- 「ロンドンの 5 日間予報を教えてください。」
- 「今週の東京の天気は華氏でどのようになりますか?」
- 「明日、サンフランシスコでは雨が降りますか?」
開発
- 開発用の依存関係をインストール:
npm install - コードを lint:
npm run lint - ビルド:
npm run build - テストを実行:
npm test - 開発モードで起動:
npm run dev
コントリビューション
コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。
今後の機能拡張
MCP Weather Server の改善に常に取り組んでいます。今後のリリースで検討している機能を以下に示します。
- 時間別予報の拡張: 12 時間を超える予報(例:24 時間または 48 時間)。
- 気象警報: AccuWeather の悪天候警報 API との連携。
- 場所のオートコンプリート: オートコンプリート候補による場所検索の改善。
- 過去の気象データ: 過去の気象状況へのアクセス。
ほかの機能についてアイデアがあれば、お気軽に issue を作成してください!
変更履歴
0.4.0
- 内部で使用されていなかったため、すべてのツールから
sessionIdの要件を削除しました - これにより、LLM との連携が簡素化され、LLM の使用時の混乱が軽減されます
0.3.0 以前
- 基本機能を備えた初回リリース
ライセンス
このプロジェクトは MIT ライセンスの下で提供されています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。