mcpField
W
Weather MCP Server

Weather MCP Server

本地服务
github.com/Jai-Keshav-Sharma媒体与设计078 周前更新

关于 Weather MCP Server

Weather MCP Server 使用 National Weather Service API 提供美国各州的天气预警,面向 MCP 客户端使用。它支持 stdio 和 SSE 传输,并附带带对话记忆的 LLM 命令行客户端。

主要功能

  1. 01查询美国州级天气预警
  2. 02支持 stdio 或 SSE 传输
  3. 03通过 Docker 容器运行
  4. 04集成 Claude Desktop 和 Cursor IDE
  5. 05带对话记忆的 LLM 命令行客户端

适用场景

  1. 01查询美国某州的天气预警
  2. 02将天气预警接入 Claude Desktop 或 Cursor IDE
  3. 03使用带对话记忆的 LLM 命令行客户端

MCP 相关

提供 get_alerts 工具,用于查询指定美国州的天气预警。服务支持 stdio 和 SSE 传输。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"Creating-Weather-MCP-Server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"pull"
]
}
}
}
启动命令docker run -i --rm pull

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocipull

工具

还没有获取到工具列表

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

详细介绍

Weather MCP Server

一个使用 MCP Python SDK 构建的模型上下文协议(MCP)服务实现,可提供美国各州的天气预警。本项目演示了如何创建包含工具、资源和 Docker 集成的 MCP 服务。

MCP SDK Docker License

功能

  • 使用 National Weather Service API 获取美国各州的天气预警
  • 支持 stdio 和 SSE(服务器发送事件)两种传输方式
  • Docker 容器化
  • 与 Claude Desktop 和 Cursor IDE 集成
  • 使用 Groq 的大模型驱动命令行客户端
  • 内置对话记忆支持

项目结构

Creating-MCP-server/
├── server/
│   ├── weather.py        # Main MCP server implementation
│   ├── client.py         # LLM-powered CLI client
│   └── weather.json      # Server configuration
├── mcpserver/
│   ├── Dockerfile        # Docker configuration
│   ├── requirements.txt  # Python dependencies
│   ├── client-stdio.py   # Standard I/O client example
│   ├── client-sse.py     # SSE client example
│   └── server.py         # Containerized server

安装

本地设置
  1. 克隆代码仓库:
git clone <repository-url>
cd Creating-MCP-server
  1. 安装依赖:
pip install -r mcpserver/requirements.txt
Docker 设置

拉取预构建镜像:

docker pull ksharma9719/weather-mcp-server

或在本地构建:

cd mcpserver
docker build -t weather-mcp-server .

使用方法

运行服务
本地开发
cd server
python weather.py
使用 Docker
docker run -p 8000:8000 ksharma9719/weather-mcp-server
客户端示例
集成大模型的命令行客户端
cd server
python client.py
标准输入/输出客户端
cd mcpserver
python client-stdio.py
SSE 客户端
cd mcpserver
python client-sse.py

可用工具

get_alerts

获取美国某个州的天气预警。

参数:

  • state:美国州的两字母代码(例如 CA、TX、NY)

示例:

result = await session.call_tool("get_alerts", arguments={"state": "CA"})

与 Claude Desktop 集成

  1. 在 Claude Desktop 中安装该服务:
mcp install weather.py
  1. 可选:指定自定义名称:
mcp install weather.py --name "Weather Alerts Server"

开发

先决条件
  • Python 3.11 或更高版本
  • uv 包管理器
  • Docker(可选)
环境变量

在服务目录中创建 .env 文件:

GROQ_API_KEY=your_groq_api_key

文档

贡献

  1. Fork 代码仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 创建 Pull Request

许可证

本项目采用 MIT 许可证授权——详情请参阅 LICENSE 文件。

致谢

  • 感谢 Model Context Protocol 团队提供出色的 SDK
  • 感谢 National Weather Service 提供公共 API
  • 感谢 Groq 提供大模型 API

评论

支持 Markdown

第一次接触 MCP?

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

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