当前位置: 首页 > wzjs >正文

电脑软件和网站怎么做wordpress 伪静态 中文

电脑软件和网站怎么做,wordpress 伪静态 中文,怎么创建教育网站,公司网站文化活动备案环境配置烦请移步上一篇博客 这里直接步入主题,天气查询的api用的是openweather,免费注册就可以使用了 每天1000次内使用时免费的,大概的api 如下 https://api.openweathermap.org/data/2.5/weather?qBeijing,cn&APPID注册后可以拿到一个…

环境配置烦请移步上一篇博客
这里直接步入主题,天气查询的api用的是openweather,免费注册就可以使用了 每天1000次内使用时免费的,大概的api 如下
https://api.openweathermap.org/data/2.5/weather?q=Beijing,cn&APPID=注册后可以拿到一个appid

这里如果切换别的查询工具都是可以的

返回结果如下

{"coord": {"lon": 116.3972,"lat": 39.9075},"weather": [{"id": 800,"main": "Clear","description": "clear sky","icon": "01n"}],"base": "stations","main": {"temp": 295.09,"feels_like": 294.36,"temp_min": 295.09,"temp_max": 295.09,"pressure": 1012,"humidity": 39,"sea_level": 1012,"grnd_level": 1007},"visibility": 10000,"wind": {"speed": 3.9,"deg": 198,"gust": 10.01},"clouds": {"all": 1},"dt": 1748445454,"sys": {"type": 1,"id": 9609,"country": "CN","sunrise": 1748379012,"sunset": 1748432008},"timezone": 28800,"id": 1816670,"name": "Beijing","cod": 200
}

那我们对应的mcp server代码如下

import json
import httpx
from typing import Any
from mcp.server.fastmcp import FastMCP# 初始化 MCP 服务器
mcp = FastMCP("WeatherServer")# OpenWeather API 配置
OPENWEATHER_API_BASE = "https://api.openweathermap.org/data/2.5/weather"
API_KEY = "xxxxx"  # 请替换为你自己的 OpenWeather API Key
USER_AGENT = "weather-app/1.0"async def fetch_weather(city: str) -> dict[str, Any] | None:"""从 OpenWeather API 获取天气信息。:param city: 城市名称(需使用英文,如 Beijing):return: 天气数据字典;若出错返回包含 error 信息的字典"""params = {"q": city,"appid": API_KEY}headers = {"User-Agent": USER_AGENT}async with httpx.AsyncClient() as client:try:response = await client.get(OPENWEATHER_API_BASE, params=params, headers=headers, timeout=30.0)response.raise_for_status()return response.json()  # 返回字典类型except httpx.HTTPStatusError as e:return {"error": f"HTTP 错误: {e.response.status_code}"}except Exception as e:return {"error": f"请求失败: {str(e)}"}def format_weather(data: dict[str, Any] | str) -> str:"""将天气数据格式化为易读文本。:param data: 天气数据(可以是字典或 JSON 字符串):return: 格式化后的天气信息字符串"""# 如果传入的是字符串,则先转换为字典if isinstance(data, str):try:data = json.loads(data)except Exception as e:return f"无法解析天气数据: {e}"# 如果数据中包含错误信息,直接返回错误提示if "error" in data:return f"⚠️ {data['error']}"# 提取数据时做容错处理city = data.get("name", "未知")country = data.get("sys", {}).get("country", "未知")temp = data.get("main", {}).get("temp", "N/A")humidity = data.get("main", {}).get("humidity", "N/A")wind_speed = data.get("wind", {}).get("speed", "N/A")# weather 可能为空列表,因此用 [0] 前先提供默认字典weather_list = data.get("weather", [{}])description = weather_list[0].get("description", "未知")return (f"🌍 {city}, {country}\n"f"🌡 温度: {temp}°C\n"f"💧 湿度: {humidity}%\n"f"🌬 风速: {wind_speed} m/s\n"f"🌤 天气: {description}\n")@mcp.tool()
async def query_weather(city: str) -> str:"""输入指定城市的英文名称,返回今日天气查询结果。:param city: 城市名称(需使用英文):return: 格式化后的天气信息"""data = await fetch_weather(city)return format_weather(data)if __name__ == "__main__":# 以标准 I/O 方式运行 MCP 服务器mcp.run()

结果如下
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/wzjs/536031.html

相关文章:

  • 建设网站哪家比较好新桥网站建设培训
  • 北京网站关键词优化公庐山网站建设
  • 网站建设项目需求说明高碑店网站建设价格
  • 网站301跳转代码怎么让百度快速收录网站
  • 做网站需要学多久中小企业加盟网站建设
  • 如何看网站有没有收录腾讯视频wordpress
  • 品牌型网站设计推荐外贸平台app下载
  • 珠宝品牌网站设计产品展示型网站有哪些
  • 网站设计建设流程电影资源分享网站怎么做的
  • 扁平化网站建设公司自己做网站怎么上传
  • 长治一般建一个网站需要多少钱wordpress后台菜单管理
  • 宁波装修公司网站制作东营seo网站推广
  • 郑州的建设网站有哪些手续做网站好还是做淘宝好
  • 上小学网站建设太仓广告设计公司网站
  • 电热设备网站建设南昌网站建设公司价位
  • 网站建设价格组成公司常用网站开发软件
  • 做网站续费要多少钱松岗网站建设
  • 做白酒用哪个分类信息网站网站敏感目录漏洞修复
  • 摄影瀑布流网站模板广州网站定制商家
  • 描述建设网站的步骤小叮当网站建设
  • 河北省建设局网站材料备案wordpress修改作者
  • 建设中小企业网站微信网站协议书
  • 发布网站域名设置网络营销心得体会300字
  • 网站优化公司方案网站建设及管理使用情况汇报
  • 网站模板怎么导入郑州购物网站建设
  • 成都高端网站系统开发的特点有
  • 网站建设方案书一定要有吗网站建设中图片联系方式
  • 微网站怎么做的好百度推广建设网站是不是合发
  • 东莞饰品网站建设wordpress 版微信小程序
  • 中国数学外国人做视频网站仿唯品会wordpress商城主题