weatherport について
weatherport は、OpenWeather を照会するコマンドラインツール兼 stdio MCP サーバーです。都市の天気や予報、座標地点の気象・大気汚染情報、ジオコーディングを扱い、OpenWeather API キーが必要です。
主な機能
- 01都市の現在の天気
- 025日間の3時間ごとの予報
- 03One Call 3.0 の気象概要
- 04大気汚染と AQI の取得
- 05地名から座標への変換
活用シーン
- 01都市の現在の天気の確認
- 023時間単位での天気予報の確認
- 03座標地点の大気質の確認
- 04地名から座標を特定
MCP 対応
stdio MCP サーバーとして動作し、現在の天気、予報、One Call データ、大気汚染、ジオコーディングのツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| units | string | いいえ | レスポンスの単位系:standard、metric、または imperial。 |
| location | string | はい | 現在の天気を取得する都市または場所の名前。空でない文字列を指定してください。 |
詳細
weatherport
weatherport は OpenWeather の情報をターミナルと MCP クライアントに届けます。 このサービスに実際によく寄せられる質問に答えます。現在、ある都市がどのような天気なのか、今後5日間の3時間ごとの予報はどうなるのか、地図上の正確な地点について、より詳細な One Call 3.0 の情報では何がわかるのか、その地点の大気はどれほどきれいなのか、地名が正確にはどこを指すのか、といった質問です。1つのバイナリで、コマンドラインインターフェースと stdio MCP サーバーの両方を利用できます。
すべての呼び出しで OpenWeather API キーが必要です。OPENWEATHER_API_KEY 環境変数に設定してください。weatherport はキーを appid クエリパラメーターとして https://api.openweathermap.org に送信し、表示することはありません。この変数が未設定または空の場合、リクエストを送信する前に、変数名を示すエラーで呼び出しが失敗します。One Call 3.0 には、同じキーを使用する場合でも、実際には別途、上流サービスのサブスクリプションが必要です。
適用できる場合、単位は省略可能です。standard、metric、imperial のいずれかを指定します。それ以外の値は、リクエストを送信する前に拒否されます。
インストール
npx @reneturcios/weatherport current Paris --units metric
または、コンテナイメージを実行します。
docker run -i -e OPENWEATHER_API_KEY ghcr.io/cloudcorprecords/weatherport
コンテナはデフォルトで MCP サーバーとして起動します。CLI として使用するには、CLI 引数を渡してください。
CLI
export OPENWEATHER_API_KEY=<your key>
weatherport current Paris --units metric
weatherport forecast Berlin --units imperial --count 5
weatherport onecall 51.5 -0.12 --units metric
weatherport pollution 51.5 -0.12
weatherport geocode Paris --limit 3
weatherport --version
各コマンドは、上流サービスからの JSON ペイロードを出力します。終了コード:成功時は 0、呼び出し失敗時(OPENWEATHER_API_KEY が未設定の場合や API エラーを含む)は 1、使用方法のエラー時は 2 です。
MCP サーバー
npx -y @reneturcios/weatherport mcp
MCP クライアントの設定:
{
"mcpServers": {
"weatherport": {
"command": "npx",
"args": ["-y", "@reneturcios/weatherport", "mcp"],
"env": { "OPENWEATHER_API_KEY": "..." }
}
}
}
ツール
| ツール | 入力 | 戻り値 |
|---|---|---|
get_current_weather | location(必須)、units(省略可能) | 都市の現在の天気。 |
get_forecast | location(必須)、units、count(省略可能) | 3時間ごとの5日間予報。 |
get_onecall_weather | lat、lon(必須)、units(省略可能) | One Call 3.0 の現在、時間別、日別の概要。 |
get_air_pollution | lat、lon(必須) | 現在の AQI と汚染物質の内訳。 |
geocode_location | query(必須)、limit(省略可能) | 地名に一致する座標。 |
緯度は [-90, 90]、経度は [-180, 180] の範囲内である必要があります。範囲外の値は、リクエストを送信する前に拒否されます。HTTP エラーが発生した場合、ステータスと、上流サービスの JSON に含まれていれば OpenWeather の message フィールドが返されます。
開発
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。