Skip to main content
Glama
caiyunapp

Caiyun Weather MCP Server

Official
by caiyunapp

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 | sh

Windows:

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-weather

Available Tools

  • get_realtime_weather: Get real-time weather data for a specific location

    • Parameters:

      • lng: The longitude of the location

      • lat: 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 hours

    • Parameters:

      • lng: The longitude of the location

      • lat: The latitude of the location

      • hours: The number of hours to return (1360, defaults to 72)

    • 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 days

    • Parameters:

      • lng: The longitude of the location

      • lat: 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 hours

    • Parameters:

      • lng: The longitude of the location

      • lat: The latitude of the location

    • Returns historical data including:

      • Temperature

      • Weather conditions

  • get_weather_alerts: Get weather alerts for a specific location

    • Parameters:

      • lng: The longitude of the location

      • lat: 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 tools
get_historical_weatherB

Get historical weather data for the past 24 hours.

ParametersJSON Schema
NameRequiredDescriptionDefault
lngYesThe longitude of the location to get the weather for
latYesThe latitude of the location to get the weather for

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
lngYesThe longitude of the location to get the weather for
latYesThe latitude of the location to get the weather for

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
lngYesThe longitude of the location to get the weather for
latYesThe latitude of the location to get the weather for

TDQS

C2.9/5.0
Behavior1/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
lngYesThe longitude of the location to get the weather for
latYesThe latitude of the location to get the weather for

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
lngYesThe longitude of the location to get the weather for
latYesThe latitude of the location to get the weather for

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 5 tool updatesv0.1.0
    • First observedget_historical_weather
    • First observedget_hourly_forecast
    • First observedget_realtime_weather
    • First observedget_weather_alerts
    • First observedget_weekly_forecast

TDQS

A3.6/5.0
Disambiguation5/5

Each tool serves a distinct weather data purpose: historical, hourly forecast, realtime, alerts, and weekly forecast. There is no overlap in functionality.

Naming Consistency5/5

All tools follow the consistent 'get_<descriptor>_weather' or 'get_<forecast_type>' pattern, providing a clear and predictable naming convention.

Tool Count5/5

5 tools is an appropriate number for a weather API, covering the most common weather data needs without being excessive or insufficient.

Completeness4/5

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

ActivityMaintained
ResponsivenessUnresponsive

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides 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.
    4
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides 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.
    4
    7
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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

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