用途
aviationstack-mcp 是一个 MCP(Model Context Protocol)服务器,用于把 AviationStack API 的航空数据接入支持 MCP 的客户端或应用。它把航班、机场、航空公司、航线等查询封装成一组 MCP 工具,便于在兼容 MCP 的环境中调用。
主要能力
项目提供的工具可完成以下查询:
- 按航班号查询单个航班
- 获取某航空公司的航班
- 按日期获取历史航班
- 获取机场的到达与出发时刻表
- 获取未来航班时刻(从明天起约 12 个月之内)
- 获取随机机型
- 获取随机飞机的详细信息
- 获取随机国家的详细信息
- 获取随机城市的详细信息
- 列出机场、航空公司、航线与税费
所有端点均以 MCP 工具形式实现,可在兼容 MCP 的环境中使用。除此之外,服务器还附带可复用提示词,引导模型选用合适的工具。
使用方式
运行该项目需要:AviationStack API Key(可从 AviationStack 获取免费 Key)、Python 3.13 或更高版本,以及已安装 uv 包管理器。
项目的主要服务器逻辑位于 src/aviationstack_mcp/server.py。所有 MCP 工具以带有 @mcp.tool() 装饰器的 Python 函数定义;每个工具是薄封装,先用 Pydantic 模型校验输入,再调用对应的普通函数,测试针对的是这些普通函数。服务器使用 mcp.server.fastmcp 中的 FastMCP 类,mcp 依赖被固定为 <2,因为 2.x 版本将 FastMCP 重命名为 MCPServer。工具不会抛出异常,所有失败都会被捕获并以错误信封返回。
接入 MCP 客户端时,可在客户端的 MCP 配置文件中添加该服务器。推荐方式是使用 uvx 而无需克隆仓库;也可以克隆仓库后在本地运行服务器。
.well-known/mcp/server-card.json 是生成文件而非手工编辑;更改任何工具、提示词或资源后需要重新生成,否则 CI 会失败。
返回格式与限制
每个工具返回统一的 JSON 信封。成功时为 {"ok": true, "count": N, "data": [...]},列表类工具(list_*)另附分页块,无匹配结果时会带有提示信息。失败时为 {"ok": false, "context": "...", "error": "..."}。每次调用的记录上限为 100 条。
适用场景
适合需要将实时航班、机场时刻表、未来航班安排及航空参考数据集成到应用或 AI 工作流中的场景,也可用于在 MCP 兼容环境中通过自然语言或提示词触发航班相关查询。
许可
项目采用 MIT 许可证,详见 LICENSE 文件。
暂未提供的信息
关于定价方案的具体内容、各类数据的具体覆盖范围与更新频率、部署环境要求之外的其他限制等,资料中暂未提供。