DiogoAzevedo03/ipma-mcp-server
If you are the rightful owner of ipma-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The IPMA MCP Server provides access to meteorological data from the Instituto Português do Mar e da Atmosfera (IPMA) using natural language.
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:
npx -y @smithery/cli install @DiogoAzevedo03/ipma-mcp-server --client claude
1. Clonar e Instalar Dependências
# 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 o Projeto
npm run build
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:
{
"mcpServers": {
"ipma-weather": {
"command": "node",
"args": ["/caminho/completo/para/ipma-mcp-server/build/index.js"],
"env": {}
}
}
}
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:
Qual é a previsão do tempo para Lisboa nos próximos 3 dias?
get_weather_warnings
Obter avisos meteorológicos ativos em Portugal.
Exemplo de uso:
Há algum aviso meteorológico ativo?
get_seismic_data
Obter dados sísmicos recentes.
Parâmetros:
area
(opcional): "continent", "azores", "madeira", ou "all" (padrão: "all")
Exemplo de uso:
Mostra-me os terramotos recentes nos Açores
get_locations
Listar todas as cidades/locais disponíveis para previsão.
Exemplo de uso:
Quais cidades posso consultar a previsão do tempo?
get_weather_stations
Obter dados de observação das estações meteorológicas.
Exemplo de uso:
Quais são as condições meteorológicas atuais nas estações?
get_uv_forecast
Obter previsão do índice UV.
Exemplo de uso:
Qual é a previsão do índice UV para hoje?
📊 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
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 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