Weather

Previsões meteorológicas precisas via API AccuWeather (camada gratuita disponível).

Documentação

Servidor MCP Weather

npm version license node version issues weekly downloads Trust Score

MCP Weather Server Logo Weather MCP server

Um servidor Model Context Protocol (MCP) que fornece previsões meteorológicas horárias e diárias usando a API AccuWeather.


Início Rápido

Você precisa de uma chave da API AccuWeather (o plano gratuito está disponível).
Cadastre-se aqui e crie um aplicativo para obter sua chave.

Exporte sua chave da API como uma variável de ambiente:

export ACCUWEATHER_API_KEY=your_api_key_here

Em seguida, execute o servidor MCP Weather diretamente com:

npx -y @timlukahorstmann/mcp-weather

Ou, para acesso HTTP/REST via supergateway:

npx -y supergateway --stdio "npx -y @timlukahorstmann/mcp-weather" \
  --port 4004 \
  --baseUrl http://127.0.0.1:4004 \
  --ssePath /messages \
  --messagePath /message \
  --cors "*" \
  --env ACCUWEATHER_API_KEY="$ACCUWEATHER_API_KEY"

Exemplo de Configuração do Servidor MCP

Para integração com Claude Desktop ou outros clientes compatíveis com MCP, adicione isto à sua configuração (ex.: claude_desktop_config.json):

{
  "mcpServers": {
    "weather": {
      "command": "npx",
      "args": ["-y", "@timlukahorstmann/mcp-weather"],
      "env": {
        "ACCUWEATHER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Visão Geral

Este servidor MCP permite que grandes modelos de linguagem (como Claude) acessem dados meteorológicos em tempo real. Quando integrado a um LLM, ele permite que o modelo:

  • Obtenha previsões meteorológicas precisas e atualizadas
  • Forneça dados meteorológicos horários para as próximas 12 horas
  • Acesse previsões meteorológicas diárias de até 15 dias
  • Exiba dados em unidades métricas (°C) e imperiais (°F)
  • Visualize temperatura, condições, informações de precipitação e outros detalhes meteorológicos

Ferramentas Disponíveis

Previsão Meteorológica Horária

  • Nome da ferramenta: weather-get_hourly
  • Fornece previsões horárias para as próximas 12 horas
  • Parâmetros:
    • location (obrigatório): Nome da cidade ou localização
    • units (opcional): "metric" (Celsius, padrão) ou "imperial" (Fahrenheit)

Previsão Meteorológica Diária

  • Nome da ferramenta: weather-get_daily
  • Fornece previsões diárias de até 15 dias
  • Parâmetros:
    • location (obrigatório): Nome da cidade ou localização
    • days (opcional): Número de dias de previsão (1, 5, 10 ou 15; o padrão é 5)
    • units (opcional): "metric" (Celsius, padrão) ou "imperial" (Fahrenheit)

Pré-requisitos

  • Node.js ≥18
  • Uma chave da API AccuWeather (definida via .env ou seu shell)

Configuração

  1. Clone este repositório:

    git clone https://github.com/TimLukaHorstmann/mcp-weather.git
    cd mcp-weather
    
  2. Instale as dependências:

    npm install
    
  3. Obtenha uma chave da API AccuWeather:

    • Registre-se em AccuWeather API
    • Crie um novo aplicativo e obtenha uma chave da API
  4. Crie um arquivo .env com sua chave da API:

    ACCUWEATHER_API_KEY=your_api_key_here
    
  5. Compile o projeto:

    npm run build
    

Uso com Claude Desktop

  1. Configure o Claude Desktop para usar este servidor MCP:

    • Abra o Claude Desktop
    • Vá para Configurações > Desenvolvedor > Editar Configuração
    • Adicione o seguinte ao seu claude_desktop_config.json:
    {
      "mcpServers": {
        "weather": {
          "command": "npx",
          "args": ["-y", "@timlukahorstmann/mcp-weather"],
          "env": {
            "ACCUWEATHER_API_KEY": "your_api_key_here"
          }
        }
      }
    }
    
  2. Reinicie o Claude Desktop

  3. Em uma nova conversa, ative o servidor MCP clicando no ícone de plugue e selecionando "weather"

  4. Agora você pode pedir ao Claude previsões meteorológicas, como:

    • "Qual é a previsão horária para a cidade de Nova York?"
    • "Dê-me a previsão de 5 dias para Londres."
    • "Como estará o tempo em Tóquio esta semana em Fahrenheit?"
    • "Vai chover em São Francisco amanhã?"

Desenvolvimento

  • Instale as dependências de desenvolvimento: npm install
  • Verifique o lint do seu código: npm run lint
  • Compile: npm run build
  • Execute os testes: npm test
  • Inicie no modo de desenvolvimento: npm run dev

Contribuições

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

Melhorias Futuras

Estamos sempre buscando melhorar o servidor MCP Weather. Aqui estão alguns recursos que estamos considerando para versões futuras:

  • Previsões Horárias Estendidas: Além de 12 horas, ex.: 24 ou 48 horas.
  • Alertas Meteorológicos: Integração com a API de alertas meteorológicos severos da AccuWeather.
  • Autocompletar Localização: Melhoria na busca de localizações com sugestões de autocompletar.
  • Dados Meteorológicos Históricos: Acesso a condições meteorológicas passadas.

Se você tiver ideias para outros recursos, sinta-se à vontade para abrir uma issue!

Histórico de Alterações

0.4.0

  • Removido o requisito de sessionId de todas as ferramentas, pois não era usado internamente
  • Isso simplifica as integrações e reduz a confusão no uso com LLMs

0.3.0 e anteriores

  • Versões iniciais com funcionalidade básica

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.