UNPKG

mcp-server-clima

Version:

MCP server para información del clima

174 lines (144 loc) 3.58 kB
# MCP Server de Clima Este es un servidor MCP (Model Context Protocol) que proporciona información meteorológica actual y pronósticos. ## Herramientas 1. `get_weather` - Obtiene el clima actual para una ubicación específica - Entrada requerida: `location` (string) - Ciudad y país (ej. "Madrid,ES") - Entradas opcionales: - `units` (string) - Unidades de temperatura ("metric", "imperial", "standard") 2. `get_forecast` - Obtiene el pronóstico del clima para los próximos días - Entrada requerida: `location` (string) - Ciudad y país (ej. "Madrid,ES") - Entradas opcionales: - `days` (number) - Número de días para el pronóstico (máximo 5) - `units` (string) - Unidades de temperatura ("metric", "imperial", "standard") ## Características - Conexión a la API de OpenWeatherMap - Formateo de datos para mejor legibilidad - Soporte para diferentes unidades de temperatura - Manejo de errores robusto ## Configuración Antes de usar este servidor MCP, necesitas: 1. Obtener una API key de [OpenWeatherMap](https://openweathermap.org/api) 2. Actualizar la constante `API_KEY` en el archivo `index.ts` con tu clave ## Instalación ### Requisitos previos - Node.js (versión 14 o superior) - npm ### Pasos de instalación 1. Clona este repositorio 2. Instala las dependencias: ```bash npm install ``` 3. Construye el proyecto: ```bash npm run build ``` ### Instalación en Claude Desktop 1. Ve a: Configuración > Desarrollador > Editar Configuración 2. Añade lo siguiente a tu archivo `claude_desktop_config.json`: ```json { "mcpServers": { "clima": { "command": "npx", "args": [ "-y", "mcp-server-clima" ] } } } ``` 3. Reinicia Claude Desktop ### Instalación mediante npm Una vez publicado el paquete en npm, puedes utilizar la siguiente configuración: ```json { "mcpServers": { "clima": { "command": "npx", "args": [ "-y", "mcp-server-clima" ] } } } ``` ## Uso Una vez instalado, puedes pedirle a Claude que use las herramientas del servidor MCP de clima: - "¿Puedes decirme el clima actual en Barcelona, España?" - "Muestra el pronóstico para los próximos 3 días en Nueva York" ## Ejemplos de respuestas ### Clima actual ```json { "location": { "name": "Barcelona", "country": "ES", "coordinates": { "lat": 41.3888, "lon": 2.159 } }, "current": { "temperature": 18.5, "feels_like": 17.9, "humidity": 68, "pressure": 1015, "description": "cielo despejado", "icon": "01d" }, "wind": { "speed": 3.6, "direction": 220 }, "sun": { "sunrise": "7:12:45 AM", "sunset": "7:48:23 PM" }, "units": "metric" } ``` ### Pronóstico ```json { "location": { "name": "New York", "country": "US", "coordinates": { "lat": 40.7143, "lon": -74.006 } }, "forecast": [ { "date": "2025-04-05", "forecasts": [ { "time": "3:00:00 PM", "temperature": 15.2, "weather": { "main": "Clear", "description": "cielo despejado", "icon": "01d" }, "wind": { "speed": 4.1, "direction": 250 }, "humidity": 45, "pressure": 1018 }, // Más pronósticos para este día... ] }, // Más días... ], "units": "metric" } ``` ## Licencia Este proyecto está bajo la Licencia MIT.