基于彩云天气 API 的 Model Context Protocol (MCP) 服务器,提供天气数据查询功能。
- 实时天气数据:温度、湿度、风速、气压等
- 分钟级降水预报:未来2小时的降水情况
- 小时级天气预报:未来24小时或更长时间的天气预报
- 每日天气预报:未来多天的天气预报
- 天气预警信息:各类天气预警
- 地址查询:支持通过地址查询天气(需配置高德地图API)
- 多语言支持:支持中文和英文
- 单位制选择:支持公制和英制
通过 Smithery 安装 彩云天气 对于Claude的桌面应用:
npm install @smithery/cli -g
smithery install @pepperai/caiyun-weather-mcp
您可以直接通过 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密钥,需要启用"地理编码"服务
编辑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>
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