Caiyun Weather MCP Server
OfficialThe Caiyun Weather MCP Server provides weather data for any location specified by latitude and longitude coordinates, with the following tools:
get_realtime_weather: Retrieve current weather conditions including temperature, apparent temperature, sky condition, humidity, wind speed/direction, precipitation intensity, air quality metrics (PM2.5, PM10, O3, SO2, NO2, CO, AQI for China and USA standards), and life indices (UV and Comfort).get_hourly_forecast: Fetch hourly weather forecasts for up to 360 hours (default 72 hours), including temperature, weather conditions, rain probability, precipitation intensity, and wind speed/direction.get_weekly_forecast: Obtain daily forecasts for up to 7 days (free tier returns 3 days), including temperature range (min/max), weather conditions, and rain probability.get_historical_weather: Access historical weather data for the past 24 hours, including temperature and weather conditions.get_weather_alerts: Retrieve active weather alerts for a location, including alert title, code, status, and description.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Caiyun Weather MCP Serverwhat's the weather in Beijing now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Caiyun Weather MCP Server
Hosted Server
Caiyun Weather provides a hosted Streamable HTTP MCP server, so you can use the weather tools without installing or running this package locally.
{
"url": "https://mcp-weather.caiyunapp.com/mcp",
"headers": {
"X-Caiyun-API-Key": "YOUR_CAIYUN_WEATHER_API_KEY"
}
}The outer configuration format depends on your MCP client. Before getting
started, register and apply for a Caiyun Weather API key,
then pass it in the X-Caiyun-API-Key request header.
Related MCP server: Hefeng QWeather MCP Server
Setup Instructions
Install uv first.
MacOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | shWindows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Setup with Claude Desktop
# claude_desktop_config.json
# Can find location through:
# Hamburger Menu -> File -> Settings -> Developer -> Edit Config
{
"mcpServers": {
"caiyun-weather": {
"command": "uvx",
"args": ["mcp-caiyun-weather"],
"env": {
"CAIYUN_WEATHER_API_TOKEN": "YOUR_API_KEY_HERE"
}
}
}
}Ask Claude a question requiring weather
e.g. "What's the weather in Beijing Now?"
Local/Dev Setup Instructions
Setup with Claude Desktop
# claude_desktop_config.json
# Can find location through:
# Hamburger Menu -> File -> Settings -> Developer -> Edit Config
{
"mcpServers": {
"caiyun-weather": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-caiyun-weather",
"run",
"mcp-caiyun-weather"
],
"env": {
"CAIYUN_WEATHER_API_TOKEN": "YOUR_API_TOKEN_HERE"
}
}
}
}Debugging
Run:
npx @modelcontextprotocol/inspector \
uv \
--directory /ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-caiyun-weather \
run \
mcp-caiyun-weatherAvailable Tools
get_realtime_weather: Get real-time weather data for a specific locationParameters:
lng: The longitude of the locationlat: The latitude of the location
Returns detailed information including:
Temperature and apparent temperature
Sky condition
Humidity
Wind speed and direction
Precipitation intensity
Air quality metrics (PM2.5, PM10, O3, SO2, NO2, CO)
AQI (China and USA standards)
Life indices (UV and Comfort)
get_hourly_forecast: Get an hourly weather forecast for a configurable number of hoursParameters:
lng: The longitude of the locationlat: The latitude of the locationhours: The number of hours to return (1–360, defaults to72)
Returns hourly forecast including:
Temperature
Weather conditions
Rain probability
Precipitation intensity (mm/hr)
Wind speed and direction
get_weekly_forecast: Get daily weather forecast for the next 7 daysParameters:
lng: The longitude of the locationlat: The latitude of the location
Returns daily forecast including:
Temperature range (min/max)
Weather conditions
Rain probability
get_historical_weather: Get historical weather data for the past 24 hoursParameters:
lng: The longitude of the locationlat: The latitude of the location
Returns historical data including:
Temperature
Weather conditions
get_weather_alerts: Get weather alerts for a specific locationParameters:
lng: The longitude of the locationlat: The latitude of the location
Returns weather alerts including:
Alert title
Alert code
Alert status
Alert description
Note: All tools require a valid Caiyun Weather API token to be set in the environment variable CAIYUN_WEATHER_API_TOKEN.
Available Tools
5 toolsget_historical_weatherB
Get historical weather data for the past 24 hours.
| Name | Required | Description | Default |
|---|---|---|---|
| lng | Yes | The longitude of the location to get the weather for | |
| lat | Yes | The latitude of the location to get the weather for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must convey behavioral traits. It only states it retrieves data, but lacks details on read-only nature, required permissions, rate limits, or data format. Minimal transparency beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and to the point. However, it sacrifices essential details for brevity, making it moderately effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what data is returned (e.g., temperature, humidity) but does not. The tool is simple, but the description lacks completeness for an agent to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters ('lat' and 'lng'). The description adds no additional meaning beyond the schema, so a baseline score of 3 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), resource ('historical weather data'), and a specific time period ('past 24 hours'). It distinguishes from sibling tools like 'get_hourly_forecast' (future) and 'get_realtime_weather' (current).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention when not to use it or which sibling tools might be more appropriate for different time ranges.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hourly_forecastB
Get hourly weather forecast for the next 72 hours.
| Name | Required | Description | Default |
|---|---|---|---|
| lng | Yes | The longitude of the location to get the weather for | |
| lat | Yes | The latitude of the location to get the weather for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description only states basic functionality. There is no disclosure of behavioral aspects such as rate limits, data units, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words, but a bit more detail (e.g., 'including temperature, humidity, wind') could be added without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two well-described parameters and no output schema, the description is minimally complete but lacks information about what the forecast contains (e.g., temperature, precipitation) or the update frequency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no extra meaning beyond the parameter descriptions already present. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves hourly weather forecasts for a specific 72-hour timeframe, distinguishing it from siblings like get_weekly_forecast or get_realtime_weather.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_weekly_forecast or get_historical_weather, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_realtime_weatherC
Get the realtime weather for a location.
| Name | Required | Description | Default |
|---|---|---|---|
| lng | Yes | The longitude of the location to get the weather for | |
| lat | Yes | The latitude of the location to get the weather for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fails to disclose any behavioral traits (e.g., caching, units, authentication requirements). It simply restates the tool's function without adding behavioral context beyond the name and schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no filler. It is appropriately concise for a simple tool, though a bit more structure could be added without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should provide additional context about return values, units, or limitations. It is insufficient for an agent to fully understand what the tool returns or how to interpret the data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters have descriptions). The description does not add any extra parameter information, so it meets the baseline for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Get the realtime weather for a location,' using a clear verb and resource. It distinguishes itself from sibling tools (e.g., get_historical_weather, get_hourly_forecast) by specifying 'realtime weather.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., forecasts, alerts). The description lacks context about appropriate scenarios, such as needing current conditions versus predictions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weather_alertsC
Get weather alerts for the location.
| Name | Required | Description | Default |
|---|---|---|---|
| lng | Yes | The longitude of the location to get the weather for | |
| lat | Yes | The latitude of the location to get the weather for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fails to disclose behavioral aspects such as data source, update frequency, or whether alerts are current. It adds minimal value beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but lacks detail. It is not verbose, but it could benefit from more structured information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 params, no output schema), the description is adequate. However, it omits relevant context such as what constitutes an alert or whether it returns only active alerts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with basic descriptions for lng and lat. The tool description does not provide additional semantic meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('weather alerts'), and specifies the location scope. However, it does not differentiate from sibling tools like get_realtime_weather or get_hourly_forecast, which also retrieve weather data for a location.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention any prerequisites, limitations, or contextual cues for selecting alerts over other weather data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weekly_forecastA
Get daily weather forecast for up to 7 days (free tier returns 3 days).
| Name | Required | Description | Default |
|---|---|---|---|
| lng | Yes | The longitude of the location to get the weather for | |
| lat | Yes | The latitude of the location to get the weather for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the key behavioral trait: free tier returns 3 days. This adds value beyond the schema. It does not contradict any annotations (none present).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words. It front-loads the purpose and scope, making it efficient for agents to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits details about the output format (e.g., temperature, precipitation, dates). Since there is no output schema, the description should ideally mention what fields are returned to fully guide an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% as both 'lng' and 'lat' have descriptions. The tool description adds no further parameter semantics, but the schema adequately documents them. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb 'get', resource 'daily weather forecast', and scope 'up to 7 days (free tier returns 3 days)'. This distinctively separates it from siblings like get_hourly_forecast (hourly) and get_historical_weather (historical).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context by noting the free tier limitation (3 days vs 7), which helps agents decide when to use this tool. However, it does not explicitly state when not to use or cite alternatives like get_hourly_forecast for hourly needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v0.1.0- First observed
get_historical_weather - First observed
get_hourly_forecast - First observed
get_realtime_weather - First observed
get_weather_alerts - First observed
get_weekly_forecast
TDQS
Each tool serves a distinct weather data purpose: historical, hourly forecast, realtime, alerts, and weekly forecast. There is no overlap in functionality.
All tools follow the consistent 'get_<descriptor>_weather' or 'get_<forecast_type>' pattern, providing a clear and predictable naming convention.
5 tools is an appropriate number for a weather API, covering the most common weather data needs without being excessive or insufficient.
The tool set covers realtime, historical, hourly forecast, weekly forecast, and alerts. Missing extended forecasts or additional weather parameters, but the core domain is well-covered.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Global weather API: forecasts, historical data, marine, ski, astronomy and timezone.
Global weather via Open-Meteo: forecast, ERA5 archive, marine, air quality, geocoding, elevation.
Real-time weather conditions and multi-day forecasts via Open-Meteo — free, no API key required
Geocoding, weather forecasts, and timezone lookups
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides weather forecast data for locations in China through HeFeng Weather API, supporting real-time, hourly, and daily forecasts with full Chinese weather descriptions.324ISC
- AlicenseNot gradedqualityBmaintenanceProvides comprehensive weather data including forecasts, air quality, weather alerts, historical data, and astronomical information through the Hefeng Weather API. Supports real-time weather, multi-day forecasts, hourly predictions, and specialized data like sunrise/sunset times and precipitation forecasts.4MIT
- AlicenseBqualityDmaintenanceProvides current weather data, multi-day forecasts, hourly forecasts, and city lookup functionality using the QWeather API. Supports customizable units, languages, and multiple location formats including coordinates and city IDs.471MIT
- FlicenseNot gradedqualityDmaintenanceEnables querying weather forecasts (1-7 days) and meteorological warnings for Chinese cities using the QWeather API. Supports detailed weather data including temperature, humidity, wind, precipitation, UV index, and real-time weather alerts.1-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/caiyunapp/mcp-caiyun-weather'
If you have feedback or need assistance with the MCP directory API, please join our Discord server