Token导航 LogoToken导航TokenDH.com
MCP WeatherServer logo
地图位置stdio官方级别未说明来源级核验

MCP WeatherServer

MCP Server

一个功能丰富的MCP服务器,通过NWS公共API提供全面的天气数据,包括输入验证、错误处理、地理编码和独特的天气比较功能。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
位置天气地理编码Python实时天气

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

zayedansari2

提供方

zayedansari2

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run main.py

详细介绍

天气--增强型MCP天气服务器

一个功能丰富的MCP(模型上下文协议)服务器,使用NWS(国家气象局)公共API提供全面的天气数据。包括输入验证、错误处理、地理编码和独特的天气比较功能。

快速开始

  1. 安装uv(macOS/Linux):
curl -LsSf https://astral.sh/uv/install.sh | sh
# restart your terminal
  1. 创建项目、venv并安装deps:
uv init weather
cd weather
uv venv
source .venv/bin/activate
uv add "mcp[cli]" httpx
  1. 运行服务器:
uv run main.py
# or
uv run weather.py

可用工具

服务器提供以下MCP工具:

1. get_alerts(state: str)

获取美国某个州的活跃天气警报。

  • 输入:两个字母的美国州代码(例如,“CA”、“NY”、“TX”)
  • 特性:验证状态代码,提供详细的警报信息

2. get_forecast(latitude: float, longitude: float)

使用坐标获取某个位置的详细天气预报。

  • 输入:纬度(-90至90)和经度(-180至180)
  • 特性:10期预报(5天),包括湿度和降水概率

3. get_forecast_by_city(city_name: str)

按城市名称获取天气预报(无需坐标!)。

  • 输入:城市名称(例如,“旧金山”、“纽约”、“芝加哥”)
  • 特性:自动地理编码,适用于城市名称

4. get_current_conditions(latitude: float, longitude: float)

获取实时当前天气状况。

  • 输入:纬度和经度
  • 特性:温度、湿度、风、压力、能见度等

5. compare_weather(location1: str, location2: str)

并排比较两个地点的天气状况。

  • 输入:两个地点(城市名称或“lat,lon”格式)
  • 特性:并排比较,温差分析,支持城市名称和坐标

特性

  • 输入验证:验证状态代码和坐标范围
  • 更好的错误处理:具体、有用的错误消息
  • 地理编码支持:使用Open-Meteo地理编码API按城市名称搜索
  • 当前状况:实时天气观测
  • 增强预测:更详细的信息,包括湿度和降水量
  • 天气比较:比较两个位置的独特功能
  • 位置检测:自动检测并显示城市/州名称

文件

  • weather.py --使用所有工具实现主MCP服务器
  • main.py --导入和运行服务器的入口点

备注

  • Python 3.11+ 必需(参见 pyproject.toml)
  • NWS覆盖范围:NWS API仅涵盖美国领土。国际地点将不起作用。
  • 运输:服务器默认使用stdio传输
  • MCP客户端:使用克劳德桌面, mcp CLI或其他MCP客户端进行连接
  • 地理编码:城市名称搜索使用Open-Meteo的免费地理编码API(无需API密钥)

示例用法

连接到MCP客户端后,您可以使用以下工具:

# Get alerts for California
get_alerts("CA")

# Get forecast by city name
get_forecast_by_city("San Francisco")

# Get current conditions
get_current_conditions(37.7749, -122.4194)

# Compare weather between two cities
compare_weather("New York", "Los Angeles")

许可证

Apache许可证2.0——请参阅 LICENSE.替换中的占位符年份/名称 LICENSE 如果需要的话。

______________________________________________________________________

目录标签

目录标签

位置天气地理编码Python实时天气天气数据本地部署天气预报天气比较

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP