MCP Tools Reference: mapstools.googleapis.com

도구: lookup_weather

현재 날씨, 시간별, 일별 예보를 비롯한 포괄적인 날씨 데이터를 가져옵니다. 사용 가능한 특정 데이터: 온도 (현재, 체감, 최대/최소, 열 지수), 바람 (풍속, 돌풍, 방향), 천체 현상 (일출/일몰, 달의 위상), 강수 (유형, 확률, 양/QPF), 대기 조건 (자외선 지수, 습도, 운량, 뇌우 확률), 지오코딩된 위치 주소 위치 및 위치 규칙 (중요): 날씨 데이터를 요청하는 위치는 'location' 필드를 사용하여 지정됩니다. 이 필드는 'oneof' 구조입니다. 즉, 정확한 날씨 데이터 조회를 위해 아래의 세 가지 위치 하위 필드 중 하나에만 값을 제공해야 합니다(MUST). 1. 지리적 좌표 (lat_lng) * 정확한 위도/경도 좌표가 제공된 경우 사용합니다. * 예: 'lat_lng': { 'latitude': 34.0522, 'longitude': -118.2437 } // 로스앤젤레스 2. 장소 ID (place_id) * 명확한 문자열 식별자 (Google 지도 장소 ID)입니다. * place_id는 search_places 도구에서 가져올 수 있습니다. * 예: 'place_id': 'ChIJLU7jZClu5kcR4PcOOO6p3I0' // 에펠탑 3. 주소 문자열 (address) * 지오코딩에 구체성이 필요한 자유 형식 문자열입니다. * 도시 및 지역: 항상 지역/국가를 포함합니다 (예: 'London, UK'가 아닌 'London'). * 상세 주소: 전체 주소를 입력합니다 (예: '1600 Pennsylvania Ave NW, Washington, DC') * 우편번호: 국가 이름이 함께 제공되어야 합니다 (예: '90210, USA'가 올바른 예입니다. '90210'은 올바르지 않습니다. 사용 모드: 1. 현재 날씨: address만 제공해 줘. datehour를 지정하지 마세요. 2. 시간별 예보: address, date, hour (0~23)을 제공합니다. 특정 시간에 사용 (예: '오후 5시') 또는 '앞으로 몇 시간' 또는 '오늘 오후'와 같은 용어를 사용하세요. 사용자가 분을 지정하면 가장 가까운 시간으로 내림합니다. 현재로부터 48시간이 지난 시간의 시간별 예보는 지원되지 않습니다. 3. 일기예보: addressdate을 제공합니다. hour를 지정하지 마세요. 일반적인 날짜 요청에 사용합니다 (예: '내일 날씨', '금요일 날씨', '12월 25일 날씨') 오늘 날짜가 맥락에 없는 경우 사용자에게 명확히 해야 합니다. 오늘을 포함하여 7일을 초과하는 일일 예측은 지원되지 않습니다. 이전 날씨는 지원되지 않습니다. 매개변수 제약 조건: * 시간대: 모든 datehour 입력은 사용자의 시간대가 아닌 위치의 현지 시간대를 기준으로 해야 합니다. * 날짜 형식: 입력은 {year, month, day} 정수로 구분해야 합니다. * 단위: 기본값은 METRIC입니다. 사용자가 미국 표준을 암시하거나 명시적으로 요청하는 경우 화씨/마일의 units_systemIMPERIAL로 설정합니다.

다음 샘플은 curl를 사용하여 lookup_weather MCP 도구를 호출하는 방법을 보여줍니다.

컬 요청
                  
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 (UnitsSystem),
  "location": {
    object (Location)
  },

  // Union field _date can be only one of the following:
  "date": {
    object (google.type.Date)
  }
  // End of list of possible types for union field _date.

  // Union field _hour can be only one of the following:
  "hour": integer
  // End of list of possible types for union field _hour.
}
필드
DEPRECATEDAddress
(deprecated)

string

지원 중단됨: 대신 위치를 사용하세요.

unitsSystem

enum (UnitsSystem)

선택사항입니다. 반환된 날씨 조건에 사용할 단위 시스템입니다. 제공되지 않으면 반환된 날씨 조건은 미터법으로 표시됩니다 (기본값 = METRIC).

location

object (Location)

필수 항목입니다. 날씨 조건을 가져올 위치입니다.

