天气数据服务

提供基于OpenWeather和AccuWeather API的5天天气预报数据访问服务。

  • by divakargoel
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 divakargoel/mcp-servers

使用说明

气象MCP服务器

该存储库包含MCP(模型上下文协议)服务器,用于访问来自两个不同提供商的天气预报数据:

  • OpenWeather API
  • AccuWeather API

当提供城市和国家时,每台服务器都提供工具来获取5天的天气预报。

需求

  • Python 3.8+
  • 所需套餐:
    • mcp (模型上下文协议)
    • pydantic
    • requests

安装依赖项:

pip install mcp pydantic requests

配置

API密钥可以通过两种方式设置:

  1. 环境变量(推荐):

    # For OpenWeather API
    export OPENWEATHER_API_KEY="your_openweather_api_key"
    
    # For AccuWeather API
    export ACCUWEATHER_API_KEY="your_accuweather_api_key"
    
  2. 编辑 weather_config.py 并添加您的API密钥:

    OPENWEATHER_API_KEY = "your_openweather_api_key"
    ACCUWEATHER_API_KEY = "your_accuweather_api_key"
    

运行服务器

OpenWeather MCP服务器

python openweather_mcp_server.py

此服务器提供:

  • get_forecast:获取指定城市和国家的5天天气预报

AccuWeather MCP服务器

python accuweather_mcp_server.py

此服务器提供:

  • get_forecast:获取指定城市和国家的5天天气预报

使用MCP服务器

一旦服务器运行,它将使用MCP协议通过标准输入/输出进行通信。服务器可以连接到任何MCP客户端。每台服务器都提供 get_forecast 接受以下参数的工具:

  • city:城市名称(例如“伦敦”、“纽约”、“东京”)
  • country:国家代码或名称(可选,但建议更准确)
  • api_key:API密钥(如果已通过环境变量或配置文件配置,则为可选)

响应结构示例

服务器返回结构化天气数据,包括:

  • 城市和国家信息
  • 地理坐标
  • 每日预测包括:
    • 温度(最低、最高)
    • 天气情况
    • 湿度和风信息
    • 降水数据

备注

  • 服务器将所有温度数据转换为摄氏度以保持一致性
  • 预测提供了5天的数据,包括当天
  • AccuWeather API响应包括特定于白天和夜晚的预报
  • OpenWeather API提供更频繁的预测更新(每隔几个小时)