mcpField
W
Weather MCP Server

Weather MCP Server

本地服务
github.com/sirrupesh媒体与设计077 周前更新

关于 Weather MCP Server

Weather MCP Server 通过 National Weather Service API 提供美国天气警报和按位置查询的预报,供需要天气数据的 MCP 客户端使用,并支持 Docker 部署。

主要功能

  1. 01获取美国各州天气警报
  2. 02按经纬度查询预报
  3. 03使用 National Weather Service API
  4. 04支持 Docker 部署

适用场景

  1. 01查看美国某州的有效警报
  2. 02获取指定坐标的天气预报
  3. 03向 MCP 客户端提供天气数据

MCP 相关

向 MCP 客户端提供工具,可通过 National Weather Service API 按美国州查询有效警报,或按经纬度获取预报。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Weather MCP Server

一个基于模型上下文协议(MCP)的服务器,通过美国国家气象局(NWS)API 提供天气信息和预警。

功能

  • 获取美国任意州的天气预警
  • 使用纬度和经度获取任意地点的详细天气预报
  • 易于使用的 MCP 接口
  • 支持 Docker,便于部署

前提条件

  • Python 3.13 或更高版本
  • Docker 和 Docker Compose(用于容器化部署)

安装

本地开发
  1. 克隆仓库
  2. 使用 uv 安装依赖:
    pip install uv
    uv venv
    uv pip install .
    uv run src/main.py
    
Docker 部署

使用 Docker Compose 构建并运行服务器即可:

docker compose up -d

服务器端点将在 http://localhost:8001/sse 提供。

可用工具

get_alerts(state: str)

获取美国某个州当前生效的天气预警。

参数:

  • state:美国州的两字母代码(例如,加利福尼亚州为 "CA",纽约州为 "NY")
get_forecast(latitude: float, longitude: float)

获取特定地点的详细天气预报。

参数:

  • latitude:地点的纬度
  • longitude:地点的经度

开发

项目使用 Docker 卷进行开发,无需重新构建容器即可反映代码更改。源代码挂载在容器中的 /app/src。

技术详情

  • 使用 Python 的 MCP 框架构建
  • 使用 httpx 发送异步 HTTP 请求
  • 实现完善的错误处理和请求超时
  • 使用 uv 管理依赖
  • 使用 Docker 容器化,便于部署

环境变量

  • PYTHONUNBUFFERED=1:确保 Python 输出不经缓冲,直接发送到终端

端口

服务器在容器内运行于端口 8000,并映射到主机上的端口 8001。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。