关于 Aviation Weather MCP Server
Aviation Weather MCP Server 通过 Aviation Weather API 提供航空天气信息,供参考使用,适用于需要 METAR、TAF、PIREP 或航线天气的 MCP 客户端。它以生成的类型安全 API 客户端处理请求;数据不可作为飞行或飞行中决策的唯一依据。
主要功能
- 01当前 METAR 观测
- 02终端机场预报(TAF)
- 03机场附近的飞行员报告
- 04机场间航线天气
- 05生成的类型安全 API 客户端
适用场景
- 01查询机场当前天气观测
- 02获取终端机场预报
- 03查看附近飞行员报告
- 04比较机场间航线天气
MCP 相关
向 MCP 客户端提供工具,用于从 Aviation Weather API 获取 METAR、TAF、PIREP 和航线天气。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Aviation Weather MCP Server
这是一个 Model Context Protocol(MCP)服务,可为飞行计划提供航空天气信息。它连接到 Aviation Weather API,以获取 METAR、TAF、PIREP 和其他数据。
免责声明
请勿将此工具用于飞行计划或飞行中的决策。
重要免责声明: 此 Aviation Weather MCP 服务提供来自 aviationweather.gov 的天气数据,仅供参考。绝不可将此工具提供的信息作为飞行计划或飞行中决策的唯一信息来源。
天气数据可能不完整、延迟或不准确。此外,解读这些数据的大模型也可能误解或错误呈现关键信息。每次飞行前,请务必查阅官方航空天气来源,并向授权服务提供商获取适当的天气简报。
此工具未经 FAA 批准,不能替代经过认证的天气服务,只应作为补充参考。开发者对基于此工具提供的信息所做出的决定概不负责。
务必通过官方渠道核实关键信息。
功能
- 类型安全的 API 客户端,根据官方 Aviation Weather 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
与 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:
-
将服务添加到配置中:
{ "mcpServers": { "aviation-weather": { "command": "node", "args": [ "/absolute/path/to/aviation-weather-mcp-server/build/index.js" ] } } } -
重启 Claude for Desktop
示例查询
连接到 Claude 后,你可以提出以下问题:
- “KJFK 当前的天气如何?”
- “KORD 有可用的 TAF 吗?”
- “我计划明天从 KBOS 飞往 KPHL。天气情况怎么样?”
- “KDEN 附近有 PIREP 吗?”
开发
项目结构
src/index.ts:主服务代码packages/aviation-weath-api:用于 Aviation Weather .gov 的 API 客户端自动生成项目
构建航空天气客户端
构建流程如下:
npm run aviation-weather-api:clean:删除现有客户端npm run aviation-weather-api:fetch:从 aviationweather.gov 获取最新的 Swagger 定义npm run aviation-weather-api:generate:根据 Swagger 定义生成类型化的 TypeScript 客户端
构建和运行应用
npm run build:构建 JavaScript 客户端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
};
}
}
);
工作原理
- 服务从 aviationweather.gov 获取最新的 Swagger 定义
- OpenAPI Generator 根据此定义创建类型安全的客户端
- 服务使用此客户端以正确的类型调用 API
- 错误处理和响应格式化确保流畅的使用体验
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。