Caiyun Weather MCP Server
The Caiyun Weather MCP Server is a weather data query service that provides comprehensive weather information based on the Caiyun Weather API.
With this server, you can:
Query weather by location (longitude and latitude) or by address
Access real-time weather conditions including temperature, humidity, and wind speed
Get minute-by-minute precipitation forecasts for the next 2 hours
Retrieve hourly weather forecasts for up to 24+ hours
Obtain daily weather forecasts for multiple days
Receive weather alerts for severe conditions
Customize data presentation with multi-language support (Chinese/English)
Select between metric and imperial units
Connects to a GitHub repository where the MCP server code is hosted, allowing users to clone the caiyun-weather-mcp repository to set up the weather service.
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 like in Shanghai tomorrow?"
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.
彩云天气 MCP 服务器
基于彩云天气 API 的 Model Context Protocol (MCP) 服务器,提供天气数据查询功能。
功能特点
实时天气数据:温度、湿度、风速、气压、能见度等
分钟级降水预报:未来2小时的降水情况
小时级天气预报:未来24小时或更长时间的天气预报
每日天气预报:未来多天的天气预报
天气预警信息:各类天气预警
空气质量趋势:24小时空气质量变化趋势和主要污染物分析
详细生活指数:运动、旅行、洗车、穿衣等详细生活建议
降水类型识别:区分雨、雪、雨夹雪、冰雹等降水类型
地址查询:支持通过地址查询天气,内置35个主要城市坐标缓存,无需额外配置即可使用
多语言支持:支持中文和英文
单位制选择:支持公制和英制
Related MCP server: MCP Weather Server
安装
安装 Smithery
通过 Smithery 安装 彩云天气 对于Claude的桌面应用:
npm install @smithery/cli -g
smithery install @pepperai/caiyun-weather-mcp通过 NPX 使用
您可以直接通过 NPX 运行:
npx caiyun-weather-mcp --api-key=您的彩云天气API密钥或者设置环境变量:
CAIYUN_API_KEY=您的密钥 npx caiyun-weather-mcp从源码安装
克隆仓库:
git clone https://github.com/marcusbai/caiyun-weather-mcp.git
cd caiyun-weather-mcp安装依赖:
npm install注意:本项目依赖于 Model Context Protocol (MCP) SDK,该SDK需要在运行环境中可用。MCP SDK通常由Claude或其他支持MCP的应用程序提供。
构建项目:
npm run build配置
在使用前,需要配置彩云天气API密钥。地址查询功能支持内置城市缓存,高德地图API密钥为推荐配置。
彩云天气API密钥
访问 彩云天气开发者中心
注册并登录账号
创建应用并获取API密钥
高德地图API密钥(推荐)
访问 高德开放平台
注册并登录账号
创建应用并获取API密钥,需要启用"地理编码"服务
💡 提示:高德地图API密钥为推荐配置。系统内置了35个主要城市的坐标缓存,包括所有直辖市、省会城市和经济发达城市,无需额外配置即可使用。
地址解析功能
支持的城市
系统内置了以下35个主要城市的坐标缓存:
直辖市:北京、上海、天津、重庆
省会及主要城市:广州、深圳、杭州、南京、武汉、成都、西安、长沙、沈阳、大连、青岛、厦门、苏州、郑州、济南、哈尔滨、石家庄、太原、合肥、南昌、福州、南宁、昆明、贵阳、兰州、西宁、拉萨、呼和浩特、海口、银川、乌鲁木齐
智能地址匹配
支持多种地址格式和智能匹配:
标准格式:
上海、上海市详细地址:
上海市浦东新区、北京市朝阳区城市别名:
魔都→上海、帝都→北京、羊城→广州、鹏城→深圳等
地址解析策略
缓存优先:内置城市坐标立即返回
API增强:配置高德API后支持任意地址
降级处理:未知地址返回北京坐标并提示配置
配置MCP设置
编辑MCP设置文件,添加彩云天气MCP服务器配置:
{
"mcpServers": {
"caiyun-weather": {
"command": "node",
"args": ["完整路径/caiyun-weather-mcp/dist/index.js"],
"env": {
"CAIYUN_API_KEY": "您的彩云天气API密钥",
"AMAP_API_KEY": "您的高德地图API密钥(推荐)"
},
"disabled": false,
"autoApprove": []
}
}
}如果您通过 NPX 安装了本服务,可以使用以下配置:
{
"mcpServers": {
"caiyun-weather": {
"command": "npx",
"args": ["caiyun-weather-mcp"],
"env": {
"CAIYUN_API_KEY": "您的彩云天气API密钥",
"AMAP_API_KEY": "您的高德地图API密钥(推荐)"
},
"disabled": false,
"autoApprove": []
}
}
}使用示例
根据经纬度获取天气信息
<use_mcp_tool>
<server_name>caiyun-weather</server_name>
<tool_name>get_weather_by_location</tool_name>
<arguments>
{
"longitude": 116.3976,
"latitude": 39.9075,
"daily_steps": 5,
"hourly_steps": 24,
"language": "zh_CN",
"unit": "metric"
}
</arguments>
</use_mcp_tool>根据地址获取天气信息
<use_mcp_tool>
<server_name>caiyun-weather</server_name>
<tool_name>get_weather_by_address</tool_name>
<arguments>
{
"address": "上海市",
"daily_steps": 5,
"hourly_steps": 24,
"language": "zh_CN",
"unit": "metric"
}
</arguments>
</use_mcp_tool>获取实时天气数据
<use_mcp_tool>
<server_name>caiyun-weather</server_name>
<tool_name>get_realtime_weather</tool_name>
<arguments>
{
"longitude": 116.3976,
"latitude": 39.9075,
"language": "zh_CN",
"unit": "metric"
}
</arguments>
</use_mcp_tool>获取分钟级降水预报
<use_mcp_tool>
<server_name>caiyun-weather</server_name>
<tool_name>get_minutely_forecast</tool_name>
<arguments>
{
"longitude": 116.3976,
"latitude": 39.9075,
"language": "zh_CN",
"unit": "metric"
}
</arguments>
</use_mcp_tool>获取小时级天气预报
<use_mcp_tool>
<server_name>caiyun-weather</server_name>
<tool_name>get_hourly_forecast</tool_name>
<arguments>
{
"longitude": 116.3976,
"latitude": 39.9075,
"hourly_steps": 24,
"language": "zh_CN",
"unit": "metric"
}
</arguments>
</use_mcp_tool>获取每日天气预报
<use_mcp_tool>
<server_name>caiyun-weather</server_name>
<tool_name>get_daily_forecast</tool_name>
<arguments>
{
"longitude": 116.3976,
"latitude": 39.9075,
"daily_steps": 5,
"language": "zh_CN",
"unit": "metric"
}
</arguments>
</use_mcp_tool>获取天气预警信息
<use_mcp_tool>
<server_name>caiyun-weather</server_name>
<tool_name>get_weather_alert</tool_name>
<arguments>
{
"longitude": 116.3976,
"latitude": 39.9075,
"language": "zh_CN",
"unit": "metric"
}
</arguments>
</use_mcp_tool>获取空气质量趋势
<use_mcp_tool>
<server_name>caiyun-weather</server_name>
<tool_name>get_air_quality_trend</tool_name>
<arguments>
{
"longitude": 116.3976,
"latitude": 39.9075,
"language": "zh_CN",
"unit": "metric"
}
</arguments>
</use_mcp_tool>获取详细生活指数
<use_mcp_tool>
<server_name>caiyun-weather</server_name>
<tool_name>get_detailed_life_index</tool_name>
<arguments>
{
"longitude": 116.3976,
"latitude": 39.9075,
"language": "zh_CN",
"unit": "metric"
}
</arguments>
</use_mcp_tool>参数说明
通用参数
longitude:经度latitude:纬度address:地址(仅用于get_weather_by_address)daily_steps:每日预报天数(1-15,默认5)hourly_steps:小时预报数量(1-360,默认24)language:语言(zh_CN或en_US,默认zh_CN)unit:单位制(metric或imperial,默认metric)
许可证
MIT
Available Tools
7 toolsget_daily_forecastC
获取天级天气预报
| Name | Required | Description | Default |
|---|---|---|---|
| daily_steps | No | 每日预报天数 (1-15) | |
| language | No | 语言 | zh_CN |
| latitude | Yes | 纬度 | |
| longitude | Yes | 经度 | |
| unit | No | 单位制 (metric: 公制, imperial: 英制) | metric |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. '获取天级天气预报' only states what the tool does, not how it behaves - no information about response format, error conditions, rate limits, authentication needs, or whether it's a read-only operation. This is inadequate for a tool with 5 parameters and no output 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 extremely concise - a single Chinese phrase that directly states the tool's purpose. There's zero wasted language, and it's front-loaded with the essential information. Every word earns its place in this minimal description.
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 tool's complexity (5 parameters, no output schema, no annotations), the description is insufficiently complete. It doesn't explain what the forecast contains, how results are structured, error handling, or practical usage context. With multiple similar sibling tools and no output schema, users need more guidance about what to expect from this specific daily forecast tool.
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?
The description adds no parameter information beyond what's already in the schema (which has 100% coverage). The schema fully documents all 5 parameters with descriptions, defaults, ranges, and enums. The description doesn't provide additional context about parameter relationships or usage patterns, so it meets but doesn't exceed the baseline.
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 '获取天级天气预报' (Get daily weather forecast) clearly states the verb ('get') and resource ('daily weather forecast'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like get_hourly_forecast or get_minutely_forecast, which would require mentioning the specific time granularity distinction.
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 no guidance on when to use this tool versus alternatives. With multiple sibling forecast tools (hourly, minutely, realtime), there's no indication that this tool is specifically for daily forecasts rather than other timeframes, nor any mention of use cases or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hourly_forecastC
获取小时级天气预报
| Name | Required | Description | Default |
|---|---|---|---|
| hourly_steps | No | 小时预报数量 (1-360) | |
| language | No | 语言 | zh_CN |
| latitude | Yes | 纬度 | |
| longitude | Yes | 经度 | |
| unit | No | 单位制 (metric: 公制, imperial: 英制) | metric |
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 of behavioral disclosure. It states the action ('get') but doesn't describe any behavioral traits such as whether this is a read-only operation, potential rate limits, authentication needs, or what the output format might be. For a tool with no annotations, this leaves significant gaps in understanding how it behaves.
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, efficient sentence ('获取小时级天气预报') that is front-loaded and wastes no words. It directly states the purpose without unnecessary elaboration, making it appropriately sized for its minimal content.
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 complexity of a weather forecasting tool with 5 parameters and no output schema, the description is incomplete. It lacks details on what the forecast includes (e.g., temperature, precipitation), how results are structured, or any behavioral context, which is insufficient for an agent to fully understand the tool's operation without relying heavily on the schema alone.
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?
The input schema has 100% description coverage, with clear documentation for all 5 parameters (e.g., 'hourly_steps' as '小时预报数量 (1-360)'). The description adds no additional meaning beyond what the schema provides, so it meets the baseline of 3 where the schema does the heavy lifting without compensating for any gaps.
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 '获取小时级天气预报' (Get hourly weather forecast) clearly states the verb ('get') and resource ('hourly weather forecast'), making the basic purpose understandable. However, it doesn't distinguish this tool from its siblings like 'get_daily_forecast' or 'get_minutely_forecast' beyond the temporal granularity implied by 'hourly', which is minimal differentiation.
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 no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_daily_forecast' for daily forecasts or 'get_realtime_weather' for current conditions, leaving the agent to infer usage based on the name alone without explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_minutely_forecastC
获取分钟级降水预报
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | 语言 | zh_CN |
| latitude | Yes | 纬度 | |
| longitude | Yes | 经度 | |
| unit | No | 单位制 (metric: 公制, imperial: 英制) | metric |
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 of behavioral disclosure. It only states what the tool does ('get minutely precipitation forecast') without mentioning any behavioral traits such as rate limits, data freshness, error handling, or what the output might contain (e.g., precipitation intensity, duration). This is inadequate for a tool with no annotation coverage.
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, efficient phrase ('获取分钟级降水预报') that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
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 complexity of a weather forecasting tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral aspects (e.g., data sources, update frequency) and doesn't hint at the output structure, which is critical for an agent to use the tool effectively in a broader context.
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?
The description adds no parameter semantics beyond what the input schema provides. Since schema description coverage is 100%, the baseline score is 3. The description doesn't explain why parameters like 'latitude' and 'longitude' are required or how they affect the forecast, so it doesn't compensate for any gaps.
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 ('获取' meaning 'get') and resource ('分钟级降水预报' meaning 'minutely precipitation forecast'), providing a specific purpose. However, it doesn't explicitly distinguish this tool from its siblings like 'get_hourly_forecast' or 'get_daily_forecast' beyond the 'minutely' qualifier, which is why it doesn't reach a 5.
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 no guidance on when to use this tool versus alternatives. With siblings like 'get_hourly_forecast' and 'get_daily_forecast', it's unclear if this tool is for short-term precipitation predictions or specific use cases, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_realtime_weatherC
获取实时天气数据
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | 语言 | zh_CN |
| latitude | Yes | 纬度 | |
| longitude | Yes | 经度 | |
| unit | No | 单位制 (metric: 公制, imperial: 英制) | metric |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. '获取实时天气数据' only states what the tool does, not how it behaves - no information about authentication needs, rate limits, error conditions, response format, or whether it's a read-only operation. For a tool with no annotations, this is insufficient behavioral context.
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, efficient Chinese phrase that directly states the tool's purpose with zero wasted words. It's appropriately sized for a straightforward weather data retrieval tool and front-loads the essential 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?
For a tool with 4 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what 'real-time' means (current conditions? recent observations?), doesn't describe the return format, and provides no behavioral context. Given the complexity of weather data and lack of structured metadata, the description should do more to compensate.
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 description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional parameter information beyond what's in the schema - no examples, no explanation of coordinate precision, no context about when to use which language or unit options. Baseline 3 is appropriate when schema does the heavy lifting.
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 purpose as 'get real-time weather data' with a specific verb ('get') and resource ('real-time weather data'). It distinguishes from siblings like forecast tools by specifying 'real-time', but doesn't explicitly contrast with other real-time tools like get_weather_by_address.
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 no guidance on when to use this tool versus alternatives. With siblings like get_weather_by_address and get_weather_by_location that likely serve similar real-time purposes, there's no indication of when to choose coordinate-based vs address-based approaches or how this differs from other real-time weather tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weather_alertC
获取天气预警信息
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | 语言 | zh_CN |
| latitude | Yes | 纬度 | |
| longitude | Yes | 经度 | |
| unit | No | 单位制 (metric: 公制, imperial: 英制) | metric |
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 of behavioral disclosure. The description only states what the tool does ('获取天气预警信息') without revealing any behavioral traits such as data freshness, rate limits, authentication needs, error handling, or what happens if no alerts are found. This is a significant gap for a tool with no annotation coverage.
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, efficient sentence ('获取天气预警信息') with zero waste. It's front-loaded and appropriately sized for the tool's purpose, though it could benefit from more detail without sacrificing 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?
Given the complexity of a weather alert tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., alert types, severity, timestamps) or behavioral aspects like data sources or limitations. This leaves gaps for an AI agent to understand the tool fully.
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 description coverage is 100%, with all parameters well-documented in the schema (e.g., latitude/longitude for location, language and unit with enums). The description adds no additional meaning beyond what the schema provides, such as explaining how parameters affect the alert retrieval. Baseline 3 is appropriate since the schema does the heavy lifting.
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 '获取天气预警信息' (Get weather alert information) states a clear verb ('获取') and resource ('天气预警信息'), but it's vague about what constitutes 'weather alert information' and doesn't distinguish this tool from its siblings (e.g., get_daily_forecast, get_realtime_weather). It's functional but lacks specificity about the type of alerts or their scope.
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 no guidance on when to use this tool versus its siblings (e.g., get_weather_by_location, get_daily_forecast). There's no mention of alternatives, prerequisites, or specific contexts for weather alerts, leaving the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weather_by_addressC
根据地址获取天气信息
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | 地址,如"北京市海淀区" | |
| daily_steps | No | 每日预报天数 (1-15) | |
| hourly_steps | No | 小时预报数量 (1-360) | |
| language | No | 语言 | zh_CN |
| unit | No | 单位制 (metric: 公制, imperial: 英制) | metric |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It doesn't mention whether this is a read-only operation, what data sources it uses, potential rate limits, authentication requirements, or what format the weather information will be returned in. The description only states what the tool does at a high level without behavioral context.
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 extremely concise at just 8 Chinese characters ('根据地址获取天气信息'), which translates to 'get weather information by address.' This is front-loaded with the core purpose and contains no unnecessary words or sentences. For a simple weather lookup tool, this brevity is appropriate.
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 tool has 5 parameters, no annotations, no output schema, and multiple sibling tools, the description is insufficiently complete. It doesn't explain what weather information is returned (current conditions, forecasts, alerts), how the address is resolved, error handling for invalid addresses, or differentiation from similar tools. The agent would need to guess about many important usage aspects.
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?
The description mentions 'by address' which aligns with the required 'address' parameter, but adds no additional semantic context beyond what the schema already provides. With 100% schema description coverage and detailed parameter documentation in the schema (including defaults, ranges, and enums), the description doesn't enhance parameter understanding. The baseline score of 3 reflects adequate but minimal value added.
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's purpose as '根据地址获取天气信息' (get weather information by address), which specifies both the action (get weather information) and the resource (by address). However, it doesn't distinguish this tool from its sibling 'get_weather_by_location' which likely serves a similar purpose with different input parameters.
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 no guidance on when to use this tool versus alternatives. With six sibling weather tools available (including get_daily_forecast, get_hourly_forecast, get_weather_by_location), the agent receives no indication of when this address-based weather tool is preferable to location-based or specialized forecast tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weather_by_locationC
根据经纬度获取天气信息
| Name | Required | Description | Default |
|---|---|---|---|
| daily_steps | No | 每日预报天数 (1-15) | |
| hourly_steps | No | 小时预报数量 (1-360) | |
| language | No | 语言 | zh_CN |
| latitude | Yes | 纬度 | |
| longitude | Yes | 经度 | |
| unit | No | 单位制 (metric: 公制, imperial: 英制) | metric |
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 of behavioral disclosure. The description only states what the tool does ('获取天气信息' - get weather information) without mentioning any behavioral traits like rate limits, authentication requirements, error conditions, response format, or what specific weather data is returned. For a tool with 6 parameters and no annotations, this is a significant gap in behavioral transparency.
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, efficient Chinese sentence that gets straight to the point with zero wasted words. It's appropriately sized for the tool's purpose and front-loaded with the essential information about what the tool does and what inputs it requires.
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 tool has 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what weather information is returned (temperature, precipitation, wind, etc.), the format of the response, any limitations or constraints, or how it differs from the multiple sibling weather tools. For a weather API tool with rich parameters but no structured output documentation, the description should provide more context about what users can expect.
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 description coverage is 100%, so the schema already documents all 6 parameters thoroughly with descriptions, defaults, ranges, and enums. The description adds no additional parameter information beyond what's in the schema. According to the scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.
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 '根据经纬度获取天气信息' (Get weather information based on latitude and longitude) clearly states the verb ('获取' - get) and resource ('天气信息' - weather information), with the specific input method ('根据经纬度' - based on latitude and longitude). It distinguishes from some siblings like get_weather_by_address that use addresses instead of coordinates, but doesn't fully differentiate from get_realtime_weather which might also use coordinates.
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 explicit guidance on when to use this tool versus alternatives. The description implies it uses latitude/longitude coordinates, which distinguishes it from get_weather_by_address, but doesn't explain when to choose this over get_realtime_weather, get_daily_forecast, or other weather-related siblings. No context about prerequisites or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose with no overlap: daily, hourly, and minutely forecasts target different time granularities, realtime weather provides current conditions, weather alerts are separate, and the last two tools differ by input type (address vs. location). An agent can easily tell them apart based on their specific functions.
All tool names follow a consistent verb_noun pattern using 'get_' as the prefix, followed by descriptive nouns like 'daily_forecast' or 'weather_by_address'. There are no deviations in style or convention, making the naming predictable and easy to understand.
With 7 tools, this server is well-scoped for a weather domain, covering key aspects like forecasts, real-time data, alerts, and location-based queries. Each tool earns its place without being excessive or insufficient, aligning perfectly with typical MCP server expectations.
The tool set is highly complete for weather data retrieval, covering forecasts, real-time info, alerts, and multiple input methods. A minor gap might be the lack of historical weather data or more advanced queries, but core workflows are fully supported, allowing agents to handle most weather-related tasks effectively.
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
MCP server for weather with reasoning — umbrella advice, outdoor checks, city comparisons.
Open-Meteo tabanlı anahtarsız hava durumu tahmin MCP sunucusu.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Related MCP Servers
FlicenseBqualityCmaintenanceProvides a Model Context Protocol server that enables large language models to query and retrieve real-time weather forecasts for cities and regions across China.1- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides real-time weather information and 5-day forecasts to AI assistants, supporting multiple languages and flexible units.322MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides comprehensive weather data and forecasts through the OpenWeatherMap API, enabling AI assistants to access real-time weather information, forecasts, air quality data, and location services.11265MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables natural language weather queries for global cities, integrating with OpenWeather API to provide real-time weather information in an easy-to-read format.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/marcusbai/caiyun-weather-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server