天气数据服务

一个基于Open-Meteo API的天气数据服务,通过Model Context Protocol (MCP)为语言模型提供实时天气、空气质量及海洋条件数据。

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

使用说明

🌐 使用Open-Meteo API的MCP天气代理服务器

该项目实现了 模型上下文协议(MCP) 服务器使用Python通过 开放式API 一套。

根据以下内容构建 MCP上的LinkedIn学习课程,该项目演示了如何公开基于API的工具,LLM可以调用这些工具来获取实时天气情报。


✨ 特性

  • 🔧 通过MCP暴露于LLM的工具:

    • get_current_weather:按纬度和经度显示的实时天气状况
    • get_forecast:每日温度、降水量和天气代码
    • search_locations:从地名中搜索坐标的地理编码工具
    • get_air_quality:污染和大气质量指标
    • get_marine_weather:沿海/海洋地区的海洋和涌浪数据
  • ⚙️ 与 mcp Python SDK使用 FastMCP

  • 📡 用途 httpx 用于异步API调用

  • 🧠 通过Claude Desktop或兼容的MCP客户端进行LLM代理交互


🚀 入门指南

🔧 需求

  • Python 3.10+
  • uv -快速依赖管理器(推荐)
  • Claude Desktop(用于代理测试)

🛠️ 安装说明

# 1. Clone this repository
git clone https://github.com/ShishirPathak/mcp-weather-server.git
cd mcp-weather-server

# 2. Initialize project with uv (or use pip if preferred)
uv venv
source .venv/bin/activate
uv pip install "mcp[cli]" httpx

# 3. Run the MCP server
mcp dev server.py