MCP Weather Server

Proporciona información meteorológica en tiempo real y pronósticos utilizando la API de OpenWeatherMap.

Documentación

MCP Weather Server

Este es un servidor de información meteorológica basado en el Protocolo de Contexto de Modelo (MCP), que utiliza la API de OpenWeatherMap para proporcionar información meteorológica en tiempo real y pronósticos del tiempo.

Características

  • Obtener información meteorológica actual de una ciudad
  • Obtener pronóstico del tiempo a 5 días para una ciudad
  • Soporte para consultas de nombres de ciudades en chino e inglés
  • Mecanismo completo de manejo de errores
  • Visualización rica de información meteorológica (temperatura, humedad, velocidad del viento, etc.)

Requisitos del sistema

  • Python >= 3.10
  • Clave de API de OpenWeatherMap

Instalación

  1. Asegúrese de tener instalado Python 3.10 o una versión superior
  2. Use el siguiente comando para instalar los paquetes de dependencias:
uv venv
uv pip install -r requirements.txt

Configuración

Configure su clave de API de OpenWeatherMap en mcp.json:

{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": ["--directory", ".", "run", "main.py"],
      "description": "天氣資訊伺服器 - 取得當前天氣和天氣預報",
      "env": {
        "OPENWEATHER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Uso

Ejecutar como servidor MCP

python main.py

Usar con un cliente

python client.py

Referencia de la API

Obtener clima actual

get_current_weather(city: str) -> str
  • Parámetros:
    • city: Nombre de la ciudad (admite chino e inglés)
  • Retorna: Información meteorológica actual formateada

Obtener pronóstico del tiempo

get_weather_forecast(city: str, days: int = 5) -> str
  • Parámetros:
    • city: Nombre de la ciudad (admite chino e inglés)
    • days: Días de pronóstico (1-5 días, por defecto 5 días)
  • Retorna: Información del pronóstico meteorológico formateada

Puntos finales de recursos

  • weather://current/{city} - Obtener el recurso meteorológico actual de una ciudad específica
  • weather://forecast/{city} - Obtener el recurso de pronóstico meteorológico de una ciudad específica
  • weather://api-status - Obtener información del estado de la API

Licencia

Licencia MIT

Contribuciones

¡Bienvenidos a enviar problemas y solicitudes de extracción!

Agradecimientos

Despliegue

Para obtener información detallada sobre el despliegue, consulte la Guía de despliegue.

Métodos de despliegue compatibles:

  • Despliegue directo (entorno Python)
  • Despliegue con Docker
  • Despliegue con Docker Compose
  • Despliegue como servicio del sistema (Linux)