mcp-server-clima
Version:
MCP server para información del clima
174 lines (144 loc) • 3.58 kB
Markdown
# 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.