통합 필드 _date.

_date는 다음 중 하나여야 합니다.

date

object (google.type.Date)

선택사항입니다. 필요한 날씨 정보의 날짜입니다. 참고: 이 날짜는 위치 필드에 지정된 위치의 현지 시간대를 기준으로 합니다. 날짜는 향후 7일 이내여야 합니다.

통합 필드 _hour.

_hour는 다음 중 하나여야 합니다.

hour

integer

선택사항입니다. 요청된 날씨 정보의 시간입니다 (24시간 형식, 0~23). 이 값은 위치 필드에 지정된 위치의 현지 시간대를 기준으로 합니다. 시간별 예보는 현재 시간으로부터 48시간까지만 지원됩니다.

날짜

JSON 표현
{
  "year": integer,
  "month": integer,
  "day": integer
}
필드
year

integer

날짜의 연도입니다. 1~9999 사이여야 하며, 연도 없이 날짜를 지정하려면 0이어야 합니다.

month

integer

연도의 월입니다. 1~12 사이여야 하며, 월과 일 없이 연도를 지정하려면 0이어야 합니다.

day

integer

월의 일입니다. 1~31 사이여야 하고 해당 연도 및 월에 유효해야 합니다. 또는 연도만 지정하거나 일이 중요하지 않아 연도와 월을 지정하려면 0이어야 합니다.

위치

