天气数据服务

一个基于Model Context Protocol (MCP)的天气数据服务,提供全球任意地点的实时天气信息,包括温度、风速等数据。

  • by SiddiqshaA
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 SiddiqshaA/weather_mcp_server

使用说明

天气MCP服务器

一个使用Open-Meteo API提供天气信息的模型上下文协议(MCP)服务器。

特点/功能

  • 获取全球任何地点的当前天气
  • 通过地理编码支持城市名称
  • 返回温度、风速和时间戳
  • 基于FastMCP框架构建

安装

  1. 克隆仓库:
git clone https://github.com/SiddiqshaA/weather_mcp_server.git
cd weather_mcp_server
  1. 创建并激活虚拟环境:
python -m venv .venv
# On Windows
.venv\Scripts\activate
# On macOS/Linux
source .venv/bin/activate
  1. 安装依赖项:
pip install -r requirements.txt

使用方法

运行MCP服务器:

python weather.py

服务器将启动并暴露一个 get_weather 一个接受位置参数的工具。

API

获取天气信息(location: str)

获取指定位置的当前天气信息。

参数:

  • location (字符串): 城市名称或地点,用于获取天气信息

返回值:

  • 包含以下内容的字典:
    • location查询的位置
    • latitude纬度坐标
    • longitude经度坐标
    • temperature当前温度(摄氏度)
    • windspeed风速(公里/小时)
    • time天气数据的时间戳

示例回复:

{
  "location": "London",
  "latitude": 51.5074,
  "longitude": -0.1278,
  "temperature": "15.5 °C",
  "windspeed": "12.3 km/h",
  "time": "2025-10-15T12:00"
}

依赖项

  • fastmcp用于构建MCP服务器的FastMCP框架
  • httpx用于API请求的异步HTTP客户端

数据源

这个项目使用了 Open-Meteo API(开放气象API),一个无需认证的免费天气API。

许可证

麻省理工学院许可证(MIT License)