finack
服务介绍
航空天气MCP服务器
这是一个提供飞行计划所需航空天气信息的模型上下文协议(MCP)服务器。它连接到航空天气API以获取METAR、TAF、PIREP和其他数据。
免责声明
请勿将此工具用于飞行计划或飞行中的决策制定。
重要免责声明:
本航空天气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)
安装
-
克隆此仓库:
bash
git clone https://github.com/yourusername/aviation-weather-mcp-server.git
cd aviation-weather-mcp-server -
安装依赖项:
bash
npm install -
构建服务器(这将获取最新的Swagger定义,生成API客户端,并编译TypeScript):
bash
npm run build -
启动服务器:
bash
npm start
与Claude for Desktop配合使用
要与此服务器配合使用Claude for Desktop:
-
编辑您的Claude for Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%Claudeclaude_desktop_config.json
- macOS:
-
将服务器添加到配置中:
json
{
"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: 自动生成的航空天气.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服务器
添加更多工具
要向服务器添加新工具,请遵循以下模式:
typescript
server.tool(
"tool-name",
{
// Zod参数模式
param1: z.string().describe("参数描述"),
param2: z.number().optional().describe("可选参数")
},
async ({ param1, param2 }) => {
try {
// 实现
return {
content: [{
type: "text",
text: "响应文本"
}]
};
} catch (error) {
return {
content: [{
type: "text",
text: 错误: ${error.message}
}],
isError: true
};
}
}
);## 工作原理
- 服务器从 aviationweather.gov 获取最新的 Swagger 定义
- OpenAPI 生成器根据该定义创建一个类型安全的客户端
- 服务器使用此客户端进行带有正确类型的 API 调用
- 错误处理和响应格式化确保了流畅的体验
许可证
MIT