Servidor meteorológico MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona previsiones meteorológicas horarias y diarias utilizando la API de AccuWeather.
Inicio rápido
Necesitas una clave API de AccuWeather (nivel gratuito disponible).
Regístrese aquí y cree una aplicación para obtener su clave.
Exporte su clave API como una variable de entorno:
export ACCUWEATHER_API_KEY=su_clave_api_aquí
A continuación, ejecute el servidor MCP Weather directamente con:
npx -y @timlukahorstmann/mcp-weather
O, para el acceso HTTP/REST a través de supergateway:
npx -y supergateway --stdio "npx -y @timlukahorstmann/mcp-weather" \ --port 4004 \ --baseUrl http://127.0.0.1:4004 \ --ssePath /messages \ --messagePath /message \ --cors "*" \ --env ACCUWEATHER_API_KEY="$ACCUWEATHER_API_KEY"
Ejemplo de configuración del servidor MCP
Para la integración con Claude Desktop u otros clientes compatibles con MCP, añada esto a su config (por ejemplo, claude_desktop_config.json
):
{ "mcpServers": { "tiempo": { "command": "npx", "args": ["-y", "@timlukahorstmann/mcp-weather"], "env": {"ACCUWEATHER_API_KEY": "your_api_key_here" } } }
Visión general
Este servidor MCP permite a grandes modelos lingüísticos (como Claude) acceder a datos meteorológicos en tiempo real. Cuando se integra con un LLM, permite al modelo:
- Obtener previsiones meteorológicas precisas y actualizadas
- Proporcionar datos meteorológicos cada hora para las 12 horas siguientes
- Acceder a previsiones meteorológicas diarias de hasta 15 días
- Mostrar los datos en unidades métricas (°C) e imperiales (°F)
- Visualizar la temperatura, las condiciones, la información sobre precipitaciones y otros detalles meteorológicos
Herramientas disponibles
Previsión del tiempo por horas
- Nombre de la herramienta:
weather-get_hourly
- Proporciona previsiones horarias para las próximas 12 horas
- Parámetros
localidad
(obligatorio): Ciudad o nombre de la localidadunidades
(opcional): "métricas" (Celsius, por defecto) o "imperiales" (Fahrenheit)
Previsión meteorológica diaria
- Nombre de la herramienta:
weather-get_daily
- Proporciona previsiones diarias para un máximo de 15 días
- Parámetros
ubicación
(obligatorio): Ciudad o nombre de la localidaddías
(opcional): Número de días de previsión (1, 5, 10 o 15; por defecto 5)unidades
(opcional): "métricas" (Celsius, por defecto) o "imperiales" (Fahrenheit)
Requisitos previos
- Node.js ≥18
- Una clave API de AccuWeather (configurada a través de
.env
o tu shell)
Configurar
Clona este repositorio:
git clone https://github.com/TimLukaHorstmann/mcp-weather.git cd mcp-weather
Instale las dependencias:
npm install
Obtén una clave API de AccuWeather:
- Registrarse en la API de AccuWeather
- Crear una nueva app y obtener una clave API
Crea un archivo
.env
con tu clave API:ACCUWEATHER_API_KEY=tu_clave_api_aquí
Construye el proyecto:
npm run build
Uso con Claude Desktop
Configure Claude Desktop para utilizar este servidor MCP:
- Abra Claude Desktop
- Vaya a Configuración > Desarrollador > Editar configuración
- Añade lo siguiente a tu
claude_desktop_config.json
:
{ "mcpServers": { "tiempo": { "command": "npx", "args": ["-y", "@timlukahorstmann/mcp-weather"], "env": {"ACCUWEATHER_API_KEY": "your_api_key_here" } } }
Reinicie Claude Desktop
En una nueva conversación, habilita el servidor MCP haciendo clic en el icono del enchufe y seleccionando "weather"
Ahora puedes preguntar a Claude por las previsiones meteorológicas, como por ejemplo
- "¿Cuál es la previsión meteorológica por horas para la ciudad de Nueva York?"
- "Dame la previsión a 5 días para Londres"
- "¿Qué tiempo hará en Tokio esta semana en grados Fahrenheit?
- "¿Lloverá mañana en San Francisco?"
Desarrollo
- Instala las dependencias de desarrollo:
npm install
- Limpia tu código:
npm run lint
- Construir:
npm run build
- Ejecutar pruebas:
npm test
- Iniciar en modo dev:
npm run dev
Contribuir
¡Las contribuciones son bienvenidas! No dudes en enviar una Pull Request.
Futuras mejoras
Siempre estamos buscando mejorar el Servidor Meteorológico MCP. Estas son algunas de las características que estamos considerando para futuras versiones:
- Previsiones horarias ampliadas: Más allá de 12 horas, por ejemplo, 24 o 48 horas.
- Alertas meteorológicas: Integración con la API de alertas de tiempo severo de AccuWeather.
- Autocompletar ubicación: Mejora de la búsqueda por ubicación con sugerencias de autocompletado.
- Datos meteorológicos históricos: Acceso a condiciones meteorológicas pasadas.
Si tienes ideas para otras funciones, ¡no dudes en abrir una incidencia!
Cambios
0.4.0
- Eliminado el requisito
sessionId
de todas las herramientas ya que no se utilizaba para nada internamente - Esto simplifica las integraciones y reduce la confusión en el uso de LLM
0.3.0 y anteriores
- Versiones iniciales con funcionalidad básica
Licencia
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.