- name
- weather-mcp
- description
- Query weather information via a local/remote MCP weather server using the SSE endpoint https://api-dev.ljyd.cn/mcp-servers/myweather/sse. Use when the user asks about weather or forecasts and an MCP server is available.
Weather via MCP(SSE)
用途说明
此 Skill 用于规范 Agent 如何通过 MCP Weather Server 的 SSE 接口 https://api-dev.ljyd.cn/mcp-servers/myweather/sse 来查询指定城市的当前天气与短期预报。
适用场景:
- 用户询问:某城市现在/今天/未来几天天气
- 用户需要:温度、天气现象、是否下雨、简单出行建议等
- 环境中已经有一个 MCP weather server 挂在上述 SSE 地址
接口约定(抽象层)
注意:下面是对 MCP Weather Server 的抽象调用说明,真实字段应以该 MCP 服务的官方文档为准。 如果你已经有正式的请求/响应 JSON 协议,请在未来更新本 Skill 以与之严格对齐。
- HTTP 方法:
POST(推荐)或GET,通过 SSE(Server-Sent Events) 返回流式 JSON 消息 - URL:
https://api-dev.ljyd.cn/mcp-servers/myweather/sse - 请求头(示例):
- Accept: text/event-stream - Content-Type: application/json - 如需鉴权,可额外加入:Authorization: Bearer <TOKEN>(具体由你的服务决定)
推荐请求体结构(示例)
{
"action": "weather.query",
"params": {
"location": "北京",
"language": "zh-CN",
"units": "metric", // 摄氏度
"days": 3 // 预报天数,1=仅今天
}
}- 字段说明(建议):
- action:标识调用的功能,这里约定为 "weather.query" - params.location:地点,支持城市名(如 "北京"、"Shanghai")或 "lat,lon" 形式 - params.language:返回语言,用户用中文时建议 "zh-CN" - params.units:"metric"(摄氏)或 "imperial"(华氏),根据需要设定 - params.days:需要预报的天数,通常 1–7
SSE 返回格式(抽象示例)
SSE 数据流通常是若干行形如:
event: message
data: {"type":"chunk","content":{"text":"..."}}
event: message
data: {"type":"final","weather":{"location":"北京","current":{...},"forecast":[...]}}
event: end
data: {}关键点:
- 逐行读取以
data:开头的 JSON 字符串 - 解析
type字段:
- "chunk":中间过程内容,可用于流式展示 - "final":包含完整的天气数据结构(推荐基于此总结给用户)
- 当收到
event: end或连接关闭时结束本次请求
Agent 行为规范
- 解析用户意图
- 提取: - 查询地点(城市名或经纬度) - 时间范围(现在、今天、明天、未来几天等) - 若地点不明确(如“我这”),礼貌提示需要具体城市或坐标。
- 构造 MCP 请求参数
- 选择合适的 location: - 用户给出中文城市名 → 直接使用,如 "北京" - 给出坐标 → 拼成字符串,如 "39.9,116.4" - 根据用户需求设置 days: - 只问“现在”或“今天” → 可以设为 1 - 问“未来 3 天” → 设为 3 - 设置 language 为 "zh-CN"(在用户使用中文时) - 构造类似下面的 JSON:
{
"action": "weather.query",
"params": {
"location": "北京",
"language": "zh-CN",
"units": "metric",
"days": 3
}
}- 调用 SSE 接口(在可访问环境中)
- 使用支持 SSE 的 HTTP 客户端(如 curl、Node.js 的 eventsource、Python 的 sseclient 等)向: - POST https://api-dev.ljyd.cn/mcp-servers/myweather/sse - 将上述 JSON 作为请求体发送,并设置: - Accept: text/event-stream - Content-Type: application/json - 按行消费事件流,直到收到 final 或连接结束。
- 在当前对话环境中的限制
- 当前云端 Agent 无法直接访问你本机/内网/特定受限网络下的 MCP 服务,因此: - 不要声称已经真正调用了 https://api-dev.ljyd.cn/mcp-servers/myweather/sse - 应当: - 帮你构造正确的 curl 或代码调用示例 - 根据你粘贴回来的示例响应,协助解析和整理自然语言总结
- 将结果转化为自然语言回答
不论是你本地调用得到的结构化 JSON,还是 SSE final 事件中的 weather 字段,Agent 总结时应:
- 明确说明地点和时间范围 - 当前天气:天气现象 + 气温 + 体感温度(若有)+ 风力/风速 + 简短体感描述 - 预报部分(若用户关心未来几天): - 每天用一行概括:日期、天气现象、最高/最低气温、是否有雨/雪 - 提供简短生活建议(是否带伞、冷热感受等),避免医学或强确定性表述。
使用示例
示例 1:查询北京未来 3 天天气
用户:
使用 MCP 帮我查一下北京未来 3 天的天气。
Agent 推荐的 MCP 请求(示例,用于本地执行):
curl -N -X POST "https://api-dev.ljyd.cn/mcp-servers/myweather/sse" \
-H "Accept: text/event-stream" \
-H "Content-Type: application/json" \
-d '{
"action": "weather.query",
"params": {
"location": "北京",
"language": "zh-CN",
"units": "metric",
"days": 3
}
}'你本地执行后,可将 SSE 输出中的最终 JSON 粘贴回来,Agent 再按如下风格总结:
- 今天北京:多云,最高 12℃,最低 3℃,体感偏凉,出门建议穿外套。
- 明天:晴到多云,最高 15℃,最低 5℃,整体较舒适。
- 后天:有小雨,气温略降,建议携带雨具。
示例 2:按坐标查询天气
用户:
用 MCP 帮我查一下坐标 39.9,116.4 附近今天和明天气象。
示例请求:
curl -N -X POST "https://api-dev.ljyd.cn/mcp-servers/myweather/sse" \
-H "Accept: text/event-stream" \
-H "Content-Type: application/json" \
-d '{
"action": "weather.query",
"params": {
"location": "39.9,116.4",
"language": "zh-CN",
"units": "metric",
"days": 2
}
}'Agent 应在获得最终结果结构后,用中文简洁总结两天的天气情况和简单出行建议。