ツール: lookup_weather
現在の天気情報、1 時間ごとの予報、毎日の予報など、包括的な天気データを取得します。
利用可能なデータ: 気温(現在、体感温度、最高/最低、暑さ指数)、風(風速、突風、風向)、天体現象(日の出/日の入り、月相)、降水(種類、確率、量/QPF)、大気条件(UV 指数、湿度、雲量、雷雨の確率)、ジオコード化された位置情報。
場所と場所に関するルール(重要):
天気データがリクエストされる場所は、location フィールドを使用して指定します。このフィールドは「oneof」構造です。つまり、正確な天気データのルックアップを保証するために、以下の 3 つの場所サブフィールドのうち 1 つのみに値を指定する必要があります。
地理座標(lat_lng)
- 正確な緯度と経度の座標が提供された場合に使用します。
- 例: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} // ロサンゼルス
プレイス ID(place_id)
- 曖昧さのない文字列識別子(Google マップのプレイス ID)。
- place_id は search_places ツールから取得できます。
- 例: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} // エッフェル塔
アドレス文字列(address)
- ジオコーディングに固有性が必要な自由形式の文字列。
- 市区町村と地域: 常に地域/国を含めます(例: 「ロンドン、英国」。「ロンドン」は不可)。
- 住所: 住所を省略せずに入力します(例: 「1600 Pennsylvania Ave NW, Washington, DC」)。
- 郵便番号: 国名と併記する必要があります(例: 「90210, USA」。「90210」は不可)。
- 例: {"location": {"address": "1600 Pennsylvania Ave NW, Washington, DC"}}
使用モード:
Current Weather(現在の天気):
locationのみを提供します。dateとhourを指定しないでください。1 時間ごとの天気予報:
location、date、hour(0 ~ 23)を指定します。特定の時間(「午後 5 時」など)や、「次の数時間」、「本日中」などの表現に使用します。お客様が分単位で指定した場合は、時間単位で切り捨てます。現在から 120 時間を超える時間単位の天気予報は対象外です。過去 24 時間までの時間別天気予報がサポートされています。日別の予報:
locationとdateを提供します。hourを指定しないでください。一般的な日付のリクエスト(「明日の天気」、「金曜日の天気」、「12 月 25 日の天気」など)に使用します。今日の日付がコンテキストに含まれていない場合は、お客様に確認する必要があります。本日を含む 10 日を超える毎日の天気予報は対象外です。過去の天気はサポートされていません。
パラメータの制約:
- タイムゾーン:
dateとhourの入力はすべて、ユーザーのタイムゾーンではなく、場所の現地タイムゾーンを基準にする必要があります。 - 日付形式: 入力は
{year, month, day}個の整数に分割する必要があります。 - 単位: デフォルトは
METRICです。ユーザーが米国の基準を暗示している場合や、明示的にリクエストしている場合は、華氏/マイルのunits_systemをIMPERIALに設定します。 グラウンディングされた出力は、
attributionフィールドの情報が利用可能な場合は、その情報を使用してソースに帰属させる必要があります。
次のサンプルは、curl を使用して lookup_weather MCP ツールを呼び出す方法を示しています。
| Curl リクエスト |
|---|
curl --location 'https://mapstools.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "lookup_weather", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
入力スキーマ
LookupWeather メソッドのリクエスト - リクエストされた場所の天気予報を表します。
LookupWeatherRequest
| JSON 表現 |
|---|
{ "DEPRECATEDAddress": string, "unitsSystem": enum ( |
| フィールド | |
|---|---|
DEPRECATEDAddress |
非推奨: 代わりに location を使用してください。 |
unitsSystem |
省略可。返される天気予報に使用する単位系。指定しない場合、返される天気予報はメートル法になります(デフォルト = METRIC)。 |
location |
必須。天気予報を取得する場所。 |
共用体フィールド
|
|
date |
省略可。必要な天気情報の取得日。注: この日付は、場所フィールドで指定された場所の現地タイムゾーンを基準としています。日付は、過去 24 時間から 10 日後の範囲で指定する必要があります。 |
共用体フィールド
|
|
hour |
省略可。リクエストされた天気情報の時間(24 時間形式、0 ~ 23)。この値は、location フィールドで指定された場所の現地タイムゾーンを基準としています。現在から 120 時間を超える時間単位の天気予報は対象外です。過去 24 時間までの時間別天気予報がサポートされています。 |
日付
| JSON 表現 |
|---|
{ "year": integer, "month": integer, "day": integer } |
| フィールド | |
|---|---|
year |
その日付の年。1~9999、または年のない日付を指定する場合は 0 にする必要があります。 |
month |
1 年の中の月。1~12、または月と日のない年を指定する場合は 0 にする必要があります。 |
day |
1 月の中の日付。1~31 で、その年と月で有効な値にする必要があります。または、日が重要でない場合は年のみか年と月を指定するには 0 にする必要があります。 |
場所
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド location_type。場所を表すさまざまな方法。location_type は次のいずれかになります。 |
|
latLng |
地理座標を使用して指定されたポイント。 |
placeId |
ビジネスに関連付けられているプレイス ID。 |
address |
人が読める形式の住所または Plus Code。詳しくは https://plus.codes をご覧ください。 |
LatLng
| JSON 表現 |
|---|
{ "latitude": number, "longitude": number } |
| フィールド | |
|---|---|
latitude |
緯度(度単位)。範囲 [-90.0, +90.0] 内になければなりません。 |
longitude |
経度(度単位)。範囲 [-180.0, +180.0] 内になければなりません。 |
出力スキーマ
LookupWeather RPC のレスポンス - リクエストされた場所の天気予報を表します。
このレスポンスは時間別と日別の両方の情報を表しているため、レスポンスは時間別、日別、共有の 3 つのセクションに分割されます。Only-Hourly フィールドと Only-Daily フィールドは省略可としてマークされます。時間単位の情報と日単位の情報で共有されるフィールドのうち、常に存在するものは省略可能としてマークされませんが、常に利用できるわけではないものは省略可能としてマークされます。
LookupWeatherResponse
| JSON 表現 |
|---|
{ "weatherCondition": { object ( |
| フィールド | |
|---|---|
weatherCondition |
気象条件 |
precipitation |
降水確率と降水量の累積値 |
wind |
風の状況 |
DEPRECATEDGeocodedAddress |
非推奨: 代わりに returned_location を使用してください。 |
returnedLocation |
必須。天気情報が返される場所。この位置情報はリクエストの位置情報と同じですが、リクエストされた位置情報が、おおよその位置情報(「Mountain View, CA」など)を検索するフリーテキストの住所である場合は、異なる可能性があります。 |
attribution |
天気とともに表示される帰属表示が必要です。 |
共用体フィールド
|
|
temperature |
1 時間ごとの気温 |
共用体フィールド
|
|
feelsLikeTemperature |
1 時間ごとの体感温度。 |
共用体フィールド
|
|
heatIndex |
1 時間ごとの暑さ指数。 |
共用体フィールド
|
|
airPressure |
時間ごとの気圧の状況。 |
共用体フィールド
|
|
maxTemperature |
1 日の最高気温。 |
共用体フィールド
|
|
minTemperature |
1 日の最低気温。 |
共用体フィールド
|
|
feelsLikeMaxTemperature |
1 日の最高体感温度。 |
共用体フィールド
|
|
feelsLikeMinTemperature |
1 日の最低(低)体感温度。 |
共用体フィールド
|
|
maxHeatIndex |
1 日の最高暑さ指数。 |
共用体フィールド
|
|
sunEvents |
太陽に関連するイベント(日の出、日の入りなど)。 |
共用体フィールド
|
|
moonEvents |
月に関連するイベント(月の出、月の入りなど)。 |
共用体フィールド
|
|
relativeHumidity |
相対湿度の割合(0 ~ 100 の値)。常に利用できるとは限らないため、オプションとして定義します。 |
共用体フィールド
|
|
uvIndex |
最大紫外線(UV)指数。常に利用できるとは限らないため、オプションとして定義します |
共用体フィールド
|
|
thunderstormProbability |
雷雨の確率(0 ~ 100 の値)。常に利用できるわけではないため、省略可として定義 |
共用体フィールド
|
|
cloudCover |
空が雲で覆われている割合(0 ~ 100 の値)。常に利用できるわけではないため、省略可として定義します。 |
温度
| JSON 表現 |
|---|
{ "unit": enum ( |
| フィールド | |
|---|---|
unit |
温度値の測定に使用される単位のコード。 |
共用体フィールド
|
|
degrees |
指定された単位の温度値(度)。 |
AirPressure
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド
|
|
meanSeaLevelMillibars |
海面気圧の平均値(ミリバール)。 |
SunEvents
| JSON 表現 |
|---|
{ "sunriseTime": string, "sunsetTime": string } |
| フィールド | |
|---|---|
sunriseTime |
日の出の時刻。 注: 北極圏など、特殊なケースでは、日の出の時刻が表示されないことがあります。このような場合、このフィールドは設定されません。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
sunsetTime |
日の入りの時刻。 注: 北極圏など、特殊なケースでは、1 日に日没がない場合があります。このような場合、このフィールドは設定されません。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
MoonEvents
| JSON 表現 |
|---|
{
"moonriseTimes": [
string
],
"moonsetTimes": [
string
],
"moonPhase": enum ( |
| フィールド | |
|---|---|
moonriseTimes[] |
月の上の縁が地平線の上に現れる時刻(https://en.wikipedia.org/wiki/Moonrise_and_moonset) を参照)。 注: ほとんどの場合、1 日に 1 回だけ月の出の時刻が表示されます。それ以外の場合、リストが空になることがあります(たとえば、翌日の深夜 0 時以降に月が昇る場合)。ただし、特殊なケース(極地など)では、リストに複数の値が含まれることがあります。この場合、値は昇順で並べ替えられます。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
moonsetTimes[] |
月の上の縁が地平線の下に沈む時刻(https://en.wikipedia.org/wiki/Moonrise_and_moonset) を参照)。 注: ほとんどの場合、1 日に 1 回の月の出時刻があります。それ以外の場合、リストが空になることがあります(たとえば、翌日の深夜 0 時を過ぎてから月が沈む場合)。ただし、特殊なケース(極地など)では、リストに複数の値が含まれることがあります。この場合、値は昇順で並べ替えられます。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
moonPhase |
月相。 |
WeatherCondition
| JSON 表現 |
|---|
{ "iconBaseUri": string, "description": { object ( |
| フィールド | |
|---|---|
iconBaseUri |
ファイル形式の拡張子を含まないアイコンのベース URI。アイコンを表示するには、必要に応じてテーマとファイル形式の拡張子( |
description |
この天気予報のテキストによる説明(ローカライズ済み)。 |
type |
天候のタイプ。 |
LocalizedText
| JSON 表現 |
|---|
{ "text": string, "languageCode": string } |
| フィールド | |
|---|---|
text |
以下の |
languageCode |
テキストの BCP-47 言語コード(「en-US」や「sr-Latn」など)。 詳しくは、http://www.unicode.org/reports/tr35/#Unicode_locale_identifier をご覧ください。 |
降水確率
| JSON 表現 |
|---|
{ "probability": { object ( |
| フィールド | |
|---|---|
probability |
降水確率(値は 0 ~ 100)。 |
snowQpf |
一定期間に積もった雪の量(液体の水当量として測定)。注: QPF は Quantitative Precipitation Forecast の略です(詳しくは、QuantitativePrecipitationForecast の定義をご覧ください)。 |
qpf |
一定期間に蓄積された降水量を、液体の水当量として測定した値。注: QPF は Quantitative Precipitation Forecast の略です(詳しくは、QuantitativePrecipitationForecast の定義をご覧ください)。 |
PrecipitationProbability
| JSON 表現 |
|---|
{ "type": enum ( |
| フィールド | |
|---|---|
type |
降水の種類を示すコード。 |
共用体フィールド
|
|
percent |
降水確率を示す 0 ~ 100 のパーセンテージ。 |
QuantitativePrecipitationForecast
| JSON 表現 |
|---|
{ "unit": enum ( |
| フィールド | |
|---|---|
unit |
降水量の合計を測定するために使用される単位のコード。 |
共用体フィールド
|
|
quantity |
一定期間に蓄積された降水量を、液体の水に換算して測定した値。 |
Wind
| JSON 表現 |
|---|
{ "direction": { object ( |
| フィールド | |
|---|---|
direction |
風の向き、風が吹いてくる角度。 |
speed |
風速。 |
gust |
突風(風速の急激な増加)。 |
WindDirection
| JSON 表現 |
|---|
{ "cardinal": enum ( |
| フィールド | |
|---|---|
cardinal |
風が吹いている方角を表すコード。 |
共用体フィールド
|
|
degrees |
風の向き(度単位、0 ~ 360 の値)。 |
WindSpeed
| JSON 表現 |
|---|
{ "unit": enum ( |
| フィールド | |
|---|---|
unit |
風速の測定に使用される単位を表すコード。 |
共用体フィールド
|
|
value |
風速の値。 |
場所
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド location_type。場所を表すさまざまな方法。location_type は次のいずれかになります。 |
|
latLng |
地理座標を使用して指定されたポイント。 |
placeId |
ビジネスに関連付けられているプレイス ID。 |
address |
人が読める形式の住所または Plus Code。詳しくは https://plus.codes をご覧ください。 |
LatLng
| JSON 表現 |
|---|
{ "latitude": number, "longitude": number } |
| フィールド | |
|---|---|
latitude |
緯度(度単位)。範囲 [-90.0, +90.0] 内になければなりません。 |
longitude |
経度(度単位)。範囲 [-180.0, +180.0] 内になければなりません。 |
アトリビューション
| JSON 表現 |
|---|
{ "title": string, "url": string } |
| フィールド | |
|---|---|
title |
アトリビューションに表示するタイトル。 |
url |
アトリビューションのリンク先 URL。 |
ツールのアノテーション
破壊的ヒント: ❌ | べき等ヒント: ❌ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