IPMA MCP Server
Um servidor MCP (Model Context Protocol) que fornece acesso aos dados meteorológicos do IPMA (Instituto Português do Mar e da Atmosfera) através de linguagem natural.
🌟 Funcionalidades
Previsão Meteorológica: Obter previsões para qualquer cidade de Portugal
Avisos Meteorológicos: Consultar avisos ativos em tempo real
Dados Sísmicos: Aceder a informações sobre terramotos recentes
Estações Meteorológicas: Observações em tempo real das estações do IPMA
Índice UV: Previsões do índice ultravioleta
Listagem de Locais: Ver todas as cidades disponíveis
🚀 Instalação e Configuração
Instalando via Smithery
Para instalar ipma-mcp-server para Claude Desktop automaticamente via Smithery:
1. Clonar e Instalar Dependências
2. Compilar o Projeto
3. Configurar no Claude Desktop
Editar o arquivo de configuração do Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
Adicionar a configuração:
4. Reiniciar o Claude Desktop
Após salvar a configuração, reinicie o Claude Desktop.
🛠️ Ferramentas Disponíveis
get_weather_forecast
Obter previsão meteorológica para uma cidade específica.
Parâmetros:
city(obrigatório): Nome da cidade (ex: "Lisboa", "Porto", "Coimbra")days(opcional): Número de dias de previsão (padrão: 5, máximo: 10)
Exemplo de uso:
get_weather_warnings
Obter avisos meteorológicos ativos em Portugal.
Exemplo de uso:
get_seismic_data
Obter dados sísmicos recentes.
Parâmetros:
area(opcional): "continent", "azores", "madeira", ou "all" (padrão: "all")
Exemplo de uso:
get_locations
Listar todas as cidades/locais disponíveis para previsão.
Exemplo de uso:
get_weather_stations
Obter dados de observação das estações meteorológicas.
Exemplo de uso:
get_uv_forecast
Obter previsão do índice UV.
Exemplo de uso:
📊 Exemplos de Uso
Após configurar o servidor, pode fazer perguntas como:
"Qual é a previsão do tempo para o Porto esta semana?"
"Há avisos de chuva forte para hoje?"
"Mostra-me os terramotos recentes em Portugal"
"Qual é o índice UV previsto para Lisboa?"
"Que temperatura está a fazer nas estações meteorológicas?"
🔧 Desenvolvimento
Estrutura do Projeto
Scripts Disponíveis
npm run build: Compilar TypeScriptnpm run dev: Modo de desenvolvimento com watchnpm start: Executar o servidor compilado
Adicionar Novas Funcionalidades
O servidor está estruturado de forma modular. Para adicionar nova funcionalidade:
Adicionar nova ferramenta em
setupToolHandlers()Implementar o método correspondente
Definir interfaces TypeScript se necessário
Recompilar e testar
📡 API IPMA
Este servidor usa a API pública do IPMA. Principais endpoints utilizados:
Previsões meteorológicas por cidade
Avisos meteorológicos
Dados sísmicos
Observações das estações
Índice UV
Lista de locais disponíveis
⚠️ Considerações
A API do IPMA é gratuita mas requer uso responsável
Dados são atualizados pelo IPMA duas vezes por dia (00UTC e 12UTC)
Todas as horas são em UTC
Para uso comercial, contactar o IPMA em webmaster@ipma.pt
📝 Licença
MIT License
🤝 Contribuição
Contribuições são bem-vindas! Por favor:
Fork o projeto
Crie uma branch para sua funcionalidade
Commit suas mudanças
Push para a branch
Abra um Pull Request
📞 Suporte
Se encontrar problemas:
Verifique se todos os arquivos estão no local correto
Confirme que as dependências foram instaladas
Verifique o arquivo de configuração do Claude Desktop
Consulte os logs de erro do Claude Desktop