关于 aa
aa 是供 American Airlines AAdvantage 账户持有人使用的 MCP 服务,可通过兼容 MCP 的助手只读查看会员及行程信息。它使用从已登录 Chromium 获取的会话 Cookie 调用 aa.com JSON API;不支持预订或修改个人资料。
主要功能
- 01账户与忠诚度摘要
- 02里程及 Loyalty Points 历史
- 03即将出行与预订详情
- 04航班及行程额度查询
- 05搜索预订的替代航班
- 06从 Chromium 提取会话
适用场景
- 01查看 AAdvantage 余额和等级进度
- 02检查里程交易记录与通知
- 03查询即将出行的行程和旅行额度
- 04比较预订的替代航班
MCP 相关
该 MCP 服务向 MCP 客户端提供只读账户、忠诚度、行程、额度和优惠工具,也提供检查身份验证状态及从 Chromium 保存会话的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
aa-mcp-server
一个 MCP 服务,可让 Claude(或任何兼容 MCP 的大模型)以只读方式访问你的 American Airlines AAdvantage 账户,包括里程余额、Loyalty Points 进度、交易记录、即将出行的行程、旅行积分和合作伙伴优惠。
这不是浏览器自动化封装。该服务会使用从 Chromium 登录状态中提取的会话 Cookie,直接发现并调用 aa.com 底层的 JSON API。所有 HTTP 流量均通过 curl_cffi 发出,并模拟 Chrome TLS,以通过 aa.com 的 Akamai Bot Manager 检查。
工具
| 工具 | 端点 | 返回内容 |
|---|---|---|
get_account_summary | /loyalty/api/member-information | 姓名、AAdvantage #、里程余额、会籍等级、联名卡、商务会员资格 |
get_loyalty_points_progress | /loyalty/api/progress-qualification | 本年度 LP、上一年度总计、等级门槛、升级所需差额 |
get_profile_details | /api/loyalty/.../profile | 出生日期、合作伙伴列表、销售城市、里程过期时间、百万里程会员统计 |
get_mile_activity | /api/loyalty/.../memberActivity | 里程/LP 交易记录(日期范围、分页、可搜索) |
get_upcoming_trips | /loyalty/api/upcoming-trips | 含预订编号的预订信息 |
get_reservation_by_locator | /manage-reservation/viewres/api/reservation | 完整预订信息:航段、乘客、机票、费用、变更/取消资格(需要主乘客姓名) |
search_change_flights | /manage-reservation/reshop/api/reshop/cheapest | 预订的备选航班,提供 ±6 天价格轮播和按客舱划分的价格(netPrice = 与已支付金额的差额)。接受出发地/目的地/日期变更;价格为所有乘客的总价(不按乘客拆分) |
get_flight_credits | /api/loyalty/travelCredits/flightCredit/details | 单乘客机票积分 |
get_trip_credits | /api/loyalty/travelCredits/tripCredit/details | 多乘客/行程积分 |
get_partner_offers | /loyalty/api/partnerOffers | 控制面板上的合作伙伴促销 |
get_notifications | /loyalty/api/notifications | 账户通知 |
check_auth_status | — | 已保存的会话信息:AA #、令牌过期时间、Cookie 数量 |
save_session_from_browser | CDP | 从已登录的 Chromium 获取 Cookie 并保存 |
设置
pip install aa-mcp-server
一次性身份验证
aa.com 由 Akamai Bot Manager 保护,无法通过无头请求登录。流程如下:
- 使用持久化配置文件和远程调试端口启动真实的 Chromium:
aa-auth-browser # default account aa-auth-browser personal # named account - 在打开的窗口中登录 aa.com(如果提示,请完成双重身份验证)。
- 将 Cookie 复制到 MCP 存储:
或者,在 Claude 中调用aa-mcp-server --extract-session defaultsave_session_from_browserMCP 工具。
Cookie 保存在 ~/.aa-mcp/accounts/<account>/session.json。Chromium 配置文件保存在 ~/.aa-mcp/chrome-profiles/<account>/。过期后如需刷新,请重新启动 aa-auth-browser(访问任意 aa.com 页面时,已保存的配置文件会自动刷新 access_token Cookie),然后重新运行 --extract-session。
如果你的 Chromium 位于不常见的位置,可使用 AA_MCP_CHROMIUM=<path-to-chrome.exe> 覆盖自动发现的路径。
多账户
每个工具都接受可选的 account 参数。省略该参数时,将使用默认账户。
get_account_summary() # default
get_account_summary(account="spouse")
运行
aa-mcp-server # stdio transport
aa-mcp-server --setup # show account status & setup hints
aa-mcp-server --extract-session NAME # save cookies from running Chromium
将其添加到 MCP 客户端配置中(例如 Claude Desktop):
{
"mcpServers": {
"aa": {
"command": "aa-mcp-server"
}
}
}
限制
- 只读。 不支持预订、兑换奖励或编辑个人资料。
- Cookie 过期。
access_tokenJWT 的有效期约为 45 分钟;refresh_tokenCookie 通常约为 30 天。在已保存的 Chromium 配置文件中访问任意 aa.com 页面,都会在后台刷新这两者。长时间未使用后,请重新提取。 - GraphQL 覆盖范围。 目前仅接入了
GetCustomer持久化查询。要扩展功能,需要从浏览器资源包中捕获其他 sha256Hashes——操作简单,但每个功能都需单独处理。 - 仅在一个地区测试。 所有测试均使用美国地区设置的 aa.com。国际地区可能需要不同的
referer路径。
License
MIT
mcp-name: io.github.thehesiod/aa
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。