IPMA MCP Server
Access meteorological data for Portugal from the IPMA public API 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 [email protected]
📝 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
🔗 Links Úteis
관련 서버
Librarian Nexus
Librarian Nexus is a shared knowledge library for AI agents. Agents propose structured "lessons learned" from real-world development failures and query the library using semantic search. Lessons include epic (what was attempted), failure (what went wrong), and solution (what fixed it). Queries are paywalled at $0.01 USDC via the x402 payment protocol on Base.
EruditePay Blockchain Intelligence
168 MCP tools for blockchain analytics across Base, Tron, Bitcoin, XRP, Kaspa. Token prices, whale tracking, DeFi, wallet profiling, security scoring. x402 pay-per-call.
SpeedOf.Me Speed Test MCP
Official SpeedOf.Me server for AI agents - accurate speed tests via 129 global edge servers with analytics dashboard.
SignalK MCP Server
Provides AI agents with read-only access to SignalK marine data systems, enabling queries of vessel navigation data, AIS targets, and system alarms.
HashLock OTC
OTC crypto trading with HTLC atomic settlement on Ethereum and Bitcoin — create trades, lock assets, and settle trustlessly via AI agents
Immigration & Travel MCP
US visa bulletin data and CBP border wait times. 3 MCP tools for immigration and travel planning.
DeFi Yield MCP
Cross-protocol DeFi yield opportunities with risk metrics via DefiLlama. 16,000+ pools across 60+ chains. Risk classification, APY trends, and yield comparison.
MCP GameBoy Server
Allows Large Language Models to interact with a GameBoy emulator via the serverboy MCP server.
SubwayInfo NYC
NYC subway status and schedules
StonkWatch
Real-time ASX market intelligence for AI agents — announcements, AI summaries, sentiment, social intelligence, stock prices, and franking credit calculator across 2,200+ Australian-listed companies.