Token导航 LogoToken导航TokenDH.com
Py Weather logo
AI代理stdio官方级别未说明来源级核验

Py Weather

MCP Server

一个使用OpenWeatherMap API提供天气信息的MCP服务器,集成了LangGraph和Google的Gemini AI,适用于需要实时天气数据和AI交互的应用场景。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
位置天气PythonAI交互实时数据

安装说明

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

作者 / 组织

ivintoiu

提供方

ivintoiu

最后核验

2026/5/17 20:20

运行时

Python

快速接入

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

命令预览

python -m weathermcp.client

详细介绍

气象MCP服务器

模型上下文协议(MCP)服务器,使用OpenWeatherMap API提供天气信息,与LangGraph和Google的Gemini AI集成。 注:基于education.io“掌握MCP:构建高级代理应用程序”

特性

  • 获取全球任何地点的当前天气信息
  • 对话式AI界面由谷歌Gemini 2.5 Flash提供支持
  • 可扩展性的MCP服务器/客户端架构
  • 实时天气数据,包括温度、湿度和风速
  • 使用MCP提示模板比较两个城市的天气

先决条件

安装

  1. 克隆存储库:
   git clone https://github.com/ivintoiu/py-weather-mcp.git
   cd py-weather-mcp
  1. 安装软件包和依赖项:
   uv sync
   uv pip install -e .
  1. 设置环境变量:

复制示例环境文件:

   cp .env.example .env
  1. 将API密钥添加到 .env:
   OPENWEATHERMAP_API_KEY=your_openweathermap_key_here
   GOOGLE_API_KEY=your_google_api_key_here

用法

选项1:使用已安装的命令(推荐)

安装软件包后,您可以使用CLI命令:

运行交互式客户端:

weathermcp-client

独立运行服务器:

weathermcp-server

选项2:直接使用Python模块

运行交互式客户端:

python -m weathermcp.client

独立运行服务器:

python -m weathermcp.server

使用客户端

客户端运行后,询问有关天气的自然语言问题:

示例查询:

  • “伦敦的天气怎么样?”
  • “日本东京的天气怎么样?”
  • “告诉我纽约的温度”
  • “巴黎在下雨吗?”

命令:

  • /prompts --列出所有可用的提示及其参数
  • /prompt "arg1" "arg2" --运行特定提示(例如。, /prompt compare_weather_prompt "London" "Paris")
  • exit / quit / q --退出客户端

服务器详细信息

服务器在stdio传输上运行,可以与其他MCP客户端集成。

项目结构

  py-weather-mcp/
  ├── src/
  │   └── weathermcp/
  │       ├── __init__.py    # Package initialization
  │       ├── client.py       # LangGraph client with Gemini AI integration
  │       └── server.py       # MCP server with weather tools and prompts
  ├── pyproject.toml         # Project dependencies and configuration
  ├── .env                   # Environment variables (not in version control)
  ├── .env.example          # Example environment file template
  ├── .gitignore            # Git ignore rules
  └── README.md             # This file

运作原理

  1. MCP服务器 (weathermcp/server.py):提供 get_weather 从OpenWeatherMap API获取当前天气数据的工具
  2. MCP客户端 (weathermcp/client.py):

- 连接到MCP服务器 - 使用LangGraph创建会话代理 - 与谷歌的Gemini AI集成,以理解自然语言查询 - 需要时自动调用天气工具

  1. MCP提示:服务器提供可重用的提示模板(例如。, compare_weather_prompt)指示人工智能执行结构化任务,如比较两个城市之间的天气

API响应格式

天气工具以以下格式返回数据:

{
  "location": "London",
  "weather": "clear sky",
  "temperature_celsius": 15,
  "feels_like_celsius": 14,
  "humidity": 72,
  "wind_speed_mps": 3.5
}

错误处理

该应用程序处理各种错误情况:

  • 位置名称无效
  • 身份验证失败
  • 网络超时(10秒超时)
  • API费率限制
  • API响应格式不正确

安全说明

重要提示: 永远不要承诺你的 .env 文件到版本控制。这 .gitignore 文件被配置为排除它。

如果您意外提交了API密钥:

  1. 立即旋转(重新生成)两个API键:

- OpenWeatherMap API密钥 - 谷歌云凭据

  1. 更新您的 .env 使用新密钥的文件

故障排除

问题: “未设置GOOGLE_API_KEY环境变量”

  • 解决方案: 确保您创建了 .env 文件并添加您的Google API密钥

问题: “身份验证失败。API密钥可能无效或处于非活动状态。”

  • 解决方案: 验证您的OpenWeatherMap API密钥是否有效并处于活动状态

问题: “找不到‘CityName’的天气数据”

  • 解决方案: 检查城市名称的拼写。尝试添加国家代码(例如,“英国伦敦”)

贡献

欢迎投稿!请随时提交拉取请求。

许可证

该项目根据MIT许可证获得许可。

致谢

目录标签

目录标签

位置天气PythonAI交互实时数据天气服务本地部署MCP协议多城市比较

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP