article
README
🚀 航空天气 MCP 服务器
这是一个基于模型上下文协议(MCP)的服务器,主要为飞行规划提供航空天气信息。它通过连接航空天气 API,能够获取 METAR、TAF、PIREPs 等各类数据。
🚀 快速开始
本服务器为飞行规划提供航空天气信息,通过连接航空天气 API 获取所需数据。以下是使用前的准备和操作步骤。
⚠️ 免责声明
请勿将此工具用于飞行计划或飞行中决策!
⚠️ 重要提示
本航空天气 MCP 服务器提供的天气数据来自 aviationweather.gov,仅供参考。绝不能仅依赖此工具进行飞行计划或飞行中决策。天气数据可能存在不完整、延迟或不准确的情况。此外,解释这些数据的大语言模型可能会误解或错误表示关键信息。在任何飞行前,请始终咨询官方航空天气来源并获得授权机构提供的完整天气简报。本工具未经 FAA 批准,不是认证天气服务的替代品,仅作为参考使用。开发者不对基于此工具信息做出的决策承担任何责任。请始终通过官方渠道验证关键天气信息。
✨ 主要特性
- 类型安全的 API 客户端:从官方航空天气 API 的 Swagger 定义自动生成。
- MCP 工具用于获取天气数据:
get-metar:获取当前气象观测。get-taf:获取终端预报。get-pireps:获取机场附近的飞行员报告。get-route-weather:获取航线的全面天气信息。
📦 安装指南
先决条件
- Node.js 18 或更高版本。
- npm 或 yarn。
- curl(用于获取 Swagger YAML)。
安装步骤
- 克隆此仓库:
git clone https://github.com/yourusername/aviation-weather-mcp-server.git cd aviation-weather-mcp-server - 安装依赖项:
npm install - 构建服务器(此步骤会获取最新 Swagger 定义、生成 API 客户端并编译 TypeScript):
npm run build - 启动服务器:
npm start
💻 使用示例
基础用法
获取当前气象观测
npm run get-metar -- --airport=KJFK
获取终端预报
npm run get-taf -- --airport=KLAX
获取飞行员报告
npm run get-pireps -- --region=NE
获取航线天气
npm run get-route-weather -- --origin=KJFK --destination=KLAX
📚 详细文档
与 Claude for Desktop 集成
要将此服务器与 Claude for Desktop 一起使用:
- 编辑你的 Claude for Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- 添加以下内容到配置文件中:
{ "aviationWeatherMCP": { "serverUrl": "http://localhost:3000" } }
开发信息
项目结构
src/
├── server.ts # 主服务器文件
├── weather_api.ts # 天气 API 客户端
└── response_formatter.ts # 响应格式化工具
构建过程
- 获取 Swagger 定义:
npm run get-swagger-def -- --url= https://api.aviationweather.com/v2 - 生成 API 客户端:
npm run generate-client -- --input=./swagger.json
📄 许可证
本项目采用 MIT 许可证。
微信扫一扫