天气服务

一个基于Python和FastMCP的天气服务,提供当前天气状况和预报功能,使用Open-Meteo API获取数据。

  • by justinianstefan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 justinianstefan/mcp-server-weather

使用说明

MCP气象服务器

使用FastMCP构建的基于Python的天气服务,使用Open-Meteo API提供当前天气状况和预报。

特性

  • 获取任何位置的当前天气状况
  • 检索天气预报和详细的每日信息
  • 基于FastMCP构建,便于与基于MCP的应用程序集成
  • 使用Open-Meteo API获取可靠的天气数据

先决条件

  • Python 3.10或更高版本
  • pip或uv包管理器

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/mcp-server-weather.git
cd mcp-server-weather
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # On Windows, use `.venv\Scripts\activate`
  1. 安装依赖项:
pip install -e .

用法

服务器提供两个主要工具:

获取当前天气

await get_current_weather(latitude: float, longitude: float)

返回当前天气状况,包括:

  • 温度
  • 降水
  • 风速与风向
  • 云量
  • 湿度
  • 压力
  • 还有更多

获取预测

await get_forecast(latitude: float, longitude: float)

返回每日预测,包括:

  • 最高和最低温度
  • 降水
  • 天气代码
  • 每日总结

API集成

服务器使用Open-Meteo API(https://open-meteo.com/)以获取天气数据。不需要API密钥。

发展

该项目使用:

  • FastMCP用于服务器实施
  • httpx用于异步HTTP请求
  • Python类型提示提高代码质量

许可证

MIT许可证

贡献

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