Global Weather MCP Server avatar

Global Weather MCP Server

Pricing

from $5.00 / 1,000 weather-queries

Go to Apify Store
Global Weather MCP Server

Global Weather MCP Server

MCP server for current weather, hourly and daily forecasts, air quality, lifestyle indices, historical weather, and tides. Data comes from QWeather. Connect over Streamable HTTP at the Standby URL plus /mcp. Query by city or coordinates.

Pricing

from $5.00 / 1,000 weather-queries

Rating

0.0

(0)

Developer

Jason

Jason

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

weather-mcp

Weather MCP (Model Context Protocol) server. It gives clients current conditions, forecasts, air quality, lifestyle indices, historical weather, and tides. Data comes from the QWeather Open API.


Tools

MCP ToolDescriptionQWeather API
get_current_weatherCurrent weather, plus current air quality when availableCurrent weather + Current air quality
get_current_air_qualityCurrent air qualityCurrent air quality
get_weather_indicesLifestyle indicesIndices forecast
get_hourly_weatherHourly forecastHourly forecast
get_daily_weatherDaily forecastDaily forecast
get_hourly_airqualityHourly air qualityHourly air quality
get_daily_airqualityDaily air qualityDaily air quality
get_historical_weatherHistorical weatherTime Machine
get_tideTideTide

All nine tools accept lang. The default is zh. Common values: zh, zh-hant, en, ja, ko. See QWeather languages for the full list. An unsupported code returns ok: false.


Response format

Every call returns {ok, data}. data contains only the fields for that query.

{
"meta": { "provider": "qweather", "city": "广州", "lat": "23.12", "lon": "113.28" },
"current": { "weather": "小雨", "temp": 27.01 },
"air_quality": { "index_code": "cn-mee", "aqi_display": "45" }
}
  • get_current_weather returns current and includes air_quality when that request succeeds. If air quality fails, the field is empty and the weather result is unchanged
  • get_current_air_quality returns air_quality
  • get_hourly_weather returns hourly_weather
  • get_daily_weather returns daily_weather
  • get_hourly_airquality returns hourly_airquality
  • get_daily_airquality returns daily_airquality
  • get_weather_indices returns indices
  • get_historical_weather returns historical_weather
  • get_tide returns tide

attributions on air-quality results come from QWeather and must be shown together with the data. Data is provided by QWeather. Follow the attribution requirements.


MCP Tool: get_current_weather

Input

ParameterTypeDescription
citystring?City name. Use this or lat/lon
latnumber?Latitude. Must be sent with lon
lonnumber?Longitude. Must be sent with lat

Output

{
"ok": true,
"data": {
"meta": { "provider": "qweather", "city": "广州", "lat": "23.12", "lon": "113.28" },
"current": {
"weather": "小雨",
"weather_code": "305",
"temp": 27.01,
"temp_unit": "°C",
"feels_like": 29.82,
"humidity": 0.84,
"wind": { "speed": 2.4, "speed_unit": "m/s", "scale": 2 },
"pressure": 1012.79,
"visibility": 29210.0,
"uv_index": 0
},
"air_quality": {
"index_name": "AQI (CN)",
"index_code": "cn-mee",
"aqi": 45,
"aqi_display": "45",
"level": "2",
"category": "良",
"effect": "空气质量可接受。",
"advice": "除少数对污染物特别敏感的人以外,可以正常进行室外活动。",
"primary_pollutant": {
"code": "pm2p5",
"name": "PM 2.5",
"full_name": "细颗粒物"
},
"pollutants": [
{
"code": "pm2p5",
"name": "PM 2.5",
"value": 31.0,
"unit": "μg/m3"
}
]
}
}
}

On failure:

{ "ok": false, "error": "错误说明" }

If the air-quality request fails, ok stays true and data.air_quality is empty.


MCP Tool: get_current_air_quality

Input matches get_current_weather. The result is data.air_quality. If this request fails, the whole call returns ok: false.


MCP Tool: get_weather_indices

Input

ParameterTypeDescription
citystring?City name. Use this or lat/lon
latnumber?Latitude. Must be sent with lon
lonnumber?Longitude. Must be sent with lat
daysstring?1d or 3d. Default 1d
index_typestring?Index type IDs, comma-separated. Default 0 (all). 0 cannot be combined with other types

Common types: 1 sport, 2 car wash, 3 dressing, 4 fishing, 5 UV. Full list: weather indices.

Returns data.indices. A QWeather business code other than 200 makes the whole call ok: false.


MCP Tool: get_hourly_weather

Input

ParameterTypeDescription
citystring?City name. Use this or lat/lon
latnumber?Latitude. Must be sent with lon
lonnumber?Longitude. Must be sent with lat
hoursnumber?Forecast hours, 1 to 240. Default 24

Returns data.hourly_weather. Times are local to the queried location. Dew point and cloud cover are omitted.


MCP Tool: get_daily_weather

Input

ParameterTypeDescription
citystring?City name. Use this or lat/lon
latnumber?Latitude. Must be sent with lon
lonnumber?Longitude. Must be sent with lat
daysnumber?Forecast days, 1 to 10. Default 7
langstring?Language code. Default zh

Returns data.daily_weather. Times are local to the queried location. Each day includes high, low, and average temperature, UV index, sunrise and sunset, moon phase, plus daytime and nighttime weather, wind, and precipitation. Cloud cover, twilight, and moon transit are omitted.


MCP Tool: get_hourly_airquality

Input

ParameterTypeDescription
citystring?City name. Use this or lat/lon
latnumber?Latitude. Must be sent with lon
lonnumber?Longitude. Must be sent with lat
langstring?Language code. Default zh

Returns data.hourly_airquality. QWeather returns the next 24 hours. The primary index prefers cn-mee, then qaqi. Index color and pollutant sub-indices are omitted. Show attributions with the data.


MCP Tool: get_daily_airquality

Input

ParameterTypeDescription
citystring?City name. Use this or lat/lon
latnumber?Latitude. Must be sent with lon
lonnumber?Longitude. Must be sent with lat
langstring?Language code. Default zh

Returns data.daily_airquality. QWeather returns the next 3 days. The primary index prefers cn-mee, then qaqi. Index color and pollutant sub-indices are omitted. Show attributions with the data.


MCP Tool: get_historical_weather

Input

ParameterTypeDescription
citystring?City name. Use this or lat/lon
latnumber?Latitude. Must be sent with lon
lonnumber?Longitude. Must be sent with lat
datestringRequired. yyyyMMdd or yyyy-MM-dd. One of the last 10 days, excluding today
unitstring?m metric (default) or i imperial
langstring?Language code. Default zh

Returns data.historical_weather. daily is the day summary and hourly is the hour-by-hour list. Coordinates alone are resolved to a city ID first. In metric units, humidity is a percentage and wind speed is kilometers per hour.


MCP Tool: get_tide

Input

ParameterTypeDescription
citystring?City name. Use city, station, or coordinates
latnumber?Latitude. Must be sent with lon
lonnumber?Longitude. Must be sent with lat
stationstring?Tide station LocationID, such as P66981
datestringRequired. yyyyMMdd or yyyy-MM-dd, from today through the next 10 days
langstring?Language code. Default zh. Affects the station name only

Returns data.tide. table lists high tide (H) and low tide (L). hourly is the hourly tide height in meters. Without station, the nearest tide station is resolved from the city name or coordinates.