🧪 Skills
weather-mcp
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 a...
v1.0.0
Description
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-streamContent-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-streamContent-Type: application/json
- 按行消费事件流,直到收到
final或连接结束。
- 使用支持 SSE 的 HTTP 客户端(如
-
在当前对话环境中的限制
- 当前云端 Agent 无法直接访问你本机/内网/特定受限网络下的 MCP 服务,因此:
- 不要声称已经真正调用了
https://api-dev.ljyd.cn/mcp-servers/myweather/sse - 应当:
- 帮你构造正确的
curl或代码调用示例 - 根据你粘贴回来的示例响应,协助解析和整理自然语言总结
- 帮你构造正确的
- 不要声称已经真正调用了
- 当前云端 Agent 无法直接访问你本机/内网/特定受限网络下的 MCP 服务,因此:
-
将结果转化为自然语言回答
不论是你本地调用得到的结构化 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 应在获得最终结果结构后,用中文简洁总结两天的天气情况和简单出行建议。
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!