JSON 표현
{

  // Union field location_type can be only one of the following:
  "latLng": {
    object (google.type.LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
필드
통합 필드 location_type. 위치를 나타내는 다양한 방법 location_type은 다음 중 하나여야 합니다.
latLng

object (google.type.LatLng)

지리 좌표를 사용하여 지정된 지점입니다.

placeId

string

위치와 연결된 장소 ID입니다 .

address

string

사람이 읽을 수 있는 주소 또는 Plus Code입니다. 자세한 내용은 https://plus.codes를 참고하세요.

LatLng

JSON 표현
{
  "latitude": number,
  "longitude": number
}
필드
latitude

number

위도입니다. 범위는 [-90.0, +90.0]입니다.

longitude

number

경도입니다. 범위는 [-180.0, +180.0]입니다.

출력 스키마

LookupWeather RPC의 응답으로, 요청된 위치의 날씨 상태를 나타냅니다.

이 대답은 시간별 정보와 일별 정보를 모두 나타내므로 대답은 시간별, 일별, 공유의 세 섹션으로 나뉩니다. Only-Hourly, Only-Daily 필드는 선택사항으로 표시됩니다. 시간별 정보와 일별 정보 간에 공유되는 필드의 경우 일부는 항상 표시되므로 선택사항으로 표시되지 않지만 나머지는 항상 사용할 수 없으므로 선택사항으로 표시됩니다.

LookupWeatherResponse

JSON 표현
{
  "weatherCondition": {
    object (WeatherCondition)
  },
  "precipitation": {
    object (Precipitation)
  },
  "wind": {
    object (Wind)
  },
  "DEPRECATEDGeocodedAddress": string,
  "returnedLocation": {
    object (Location)
  },

  // Union field _temperature can be only one of the following:
  "temperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _temperature.

  // Union field _feels_like_temperature can be only one of the following:
  "feelsLikeTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _feels_like_temperature.

  // Union field _heat_index can be only one of the following:
  "heatIndex": {
    object (Temperature)
  }
  // End of list of possible types for union field _heat_index.

  // Union field _air_pressure can be only one of the following:
  "airPressure": {
    object (AirPressure)
  }
  // End of list of possible types for union field _air_pressure.

  // Union field _max_temperature can be only one of the following:
  "maxTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _max_temperature.

  // Union field _min_temperature can be only one of the following:
  "minTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _min_temperature.

  // Union field _feels_like_max_temperature can be only one of the following:
  "feelsLikeMaxTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _feels_like_max_temperature.

  // Union field _feels_like_min_temperature can be only one of the following:
  "feelsLikeMinTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _feels_like_min_temperature.

  // Union field _max_heat_index can be only one of the following:
  "maxHeatIndex": {
    object (Temperature)
  }
  // End of list of possible types for union field _max_heat_index.

  // Union field _sun_events can be only one of the following:
  "sunEvents": {
    object (SunEvents)
  }
  // End of list of possible types for union field _sun_events.

  // Union field _moon_events can be only one of the following:
  "moonEvents": {
    object (MoonEvents)
  }
  // End of list of possible types for union field _moon_events.

  // Union field _relative_humidity can be only one of the following:
  "relativeHumidity": integer
  // End of list of possible types for union field _relative_humidity.

  // Union field _uv_index can be only one of the following:
  "uvIndex": integer
  // End of list of possible types for union field _uv_index.

  // Union field _thunderstorm_probability can be only one of the following:
  "thunderstormProbability": integer
  // End of list of possible types for union field _thunderstorm_probability.

  // Union field _cloud_cover can be only one of the following:
  "cloudCover": integer
  // End of list of possible types for union field _cloud_cover.
}
필드
weatherCondition

object (WeatherCondition)

날씨 조건

precipitation

object (Precipitation)

강수 확률 및 누적 강수량

wind

object (Wind)

바람 상태

DEPRECATEDGeocodedAddress
(deprecated)

string

지원 중단됨: 대신 returned_location을 사용하세요.

returnedLocation

object (Location)

필수 항목입니다. 날씨 정보가 반환되는 위치입니다. 이 위치는 요청의 위치와 동일하지만 요청된 위치가 대략적인 위치 (예: 'Mountain View, CA')를 조회하는 자유 형식 텍스트 주소인 경우 다를 수 있습니다.

통합 필드 _temperature.

_temperature는 다음 중 하나여야 합니다.

temperature

object (Temperature)

시간별 온도

통합 필드 _feels_like_temperature.

_feels_like_temperature는 다음 중 하나여야 합니다.

feelsLikeTemperature

object (Temperature)

시간별 체감 온도입니다.

통합 필드 _heat_index.

_heat_index는 다음 중 하나여야 합니다.

heatIndex

object (Temperature)

시간별 열파지수 온도입니다.

통합 필드 _air_pressure.

_air_pressure는 다음 중 하나여야 합니다.

airPressure

object (AirPressure)

시간별 기압 상태입니다.

통합 필드 _max_temperature.

_max_temperature는 다음 중 하나여야 합니다.

maxTemperature

object (Temperature)

하루 중 최고 기온입니다.

통합 필드 _min_temperature.

_min_temperature는 다음 중 하나여야 합니다.

minTemperature

object (Temperature)

하루 동안의 최저 온도입니다.

통합 필드 _feels_like_max_temperature.

_feels_like_max_temperature는 다음 중 하나여야 합니다.

feelsLikeMaxTemperature

object (Temperature)

하루 동안의 최대 체감 기온입니다.

통합 필드 _feels_like_min_temperature.

_feels_like_min_temperature는 다음 중 하나여야 합니다.

feelsLikeMinTemperature

object (Temperature)

하루 중 최저 체감 온도입니다.

통합 필드 _max_heat_index.

_max_heat_index는 다음 중 하나여야 합니다.

maxHeatIndex

object (Temperature)

하루 중 최대 열 지수 온도입니다.

통합 필드 _sun_events.

_sun_events는 다음 중 하나여야 합니다.

sunEvents

object (SunEvents)

태양과 관련된 이벤트 (예: 일출, 일몰)

통합 필드 _moon_events.

_moon_events는 다음 중 하나여야 합니다.

moonEvents

object (MoonEvents)

달과 관련된 이벤트 (예: 월출, 월몰)

통합 필드 _relative_humidity.

_relative_humidity는 다음 중 하나여야 합니다.

relativeHumidity

integer

상대 습도 (0~100)의 백분율입니다. 항상 사용할 수 있는 것은 아니므로 선택사항으로 정의합니다.

통합 필드 _uv_index.

_uv_index는 다음 중 하나여야 합니다.

uvIndex

integer

최대 자외선 (UV) 지수입니다. 항상 사용할 수 있는 것은 아니므로 선택사항으로 정의합니다.

통합 필드 _thunderstorm_probability.

_thunderstorm_probability는 다음 중 하나여야 합니다.

thunderstormProbability

integer

뇌우 확률 (0~100 값)입니다. 항상 사용할 수 있는 것은 아니므로 선택사항으로 정의합니다.

통합 필드 _cloud_cover.

_cloud_cover는 다음 중 하나여야 합니다.

cloudCover

integer

구름으로 덮인 하늘의 비율 (0~100 값)입니다. 항상 사용할 수 있는 것은 아니므로 선택사항으로 정의합니다.

온도

JSON 표현
{
  "unit": enum (TemperatureUnit),

  // Union field _degrees can be only one of the following:
  "degrees": number
  // End of list of possible types for union field _degrees.
}
필드
unit

enum (TemperatureUnit)

온도 값을 측정하는 데 사용되는 단위의 코드입니다.

통합 필드 _degrees.

_degrees는 다음 중 하나여야 합니다.

degrees

number

지정된 단위의 온도 값 (도)입니다.

AirPressure

JSON 표현
{

  // Union field _mean_sea_level_millibars can be only one of the following:
  "meanSeaLevelMillibars": number
  // End of list of possible types for union field _mean_sea_level_millibars.
}
필드

통합 필드 _mean_sea_level_millibars.

_mean_sea_level_millibars는 다음 중 하나여야 합니다.

meanSeaLevelMillibars

number

평균 해수면 기압(밀리바)입니다.

SunEvents

JSON 표현
{
  "sunriseTime": string,
  "sunsetTime": string
}
필드
sunriseTime

string (Timestamp format)

해가 뜨는 시간입니다.

참고: 일부 특수한 경우 (예: 북극권 북쪽)에는 하루 종일 일출 시간이 없을 수 있습니다. 이 경우 이 필드는 설정되지 않습니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

sunsetTime

string (Timestamp format)

해가 지는 시간입니다.

참고: 북극권과 같은 일부 특수한 경우에는 하루 종일 일몰 시간이 없을 수도 있습니다. 이 경우 이 필드는 설정되지 않습니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다.

nanos

integer

나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다.

MoonEvents

JSON 표현
{
  "moonriseTimes": [
    string
  ],
  "moonsetTimes": [
    string
  ],
  "moonPhase": enum (MoonPhase)
}
필드
moonriseTimes[]

string (Timestamp format)

달의 상단이 지평선 위로 나타나는 시간입니다 (https://en.wikipedia.org/wiki/Moonrise_and_moonset) 참고).

참고: 대부분의 경우 하루에 달이 뜨는 시간은 한 번입니다. 다른 경우에는 목록이 비어 있을 수 있습니다 (예: 다음 날 자정 이후에 달이 뜨는 경우). 하지만 특수한 경우 (예: 극지방) 목록에 두 개 이상의 값이 포함될 수 있습니다. 이 경우 값은 오름차순으로 정렬됩니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

moonsetTimes[]

string (Timestamp format)

달의 상단이 지평선 아래로 사라지는 시간입니다 (https://en.wikipedia.org/wiki/Moonrise_and_moonset) 참고).

참고: 대부분의 경우 하루에 달이 지는 시간은 한 번입니다. 다른 경우에는 목록이 비어 있을 수 있습니다 (예: 다음날 자정 이후에 달이 지는 경우). 하지만 특수한 경우 (예: 극지방) 목록에 두 개 이상의 값이 포함될 수 있습니다. 이 경우 값은 오름차순으로 정렬됩니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

moonPhase

enum (MoonPhase)

달의 위상입니다.

WeatherCondition

JSON 표현
{
  "iconBaseUri": string,
  "description": {
    object (google.type.LocalizedText)
  },
  "type": enum (Type)
}
필드
iconBaseUri

string

파일 형식 확장자를 포함하지 않는 아이콘의 기본 URI입니다. 아이콘을 표시하려면 원하는 경우 테마와 파일 형식 확장자 (.png 또는 .svg)를 이 URI에 추가합니다. 기본적으로 아이콘은 밝은 테마이지만 어두운 모드의 경우 _dark를 추가할 수 있습니다. 예: 'https://maps.gstatic.com/weather/v1/dust.svg' 또는 'https://maps.gstatic.com/weather/v1/dust_dark.svg' 여기서 icon_base_uri은 'https://maps.gstatic.com/weather/v1/dust'입니다.

description

object (google.type.LocalizedText)

이 날씨 조건에 대한 텍스트 설명입니다 (현지화됨).

type

enum (Type)

날씨 조건의 유형입니다.

LocalizedText

JSON 표현
{
  "text": string,
  "languageCode": string
}
필드
text

string

아래의 google.type.LocalizedText.language_code에 해당하는 언어로 된 현지화된 문자열입니다.

languageCode

string

텍스트의 BCP-47 언어 코드(예: 'en-US' 또는 'sr-Latn')입니다.

자세한 내용은 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier를 참조하세요.

강수량

JSON 표현
{
  "probability": {
    object (PrecipitationProbability)
  },
  "snowQpf": {
    object (QuantitativePrecipitationForecast)
  },
  "qpf": {
    object (QuantitativePrecipitationForecast)
  }
}
필드
probability

object (PrecipitationProbability)

강수 확률 (0~100 값)입니다.

snowQpf

object (QuantitativePrecipitationForecast)

일정 기간 동안 누적된 눈의 양으로, 액체 물의 양으로 측정됩니다. 참고: QPF는 Quantitative Precipitation Forecast (양적 강수 예보)의 약어입니다. 자세한 내용은 QuantitativePrecipitationForecast 정의를 참고하세요.

qpf

object (QuantitativePrecipitationForecast)

일정 기간 동안 누적된 강수량(액체 물 상당량으로 측정)입니다. 참고: QPF는 Quantitative Precipitation Forecast (양적 강수 예보)의 약어입니다. 자세한 내용은 QuantitativePrecipitationForecast 정의를 참고하세요.

PrecipitationProbability

JSON 표현
{
  "type": enum (PrecipitationType),

  // Union field _percent can be only one of the following:
  "percent": integer
  // End of list of possible types for union field _percent.
}
필드
type

enum (PrecipitationType)

강수 유형을 나타내는 코드입니다.

통합 필드 _percent.

_percent는 다음 중 하나여야 합니다.

percent

integer

강수 확률을 나타내는 0~100%입니다.

QuantitativePrecipitationForecast

JSON 표현
{
  "unit": enum (Unit),

  // Union field _quantity can be only one of the following:
  "quantity": number
  // End of list of possible types for union field _quantity.
}
필드
unit

enum (Unit)

누적 강수량을 측정하는 데 사용되는 단위의 코드입니다.

통합 필드 _quantity.

_quantity는 다음 중 하나여야 합니다.

quantity

number

일정 기간 동안 누적된 강수량으로, 액체 물의 양으로 측정됩니다.

바람

JSON 표현
{
  "direction": {
    object (WindDirection)
  },
  "speed": {
    object (WindSpeed)
  },
  "gust": {
    object (WindSpeed)
  }
}
필드
direction

object (WindDirection)

바람의 방향, 바람이 불어오는 각도입니다.

speed

object (WindSpeed)

바람의 속도입니다.

gust

object (WindSpeed)

돌풍 (풍속의 갑작스러운 증가)

WindDirection

JSON 표현
{
  "cardinal": enum (CardinalDirection),

  // Union field _degrees can be only one of the following:
  "degrees": integer
  // End of list of possible types for union field _degrees.
}
필드
cardinal

enum (CardinalDirection)

바람이 불어오는 방향을 나타내는 코드를 말합니다.

통합 필드 _degrees.

_degrees는 다음 중 하나여야 합니다.

degrees

integer

바람의 방향 (0~360)입니다.

WindSpeed

JSON 표현
{
  "unit": enum (SpeedUnit),

  // Union field _value can be only one of the following:
  "value": number
  // End of list of possible types for union field _value.
}
필드
unit

enum (SpeedUnit)

풍속을 측정하는 데 사용되는 단위를 나타내는 코드입니다.

통합 필드 _value.

_value는 다음 중 하나여야 합니다.

value

number

풍속 값입니다.

위치

JSON 표현
{

  // Union field location_type can be only one of the following:
  "latLng": {
    object (google.type.LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
필드
통합 필드 location_type. 위치를 나타내는 다양한 방법 location_type은 다음 중 하나여야 합니다.
latLng

object (google.type.LatLng)

지리 좌표를 사용하여 지정된 지점입니다.

placeId

string

위치와 연결된 장소 ID입니다 .

address

string

사람이 읽을 수 있는 주소 또는 Plus Code입니다. 자세한 내용은 https://plus.codes를 참고하세요.

LatLng

JSON 표현
{
  "latitude": number,
  "longitude": number
}
필드
latitude

number

위도입니다. 범위는 [-90.0, +90.0]입니다.

longitude

number

경도입니다. 범위는 [-180.0, +180.0]입니다.

도구 주석

파괴적 힌트: ❌ | 동일한 힌트: ❌ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