基于Color Cloud Weather API的Model Context Protocol (MCP)服务器,提供天气数据查询功能。
通过Smithery安装Caiyun Weather到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,需要在运行时环境中可用。MCP SDK通常由Claude或其他支持MCP的应用程序提供。
npm run build
在使用前,需要配置Caiyun Weather API密钥。地址查询功能支持内置城市缓存,建议配置Amap API密钥。
💡 提示:高德地图API密钥是推荐配置项。系统内置了35个主要城市的坐标缓存,包括所有直辖市、省会城市以及经济发达的城市,无需额外配置即可使用。
系统内置了以下35个主要城市的坐标缓存:
直辖市:北京、上海、天津、重庆
省会城市及其他重要城市:广州、深圳、杭州、南京、武汉、成都、西安、长沙、沈阳、大连、青岛、厦门、苏州、郑州、济南、哈尔滨、石家庄、太原、合肥、南昌、福州、南宁、昆明、贵阳、兰州、西宁、拉萨、呼和浩特、海口、银川、乌鲁木齐
支持多种地址格式和智能匹配:
上海、上海市上海市浦东新区、北京市朝阳区魔都→ 上海帝都→ 北京羊城→ 广州鹏城→ 深圳等编辑MCP设置文件,添加color cloud weather 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