IPMA MCP Server
Accede a datos meteorológicos de Portugal desde la API pública de IPMA usando lenguaje natural.
Documentación
IPMA MCP Server
Un servidor MCP (Model Context Protocol) que proporciona acceso a los datos meteorológicos del IPMA (Instituto Portugués del Mar y de la Atmósfera) mediante lenguaje natural.
🌟 Funcionalidades
- Previsión Meteorológica: Obtener previsiones para cualquier ciudad de Portugal
- Avisos Meteorológicos: Consultar avisos activos en tiempo real
- Datos Sísmicos: Acceder a información sobre terremotos recientes
- Estaciones Meteorológicas: Observaciones en tiempo real de las estaciones del IPMA
- Índice UV: Previsiones del índice ultravioleta
- Listado de Lugares: Ver todas las ciudades disponibles
🚀 Instalación y Configuración
Instalación mediante Smithery
Para instalar ipma-mcp-server para Claude Desktop automáticamente mediante Smithery:
npx -y @smithery/cli install @DiogoAzevedo03/ipma-mcp-server --client claude
1. Clonar e Instalar Dependencias
# Criar diretório do projeto
mkdir ipma-mcp-server
cd ipma-mcp-server
# Copiar os arquivos (index.ts, package.json, tsconfig.json)
# Criar estrutura de diretórios
mkdir src
# Mover index.ts para src/index.ts
# Instalar dependências
npm install
2. Compilar el Proyecto
npm run build
3. Configurar en Claude Desktop
Editar el archivo de configuración de Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
Añadir la configuración:
{
"mcpServers": {
"ipma-weather": {
"command": "node",
"args": ["/caminho/completo/para/ipma-mcp-server/build/index.js"],
"env": {}
}
}
}
4. Reiniciar Claude Desktop
Después de guardar la configuración, reinicie Claude Desktop.
🛠️ Herramientas Disponibles
get_weather_forecast
Obtener previsión meteorológica para una ciudad específica.
Parámetros:
city(obligatorio): Nombre de la ciudad (ej: "Lisboa", "Porto", "Coimbra")days(opcional): Número de días de previsión (predeterminado: 5, máximo: 10)
Ejemplo de uso:
Qual é a previsão do tempo para Lisboa nos próximos 3 dias?
get_weather_warnings
Obtener avisos meteorológicos activos en Portugal.
Ejemplo de uso:
Há algum aviso meteorológico ativo?
get_seismic_data
Obtener datos sísmicos recientes.
Parámetros:
area(opcional): "continent", "azores", "madeira" o "all" (predeterminado: "all")
Ejemplo de uso:
Mostra-me os terramotos recentes nos Açores
get_locations
Listar todas las ciudades/lugares disponibles para previsión.
Ejemplo de uso:
Quais cidades posso consultar a previsão do tempo?
get_weather_stations
Obtener datos de observación de las estaciones meteorológicas.
Ejemplo de uso:
Quais são as condições meteorológicas atuais nas estações?
get_uv_forecast
Obtener previsión del índice UV.
Ejemplo de uso:
Qual é a previsão do índice UV para hoje?
📊 Ejemplos de Uso
Después de configurar el servidor, puede hacer preguntas como:
- "¿Cuál es la previsión del tiempo para Oporto esta semana?"
- "¿Hay avisos de lluvia fuerte para hoy?"
- "Muéstrame los terremotos recientes en Portugal"
- "¿Cuál es el índice UV previsto para Lisboa?"
- "¿Qué temperatura hace en las estaciones meteorológicas?"
🔧 Desarrollo
Estructura del Proyecto
ipma-mcp-server/
├── src/
│ └── index.ts # Código principal do servidor
├── build/ # Código compilado
├── package.json # Dependências e scripts
├── tsconfig.json # Configuração TypeScript
└── README.md # Este arquivo
Scripts Disponibles
npm run build: Compilar TypeScriptnpm run dev: Modo de desarrollo con watchnpm start: Ejecutar el servidor compilado
Añadir Nuevas Funcionalidades
El servidor está estructurado de forma modular. Para añadir nueva funcionalidad:
- Añadir nueva herramienta en
setupToolHandlers() - Implementar el método correspondiente
- Definir interfaces TypeScript si es necesario
- Recompilar y probar
📡 API IPMA
Este servidor utiliza la API pública del IPMA. Principales endpoints utilizados:
- Previsiones meteorológicas por ciudad
- Avisos meteorológicos
- Datos sísmicos
- Observaciones de las estaciones
- Índice UV
- Lista de lugares disponibles
⚠️ Consideraciones
- La API del IPMA es gratuita pero requiere uso responsable
- Los datos se actualizan por el IPMA dos veces al día (00UTC y 12UTC)
- Todas las horas son en UTC
- Para uso comercial, contactar con el IPMA en webmaster@ipma.pt
📝 Licencia
MIT License
🤝 Contribución
¡Las contribuciones son bienvenidas! Por favor:
- Haz fork del proyecto
- Crea una rama para tu funcionalidad
- Haz commit de tus cambios
- Haz push a la rama
- Abre un Pull Request
📞 Soporte
Si encuentras problemas:
- Verifica que todos los archivos estén en la ubicación correcta
- Confirma que las dependencias se hayan instalado
- Verifica el archivo de configuración de Claude Desktop
- Consulta los registros de error de Claude Desktop