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

smithery badge

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 TypeScript
  • npm run dev: Modo de desarrollo con watch
  • npm start: Ejecutar el servidor compilado

Añadir Nuevas Funcionalidades

El servidor está estructurado de forma modular. Para añadir nueva funcionalidad:

  1. Añadir nueva herramienta en setupToolHandlers()
  2. Implementar el método correspondiente
  3. Definir interfaces TypeScript si es necesario
  4. 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:

  1. Haz fork del proyecto
  2. Crea una rama para tu funcionalidad
  3. Haz commit de tus cambios
  4. Haz push a la rama
  5. Abre un Pull Request

📞 Soporte

Si encuentras problemas:

  1. Verifica que todos los archivos estén en la ubicación correcta
  2. Confirma que las dependencias se hayan instalado
  3. Verifica el archivo de configuración de Claude Desktop
  4. Consulta los registros de error de Claude Desktop

🔗 Enlaces Útiles