Aviation Weather MCP Server

by finack
Verified
MIT License
  • Apple

Integrations

  • Uses the official Aviation Weather API Swagger definition to generate a type-safe API client that ensures proper typing and formatting for API calls.

항공 날씨 MCP 서버

이는 비행 계획에 필요한 항공 기상 정보를 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 항공 기상 API에 연결하여 METAR, TAF, PIREP 및 기타 데이터를 가져옵니다.

부인 성명

이 도구를 비행 계획이나 비행 중 의사 결정에 사용하지 마십시오.

중요 고지 사항 : 이 항공 기상 MCP 서버는 aviationweather.gov에서 제공하는 기상 데이터를 정보 제공 목적으로만 제공합니다. 이 도구에서 제공하는 정보는 비행 계획 또는 기내 의사 결정의 유일한 출처로 사용되어서는 안 됩니다.

기상 데이터는 불완전하거나, 지연되거나, 부정확할 수 있습니다. 또한, 이 데이터를 해석하는 방대한 언어 모델이 중요한 정보를 잘못 이해하거나 부정확하게 표현할 수 있습니다. 항상 공식 항공 기상 정보를 참고하고, 비행 전에 공인 기관으로부터 적절한 기상 브리핑을 받으십시오.

이 도구는 FAA 승인을 받지 않았으며, 공인 기상 서비스를 대체할 수 없고, 보충 참고 자료로만 사용해야 합니다. 개발자는 이 도구에서 제공하는 정보를 기반으로 내린 결정에 대해 어떠한 책임도 지지 않습니다.

항상 공식 채널을 통해 중요한 날씨 정보를 확인하세요.

특징

  • 공식 Aviation Weather API Swagger 정의에서 자동 생성된 유형 안전 API 클라이언트
  • 날씨 데이터를 위한 MCP 도구 :
    • get-metar : 현재 날씨 관측값을 가져옵니다
    • get-taf : 터미널 비행장 예보 받기
    • get-pireps : 공항 근처 조종사 보고서 받기
    • get-route-weather : 두 공항 사이의 경로에 대한 포괄적인 날씨를 가져옵니다.

설정

필수 조건

  • Node.js 18 이상
  • npm 또는 yarn
  • curl(Swagger YAML을 가져오기 위해)

설치

  1. 이 저장소를 복제하세요:지엑스피1
  2. 종속성 설치:
    npm install
  3. 서버를 빌드합니다(이렇게 하면 최신 Swagger 정의를 가져오고, API 클라이언트를 생성하고, TypeScript를 컴파일합니다):
    npm run build
  4. 서버를 시작합니다:
    npm start

Claude와 함께 데스크톱 사용

Claude for Desktop과 함께 이 서버를 사용하려면:

  1. Claude for Desktop 구성 파일을 편집하세요.
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. 구성에 서버를 추가합니다.
    { "mcpServers": { "aviation-weather": { "command": "node", "args": [ "/absolute/path/to/aviation-weather-mcp-server/build/index.js" ] } } }
  3. 데스크톱용 Claude 재시작

예제 쿼리

Claude에 연결되면 다음과 같은 질문을 할 수 있습니다.

  • "KJFK의 현재 날씨는 어때요?"
  • "KORD에 사용 가능한 TAF가 있나요?"
  • "내일 KBOS에서 KPHL로 비행기를 탈 예정인데, 날씨는 어때요?"
  • "KDEN 근처에 PIREP가 있나요?"

개발

프로젝트 구조

  • src/index.ts : 메인 서버 코드
  • packages/aviation-weath-api : Aviation Weather.gov용 API 클라이언트 자동 생성

항공 날씨 클라이언트 구축

빌드 프로세스는 다음 단계를 따릅니다.

  1. npm run aviation-weather-api:clean : 기존 클라이언트 삭제
  2. npm run aviation-weather-api:fetch : aviationweather.gov에서 최신 Swagger 정의를 가져옵니다.
  3. npm run aviation-weather-api:generate : Swagger 정의에서 유형화된 TypeScript 클라이언트를 생성합니다.

앱 빌드 및 실행

  1. npm run build : 자바스크립트 클라이언트 빌드
  2. npm run start : MCP 서버 실행

더 많은 도구 추가

서버에 새로운 도구를 추가하려면 다음 패턴을 따르세요.

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 }; } } );

작동 원리

  1. 서버는 aviationweather.gov에서 최신 Swagger 정의를 가져옵니다.
  2. OpenAPI 생성기는 이 정의에서 유형 안전 클라이언트를 생성합니다.
  3. 서버는 이 클라이언트를 사용하여 적절한 입력으로 API 호출을 수행합니다.
  4. 오류 처리 및 응답 형식 지정으로 원활한 경험을 보장합니다.

특허

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

모델 컨텍스트 프로토콜 서버를 통해 항공 날씨 정보를 제공하여 정보 제공 목적으로만 METAR, TAF, PIREP 및 항로 날씨 데이터에 액세스할 수 있도록 합니다.

  1. DISCLAIMER
    1. Features
      1. Setup
        1. Prerequisites
        2. Installation
      2. Using with Claude for Desktop
        1. Example Queries
          1. Development
            1. Project Structure
            2. Building the aviation weather client
            3. Building and running the app
            4. Adding More Tools
          2. How It Works
            1. License
              ID: wg6s54fuab