MCP Weather Server について
MCP Weather Serverは、天気アプリの開発やデータ分析、旅行計画向けのMCPサーバーです。都市ごとの現在の天気、予報、空気質、紫外線、警報、天文情報、天気図を調べるツールを提供します。
主な機能
- 01現在の天気と5日間予報の取得
- 02空気質と汚染物質データの確認
- 03紫外線指数と安全情報の取得
- 04複数都市の天気比較
- 05警報、日の出・日の入り、地図情報の照会
活用シーン
- 01旅行先の比較と計画
- 02屋外活動に向けた空気質と紫外線の確認
- 03都市の天気傾向を使ったデータ分析
- 04撮影に向けた日の出・日の入り時刻の確認
MCP 対応
MCPクライアントに、天気、予報、空気質、紫外線、都市比較、警報、天文情報、統計、地図データを扱う9種類のツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🌤️ 強化版 MCP Weather Server v2.0
広範な気象データ、予報、大気質、UV 指数などを提供する包括的な Model Context Protocol(MCP)サーバーです。9 つの強力なツールを使って、VS Code のチャットで詳細な気象情報を直接取得できます。
🚀 このツールの特長
これは単なる天気ツールではなく、次の情報を提供する包括的な気象インテリジェンスシステムです。
🎯 強力な気象ツール 9 種類:
- 🌡️ 強化版の現在の天気 - 絵文字と包括的なデータを含む詳細な気象状況
- 📅 5 日間の天気予報 - 傾向を含む詳細な気象予測
- 🌬️ 大気質指数 - リアルタイムの汚染レベルと健康に関する警告
- ☀️ UV 指数と日差し対策 - 日射レベルと安全に関する推奨事項
- 🌍 複数都市の比較 - 複数の地域の天気を比較
- 🚨 気象警報 - 悪天候の警告と緊急通知
- 🌅 天文データ - 日の出、日の入り、日照時間などの天文情報
- 📊 気象統計 - 包括的な傾向、平均値、気候に関する分析
- 🗺️ 気象マップ - レーダー、衛星画像、気象マップのデータにアクセス
💡 このツールを使う理由
開発者向け:
- 🏗️ 天気アプリを開発していますか? 包括的なデータをまとめて取得できます
- 🌐 位置情報を利用した機能が必要ですか? 天気、大気質、天文データにアクセスできます
- 📱 旅行アプリを作成していますか? 複数の旅行先の天気を比較できます
- 🎯 アウトドアアプリを開発していますか? UV 指数、大気質、安全に関する情報を取得できます
データ分析向け:
- 📊 ビジネスインテリジェンスに役立つ気象の傾向とパターン
- 🌡️ 研究プロジェクト向けの気候データ分析
- 📈 場所の計画に役立つ複数都市の比較
- 🗺️ 可視化プロジェクト向けの地理的な気象マッピング
個人利用向け:
- ✈️ 詳細な予報と大気質を活用した旅行の計画
- 🏃 UV 指数と気象安全情報を活用した屋外活動
- 🌍 都市をまたいだ家族やビジネスの複数地域のモニタリング
- 📱 基本的な気象状況にとどまらない包括的な気象情報
コンテンツ制作向け:
- 📝 詳細な環境データを活用した天気を考慮したコンテンツ
- 🎥 包括的な気象分析を活用したロケーション選定
- 📊 豊富な気象統計を活用したデータの可視化
- 🌡️ 過去のデータや傾向を活用した気候に関するストーリーテリング
🚨 簡単な注意: 以下のインストールボタンをクリックしてブラウザーが開き、VS Code が起動しない場合は、以下の方法 1で手動設定してください。こちらのほうが確実です。
🚀 簡単なインストール方法
🎯 方法 1:NPM パッケージ(推奨)
自動セットアップを使って npm から直接インストールします。
npm install -g mohaimen-weather-mcp
続いて、設定に次を追加してください。
"<name of your server>":
{
"command": "npx",
"args": [
"mohaimen-weather-mcp"
],
"env": {
"OPENWEATHER_API_KEY": "<YOUR_KEY>"
}
}
これにより、次の処理が行われます。
- パッケージをグローバルにインストールします
- API キーを尋ねる対話式セットアップを実行します
- 正しいパスを指定して VS Code の設定を自動的に構成します
- 手動での設定は不要です!
🎯 方法 2:手動設定(最も確実)
-
クローンしてビルド:
git clone https://github.com/mohaimenhasan/mcp-weather-server.git cd mcp-weather-server npm run setup -
API キーを取得:
- OpenWeatherMap にアクセスします(無料アカウント)
- API キーをコピーします
-
VS Code に追加:
- VS Code を開きます
Ctrl+Shift+P(Mac の場合はCmd+Shift+P)を押します- 「Preferences: Open User Settings (JSON)」と入力します
- 次の内容を設定に追加します。
{ "mcpServers": { "weather": { "command": "node", "args": ["/absolute/path/to/mcp-weather-server/dist/index.js"], "env": { "OPENWEATHER_API_KEY": "your_api_key_here" } } } }
✨ 全機能と使用例
�️ 強化版の現在の天気
🌤️ Weather in London, GB
🌡️ Temperature: ☀️ 22°C (feels like ☀️ 24°C)
📊 Condition: clear sky
💧 Humidity: 65%
🌬️ Wind: 3.2 m/s (120°)
👁️ Visibility: 10.0 km
🌡️ Pressure: 1013 hPa
📈 Min/Max: ☀️ 18°C / ☀️ 26°C
☁️ Cloudiness: 10%
🌅 Sunrise: 6:42:15 AM
🌇 Sunset: 8:15:30 PM
📍 Coordinates: 51.5074, -0.1278
📅 5 日間の天気予報
📅 5-Day Weather Forecast for Paris
☀️ Day 1 - 12/27/2024
🌡️ Temp: ☀️ 24°C (☀️ 20°C - ☀️ 28°C)
📊 clear sky
💧 Humidity: 68%
🌬️ Wind: 2.1 m/s
☁️ Clouds: 15%
🌬️ 大気質指数
🌬️ Air Quality in Tokyo
📊 Overall AQI: 2/5 - 🟡 Fair - Moderate air quality
Pollutant Levels (μg/m³):
� CO: 233.75
🚗 NO: 0.01
🚗 NO₂: 8.13
🌫️ O₃: 78.32
💨 SO₂: 1.64
🏭 PM2.5: 5.15
🏭 PM10: 8.04
💨 NH₃: 0.63
☀️ UV 指数と日差し対策
☀️ UV Index for Sydney
📊 Current UV Index: 7.2
🟠 High - Protection essential
Sun Safety Tips:
🧴 Apply sunscreen (SPF 30+)
👕 Wear protective clothing
🕶️ Wear sunglasses and hat
🌍 複数都市の天気比較
🌍 Weather Comparison
☀️ London, GB
🌡️ ☀️ 22°C (feels like ☀️ 24°C)
📊 clear sky
💧 65% humidity
🌬️ 3.2 m/s wind
🌧️ Seattle, US
🌡️ 🌡️ 16°C (feels like 🌡️ 14°C)
📊 moderate rain
💧 85% humidity
🌬️ 5.1 m/s wind
🚨 気象警報
🚨 Weather Alerts for Miami
⚠️ Alert 1: Hurricane Warning
📅 Start: 12/27/2024, 2:00:00 PM
📅 End: 12/28/2024, 8:00:00 AM
📝 Hurricane conditions expected...
🏢 Source: National Weather Service
🌅 天文データ
🌅 Astronomy Data for Tokyo
☀️ Currently: Daytime
🌅 Sunrise: 6:47:12 AM
🌇 Sunset: 4:32:45 PM
⏰ Day Length: 9h 45m
📍 Location: 35.6762°, 139.6503°
🌍 Timezone: UTC+9
⏳ Next sunset: in 3h 15m
📊 気象統計と傾向
📊 Weather Statistics for Berlin
Current Conditions:
🌡️ Temperature: 🌡️ 18°C
💧 Humidity: 72%
🌡️ Pressure: 1015 hPa
👁️ Visibility: 8.5 km
24-Hour Trends:
🌡️ Temperature Range: 🌡️ 15°C to ☀️ 21°C
📊 Average Temperature: 🌡️ 18°C
📈 Temperature Trend: Rising 📈
💧 Average Humidity: 68.2%
🌡️ Average Pressure: 1014.8 hPa
📈 Pressure Trend: Rising 📈
🗺️ 気象マップ
🗺️ Weather Maps for New York
📍 Coordinates: 40.7128, -74.0060
Available Map Layers:
�️ Precipitation: Rainfall and snow patterns
☁️ Clouds: Cloud coverage and density
🌡️ Temperature: Temperature distribution
🌬️ Wind Speed: Wind patterns and speeds
🌡️ Pressure: Atmospheric pressure systems
Center Map On: Latitude 40.7128, Longitude -74.0060
Recommended Zoom: 10 for city view
🎯 使用例
インストールすると、VS Code Copilot に次のような質問ができます。
🌡️ 基本的な天気の問い合わせ:
- 「ロンドンの天気はどうですか?」
- 「東京の詳細な天気データを取得してください」
- 「ニューヨークの現在の詳細な気象状況を表示してください」
📅 天気予報の問い合わせ:
- 「パリの5日間の天気予報はどうですか?」
- 「今週のシアトルの天気予報を教えてください」
- 「ベルリンの3日間の天気予報を表示してください」
🌬️ 大気質と健康:
- 「北京の大気質はどうですか?」
- 「デリーの汚染レベルを確認してください」
- 「ロサンゼルスの大気質は安全ですか?」
☀️ 日差しとUV対策:
- 「シドニーのUV指数はどのくらいですか?」
- 「今日、マイアミでは日焼け止めが必要ですか?」
- 「フェニックスで屋外活動をする際の日差し対策を確認してください」
🌍 複数都市の比較:
- 「ロンドン、パリ、ベルリンの天気を比較してください」
- 「マイアミとサンディエゴでは、どちらの天気が良いですか?」
- 「東京、ソウル、バンコクの天気を比較して表示してください」
🚨 気象警報:
- 「フロリダに気象警報は出ていますか?」
- 「テキサスの深刻な気象警報を確認してください」
- 「東海岸の暴風雨警報を表示してください」
🌅 天文情報と時刻:
- 「モスクワの日の出は何時ですか?」
- 「ハワイの日没は何時ですか?」
- 「ストックホルムの天文データを表示してください」
📊 気象分析:
- 「シカゴの気象統計を教えてください」
- 「デンバーの過去24時間の気象傾向を表示してください」
- 「サンフランシスコの気象パターンを分析してください」
🗺️ 気象マップ:
- 「ダラスの気象レーダーにアクセスする方法を教えてください」
- 「ポートランドの気象マップ情報を表示してください」
- 「太平洋岸北西部の降水マップデータを取得してください」
💡 高度な使用例:
旅行の計画: 「来週、ローマへ旅行する予定です。天気予報、大気質、UV指数を表示してください。」
屋外イベントの計画: 「屋外コンサートに向けて、オースティン、ナッシュビル、デンバーの気象状況を比較してください。」
健康と安全: 「ロサンゼルスの大気質とUV指数を確認してください。呼吸器系に問題があるため、安全に屋外で運動できる条件を知りたいです。」
農業・ガーデニング: 「ポートランドの詳細な気象統計と予報を表示してください。庭への水やりのスケジュールを計画したいです。」
写真撮影・映像撮影: 「ヨセミテでの写真撮影に向けて、日の出・日の入りの時刻と気象状況を教えてください。」
🛠️ 開発
前提条件
- Node.js (>= 18.x)
- npm (>= 9.x)
- OpenWeatherMap API キー
ローカル開発
# Install dependencies
npm install
# Build the project
npm run build
# Start in development mode (with auto-rebuild)
npm run dev
# Test the server
npm start
# Generate install URLs for your own use
npm run install-urls
# Get manual configuration for VS Code settings
npm run config
プロジェクト構成
mcp-weather-server/
├── .vscode/
│ ├── settings.json # Pre-configured MCP settings (user-specific)
│ ├── settings.template.json # Template for settings.json
│ ├── tasks.json # VS Code tasks for easy setup
│ ├── inputs.json # Input prompts for API key
│ ├── launch.json # Debug configuration
│ └── extensions.json # Recommended extensions
├── dist/ # Compiled JavaScript (generated)
├── index.ts # Main server code
├── mcp-config.json # MCP configuration template
├── install.html # Beautiful one-click install page
├── generate-install-urls.js # Script to generate install URLs
├── setup.bat # Windows setup script
├── setup.sh # Unix setup script
├── .env # Environment variables (user-specific)
├── .gitignore # Git ignore rules
└── package.json
🔧 設定
サーバーでは、設定に環境変数を使用します。
OPENWEATHER_API_KEYまたはAPI_KEY:OpenWeatherMap API キー(必須)
📡 API リファレンス全文
利用可能なツール
🌡️ get-weather
包括的なデータを含む、強化された現在の天気情報
パラメーター:
city(string):天気を取得する都市名
戻り値:
- 絵文字インジケーター付きの詳細な気温
- アイコン付きの気象状況
- 湿度、風速、視程
- 気圧、雲量、最低・最高気温
- 日の出・日の入りの時刻
- 地理座標
📅 get-forecast
詳細な予測を含む5日間の天気予報
パラメーター:
city(string):天気予報を取得する都市名days(number, optional):表示する日数(1~5、デフォルト:5)
戻り値:
- 絵文字付きの日ごとの気温範囲
- 各日の気象状況
- 湿度、風、雲量
- 日ごとに整理された、見やすい形式
🌬️ get-air-quality
大気質指数と汚染データ
パラメーター:
city(string):大気質を取得する都市名
戻り値:
- 総合大気質指数(1~5のスケール)
- 汚染物質の詳細レベル(CO、NO、NO₂、O₃、SO₂、PM2.5、PM10、NH₃)
- AQIに基づく健康上の推奨事項
- 色分けされた大気質インジケーター
☀️ get-uv-index
UV指数と日差し対策情報
パラメーター:
city(string):UV指数を取得する都市名
戻り値:
- 現在のUV指数値
- 安全レベルの説明(低/中程度/高/非常に高い/極端)
- 具体的な日焼け対策の推奨事項
- 時刻に応じた安全上のアドバイス
🌍 compare-weather
複数の都市の天気を比較します
パラメーター:
cities(文字列の配列):比較する都市名の配列(2~5都市)
戻り値:
- 天気を並べて比較
- 各都市の気温、天候、湿度
- すぐに視覚的に確認できる天気の絵文字
- 比較しやすいように整理された表示
🚨 get-weather-alerts
荒天に関する警報と注意報
パラメーター:
city(文字列):天気の警報を取得する都市名
戻り値:
- 発令中の気象警報と注意報
- 警報の深刻度と発令時刻
- 気象上の脅威に関する詳細な説明
- 公式情報源の表記
🌅 get-astronomy
日の出、日の入り、天文データの詳細
パラメーター:
city(文字列):天文データを取得する都市名
戻り値:
- 日の出と日の入りの時刻
- 日照時間の計算
- 現在の昼夜の状態
- 次の日の出/日の入りまでの時間
- 地理座標とタイムゾーン
- 月相情報(追加の API を使用)
📊 get-weather-stats
包括的な気象統計と傾向
パラメーター:
city(文字列):気象統計を取得する都市名
戻り値:
- 現在の気象状況の概要
- 24 時間の気温の傾向と範囲
- 気圧と湿度のパターン
- 気象傾向の指標(上昇/下降)
- 最近の気象状況の統計分析
🗺️ get-weather-maps
天気図の情報とアクセス URL
パラメーター:
city(文字列):天気図の情報を取得する都市名
戻り値:
- 地図表示用の地理座標
- 利用可能な気象レイヤーの種類
- 天気図タイルへの直接 URL
- 地図ライブラリとの連携手順
- 推奨されるズームレベルと中心点
API レスポンス形式
すべてのツールは、次の形式でレスポンスを返します。
{
"content": [{
"type": "text",
"text": "Formatted weather information with emojis and detailed data"
}]
}
エラー処理
サーバーはさまざまなエラー状況に対応します。
- 404 Errors:都市が見つかりません。スペルを確認してください
- 401 Errors:API キーが無効です。キーの設定を確認してください
- ネットワークエラー:タイムアウトまたは接続の問題です。再試行してください
- API の制限:一部の機能には OpenWeatherMap のプレミアムサブスクリプションが必要です
🆘 トラブルシューティング
よくある問題
-
「Undefined input variable 'openweatherApiKey'」エラー:
- VS Code が入力変数を解決できない場合に発生します
- 解決方法:
.vscode/settings.template.jsonを.vscode/settings.jsonにコピーし、YOUR_API_KEY_HEREを実際の API キーに置き換えてください - または、
OPENWEATHER_API_KEY=your_api_key_hereを記述した.envファイルを作成してください
-
「API key is required」エラー:
- 環境変数または
.envファイルに API キーを設定したことを確認してください - OpenWeatherMap で API キーが有効で、使用可能なことを確認してください
- 環境変数または
-
「Module not found」エラー:
npm run buildを実行して TypeScript をコンパイルしてくださいnpm installですべての依存関係がインストールされていることを確認してください
-
MCP サーバーが VS Code に表示されない:
- MCP の設定で指定したパスが正しいことを確認してください
- ビルド後に
dist/index.jsファイルが存在することを確認してください - サーバー設定を追加した後、VS Code を再起動してください
-
ワンクリックインストールボタンが機能しない:
- ボタンをクリックすると VS Code ではなくブラウザーで開く場合:
- MCP 拡張機能がインストールされていないか、URL ハンドラーが登録されていない可能性があります
- 代わりに方法 1(手動設定)を使用してください。より確実です
npm run configを実行して、コピーする正確な設定を取得してください
- VS Code または VS Code Insiders がインストールされていることを確認してください
- インストールを試みる前に、プロジェクトがビルドされていることを確認してください
- ボタンをクリックすると VS Code ではなくブラウザーで開く場合:
ヘルプの利用
- 📧 連絡先:@mohaimenhasan
- 🐛 問題:GitHub Issues
- 📖 MCP ドキュメント:Model Context Protocol
🎉 次のステップ
インストール後は、次のことができます。
- VS Code チャットで天気について直接質問する
- 天気データをコーディングワークフローに統合する
- リアルタイムデータを活用して、天気に対応したアプリケーションを構築する
- 機能を拡張するため、ほかの MCP サーバーを試す
📄 ライセンス
MIT ライセンス — ご自身のプロジェクトで自由にご利用ください!
VS Code と MCP のコミュニティに ❤️ を込めて作成しました
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。