Aviation Weather

Fornece informações meteorológicas de aviação para planejamento de voo do aviationweather.gov.

Documentação

Servidor MCP Aviation Weather

Este é um servidor Model Context Protocol (MCP) que fornece informações meteorológicas de aviação para planejamento de voo. Ele se conecta à API Aviation Weather para buscar METARs, TAFs, PIREPs e outros dados.

AVISO

NÃO USE ESTA FERRAMENTA PARA PLANEJAMENTO DE VOO OU TOMADA DE DECISÕES EM VOO.

AVISO IMPORTANTE: Este servidor MCP Aviation Weather fornece dados meteorológicos obtidos de aviationweather.gov apenas para fins informativos. As informações fornecidas por esta ferramenta NUNCA devem ser usadas como única fonte para planejamento de voo ou tomada de decisões em voo.

Os dados meteorológicos podem estar incompletos, atrasados ou imprecisos. Além disso, o modelo de linguagem grande que interpreta esses dados pode entender mal ou representar incorretamente informações críticas. Consulte sempre fontes meteorológicas oficiais de aviação e obtenha um briefing meteorológico adequado de provedores autorizados antes de qualquer voo.

Esta ferramenta não é aprovada pela FAA, não substitui serviços meteorológicos certificados e deve ser usada apenas como referência complementar. Os desenvolvedores não assumem responsabilidade por decisões tomadas com base nas informações fornecidas por esta ferramenta.

SEMPRE verifique informações meteorológicas críticas por meio de canais oficiais.

Recursos

  • Cliente de API type-safe gerado automaticamente a partir da definição Swagger oficial da API Aviation Weather
  • Ferramentas MCP para dados meteorológicos:
    • get-metar: Obter observações meteorológicas atuais
    • get-taf: Obter previsões de aeródromo terminal
    • get-pireps: Obter relatórios de pilotos próximos a um aeroporto
    • get-route-weather: Obter meteorologia abrangente para uma rota entre dois aeroportos

Configuração

Pré-requisitos

  • Node.js 18 ou superior
  • npm ou yarn
  • curl (para buscar o YAML do Swagger)

Instalação

  1. Clone este repositório:

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

    npm install
    
  3. Compile o servidor (isso buscará a definição Swagger mais recente, gerará o cliente da API e compilará o TypeScript):

    npm run build
    
  4. Inicie o servidor:

    npm start
    

Uso com Claude for Desktop

Para usar este servidor com o Claude for Desktop:

  1. Edite seu arquivo de configuração do Claude for Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Adicione o servidor à configuração:

    {
      "mcpServers": {
        "aviation-weather": {
          "command": "node",
          "args": [
            "/absolute/path/to/aviation-weather-mcp-server/build/index.js"
          ]
        }
      }
    }
    
  3. Reinicie o Claude for Desktop

Exemplos de Consultas

Depois de conectado ao Claude, você pode fazer perguntas como:

  • "Qual é o clima atual em KJFK?"
  • "Existe um TAF disponível para KORD?"
  • "Estou planejando voar de KBOS para KPHL amanhã. Como está o clima?"
  • "Existem PIREPs perto de KDEN?"

Desenvolvimento

Estrutura do Projeto

  • src/index.ts: Código principal do servidor
  • packages/aviation-weath-api: Gera automaticamente o cliente da API para Aviation Weather .gov

Compilando o cliente de meteorologia de aviação

O processo de compilação segue estas etapas:

  1. npm run aviation-weather-api:clean: excluir o cliente existente
  2. npm run aviation-weather-api:fetch: Busca a definição Swagger mais recente de aviationweather.gov
  3. npm run aviation-weather-api:generate: Gera um cliente TypeScript tipado a partir da definição Swagger

Compilando e executando o aplicativo

  1. npm run build: Compilar o cliente javascript
  2. npm run start: Executar o servidor MCP

Adicionando Mais Ferramentas

Para adicionar novas ferramentas ao servidor, siga este padrão:

server.tool(
  "tool-name",
  {
    // Zod schema for parameters
    param1: z.string().describe("Parameter description"),
    param2: z.number().optional().describe("Optional parameter")
  },
  async ({ param1, param2 }) => {
    try {
      // Implementation
      return {
        content: [{
          type: "text",
          text: "Response text"
        }]
      };
    } catch (error) {
      return {
        content: [{
          type: "text",
          text: `Error: ${error.message}`
        }],
        isError: true
      };
    }
  }
);

Como Funciona

  1. O servidor busca a definição Swagger mais recente de aviationweather.gov
  2. O OpenAPI Generator cria um cliente type-safe a partir dessa definição
  3. O servidor usa esse cliente para fazer chamadas de API com tipagem adequada
  4. O tratamento de erros e a formatação de respostas garantem uma experiência tranquila

Licença

MIT