航空气象MCP服务器
这是一个模型上下文协议(MCP)服务器,为飞行计划提供航空天气信息。它连接到航空天气API以获取METAR、TAF、PIREP和其他数据。
免责声明
请勿将此工具用于飞行计划或飞行中决策。
重要免责声明: 此航空天气MCP服务器提供来自aviationweather.gov的天气数据,仅供参考。该工具提供的信息不得作为飞行计划或飞行决策的唯一来源。
天气数据可能不完整、延迟或不准确。此外,解释这些数据的大型语言模型可能会误解或错误地表示关键信息。在任何飞行前,务必咨询官方航空气象来源,并从授权提供商那里获得适当的天气简报。
该工具未经美国联邦航空管理局批准,不能替代经过认证的气象服务,只能作为补充参考。开发人员对基于此工具提供的信息所做的决定不承担任何责任。
始终通过官方渠道核实关键天气信息。
特性
- 类型安全的API客户端 根据官方航空天气API Swagger定义自动生成
- 气象数据MCP工具:
- get-metar:获取当前天气观测数据 - get-taf:获取航站楼机场预报 - get-pireps:获取机场附近的飞行员报告 - get-route-weather:获取两个机场之间航线的综合天气
设置
先决条件
- Node.js 18或更高版本
- npm或纱线
- 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 - 窗户: %APPDATA%\Claude\claude_desktop_config.json
- 将服务器添加到配置中:
{
"mcpServers": {
"aviation-weather": {
"command": "node",
"args": [
"/absolute/path/to/aviation-weather-mcp-server/build/index.js"
]
}
}
}- 重新启动桌面版的Claude
查询示例
连接到Claude后,您可以提出以下问题:
- “KJFK现在的天气怎么样?”
- “KORD有TAF吗?”
- “我计划明天从KBOS飞往KPHL。天气怎么样?”
- “KDEN附近有PIREP吗?”
发展
项目结构
src/index.ts:主服务器代码packages/aviation-weath-api:自动生成航空天气API客户端.gov
打造航空气象客户
构建过程遵循以下步骤:
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生成器根据此定义创建类型安全的客户端
- 服务器使用此客户端进行正确类型的API调用
- 错误处理和响应格式可确保流畅的体验
许可证
麻省理工学院
