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

莆田网站建设维护总部基地网站建设公司

莆田网站建设维护,总部基地网站建设公司,小红书网站建设目的,广州网站设计公司哪家好uv是一个高性能的Python包管理器,专注于性能提升。与pip相比,uv利用全局模块缓存,减少磁盘空间使用,并支持Linux、Windows和macOS系统。安装uv可以通过多种方式实现,例如使用Homebrew、Pacman、pip等。 step 1 安装uv:…

uv是一个高性能的Python包管理器,专注于性能提升。与pip相比,uv利用全局模块缓存,减少磁盘空间使用,并支持Linux、Windows和macOS系统。安装uv可以通过多种方式实现,例如使用Homebrew、Pacman、pip等。

step 1 安装uv:

        pip install uv

step 2 初始化项目:

          uv init weather

step 3 进入项目目录:

           cd weather

step 4 下载python环境:

           uv add python 3.11

step 5 生成uv虚拟环境:

            uv venv

            source .venv/bin/activate 【For MAC】

           or

            source .venv\Scripts\activate 【For Win】

step 6 切换uv虚拟环境:

          uv python pin 3.11

step 7: 写stdio的MCP Server逻辑 vim weather.py

           

from typing import Any
import httpx
from mcp.server.fastmcp import FastMCP# 初始化 FastMCP 服务器
mcp = FastMCP("weather")NWS_API_BASE = "https://api.weather.gov"
USER_AGENT = "weather-app/1.0"async def make_nws_request(url: str) -> dict[str, Any] | None:"""向 NWS API 发送请求并进行适当的错误处理。"""headers = {"User-Agent": USER_AGENT,"Accept": "application/geo+json"}async with httpx.AsyncClient() as client:try:response = await client.get(url, headers=headers, timeout=30.0)response.raise_for_status()return response.json()except Exception:return Nonedef format_alert(feature: dict) -> str:"""将警报特征格式化为可读字符串。"""props = feature["properties"]return f"""
Event: {props.get('event', 'Unknown')}
Area: {props.get('areaDesc', 'Unknown')}
Severity: {props.get('severity', 'Unknown')}
Description: {props.get('description', 'No description available')}
Instructions: {props.get('instruction', 'No specific instructions provided')}
"""@mcp.tool()
async def get_alerts(state: str) -> str:"""获取美国州的天气警报。Args:state: 美国州的两字母代码(例如 CA, NY)"""url = f"{NWS_API_BASE}/alerts/active/area/{state}"data = await make_nws_request(url)if not data or "features" not in data:return "无法获取警报或未找到警报。"if not data["features"]:return "该州没有活跃警报。"alerts = [format_alert(feature) for feature in data["features"]]return "\n---\n".join(alerts)@mcp.tool()
async def get_forecast(latitude: float, longitude: float) -> str:"""获取某个位置的天气预报。Args:latitude: 位置的纬度longitude: 位置的经度"""# 首先获取预报网格端点points_url = f"{NWS_API_BASE}/points/{latitude},{longitude}"points_data = await make_nws_request(points_url)if not points_data:return "无法获取该位置的预报数据。"# 从 points 响应获取预报 URLforecast_url = points_data["properties"]["forecast"]forecast_data = await make_nws_request(forecast_url)if not forecast_data:return "无法获取详细预报。"# 将周期格式化为可读的预报periods = forecast_data["properties"]["periods"]forecasts = []for period in periods[:5]:  # 仅显示接下来的 5 个周期forecast = f"""
{period['name']}:
Temperature: {period['temperature']}°{period['temperatureUnit']}
Wind: {period['windSpeed']} {period['windDirection']}
Forecast: {period['detailedForecast']}
"""forecasts.append(forecast)return "\n---\n".join(forecasts)if __name__ == "__main__":# 初始化并运行服务器mcp.run(transport='stdio')

step 8: uv run weather.py

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

相关文章:

  • 区域网站查询wordpress 分类页面打开400
  • 忆唐网不做网站做品牌中国关键词官网
  • 铜川做网站php网站说明
  • 域名连接到网站吗如何建立公司网站?
  • 武安网站制作网站建设顺利交付
  • 创业型企业网站模板wordpress转载微博
  • 公司网站建设策划书尚品宅配网站建设
  • 网站免费大全一般做哪些外贸网站
  • 太原做网站深圳模板开发建站
  • 响应式网站做多大的尺寸搜索指数
  • 网站建设找客户渠道城市建设规划网站
  • 公司网站建设需要咨询什么问题专门做鞋的网站
  • 获取网站后台地址建模培训班
  • 做网站的没有进项票怎么办网页颜色搭配案例
  • 响应式电影网站传统网站 手机网站
  • 在哪个网站订酒店做申根签证湘潭市建设网站
  • 山西省建设部网站上海人才服务网官网入口
  • 怎么在vps上做网站成全视频免费观看在线看记忆深处的作文怎么写
  • 模拟登录wordpress河北seo网站设计
  • 夏津网站建设费用沈阳世纪兴网站制作
  • 建设网站的效益分析wordpress猜你喜欢功能
  • 东莞网站优化一般多少钱网站联系方式要素
  • 湖南网站建设大全做网站还赚钱吗
  • 阿里云服务器可以做下载类网站吗字体设计艺术字
  • 潍坊门户网站建设有哪些单页网站
  • 网址模板建站企业网站后台怎么做
  • 广州网站开发十度网络最好什么平台可以做推广
  • 外贸网站推广备案ip 查询网站查询系统
  • 网站需要访客上传图片该怎么做函数自定义wordpress
  • ui培训哪里好seo软文推广工具