Aa

io.github.thehesiod由 GitHub 账号 thehesiod 发布v0.1.0更新于 Oct 27, 2026

MCP server for read-only American Airlines AAdvantage account access

已验证STDIO仅桌面位置与生活金融

概览

AI 生成的概览

只读的 MCP 服务器,让助手查看你的美国航空 AAdvantage 账户:里程、忠诚积分、行程、旅行额度与优惠。

可以做什么
  • 读取账户与个人资料:姓名、AAdvantage 号码、里程余额、会员等级、忠诚积分进度及资料信息
  • 按日期范围、分页与搜索查看里程和忠诚积分的交易记录
  • 查询即将出行的行程,并按订位代号获取完整预订详情,含航段、乘客、机票与费用
  • 为某个预订搜索替代航班,提供价格轮播与各舱位价格
  • 列出机票与行程旅行额度,以及仪表板上的合作方优惠
  • 检查已保存会话状态,并从已登录的 Chromium 浏览器保存会话 Cookie
适用场景
当你希望助手回答关于自己 AAdvantage 里程余额、等级进度、历史活动、即将出行的行程或旅行额度的问题,并比较改签选项,而不必自己打开 aa.com 时适用。
运行要求
以 Python 包形式在本地通过 stdio 运行(pip install aa-mcp-server)。需要真实的 Chromium 浏览器完成一次手动登录 aa.com(含可能出现的两步验证),再把 Cookie 提取到本地会话存储。可选设置 AA_MCP_CHROMIUM 指定 Chromium 路径。未声明任何 API 密钥。
安装前请注意
它会把 aa.com 会话 Cookie 保存在主目录下的磁盘文件中,能访问该机器的人即可读取,应视为账户凭据。它会读取出生日期、AAdvantage 号码、预订详情等个人数据。会话会过期,需要重新提取。仅只读:不能订票、兑换里程或修改资料。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Aa,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

aa-mcp-server

An MCP server that gives Claude (or any MCP-compatible LLM) read-only access to your American Airlines AAdvantage account — mile balance, Loyalty Points progress, transaction history, upcoming trips, travel credits, and partner offers.

This is not a browser-automation wrapper. The server discovers and calls aa.com's underlying JSON APIs directly using session cookies extracted from a Chromium login. All HTTP traffic uses curl_cffi with Chrome TLS impersonation to satisfy aa.com's Akamai Bot Manager.

Tools

ToolEndpointReturns
get_account_summary/loyalty/api/member-informationName, AAdvantage #, mile balance, status, cobranded card, business memberships
get_loyalty_points_progress/loyalty/api/progress-qualificationLP YTD, last-year totals, tier thresholds, next-status delta
get_profile_details/api/loyalty/.../profileDOB, partners list, sales city, mile expiration, million-miler stats
get_mile_activity/api/loyalty/.../memberActivityMile/LP transaction history (date range, paginated, searchable)
get_upcoming_trips/loyalty/api/upcoming-tripsReservations with record locators
get_reservation_by_locator/manage-reservation/viewres/api/reservationFull reservation: segments, passengers, tickets, costs, change/cancel eligibility (requires lead-passenger name)
search_change_flights/manage-reservation/reshop/api/reshop/cheapestAlternative flights for a reservation with a ±6-day price carousel, per-cabin pricing (netPrice = delta vs paid). Accepts origin/destination/date changes; pricing is total for all pax (no per-passenger split)
get_flight_credits/api/loyalty/travelCredits/flightCredit/detailsSingle-passenger ticket credits
get_trip_credits/api/loyalty/travelCredits/tripCredit/detailsMulti-passenger / itinerary credits
get_partner_offers/loyalty/api/partnerOffersDashboard partner promotions
get_notifications/loyalty/api/notificationsAccount notifications
check_auth_status—Saved-session info: AA #, token expiry, cookie count
save_session_from_browserCDPPulls cookies from a logged-in Chromium and persists them

Setup

bash
pip install aa-mcp-server

One-time auth

aa.com is fronted by Akamai Bot Manager — you can't log in via headless requests. The flow:

  1. Launch a real Chromium with a persistent profile and a remote-debugging port:
    bash
    aa-auth-browser              # default accountaa-auth-browser personal     # named account
  2. Log into aa.com (and complete 2FA if prompted) in the window that opens.
  3. Copy the cookies into the MCP store:
    bash
    aa-mcp-server --extract-session default
    Or call the save_session_from_browser MCP tool from Claude.

The cookies live in ~/.aa-mcp/accounts/<account>/session.json. The chromium profile lives in ~/.aa-mcp/chrome-profiles/<account>/. To refresh after expiry, relaunch aa-auth-browser (the saved profile auto-refreshes the access_token cookie when you visit any aa.com page) and re-run --extract-session.

AA_MCP_CHROMIUM=<path-to-chrome.exe> overrides the auto-discovery if your Chromium is somewhere unusual.

Multi-account

Every tool takes an optional account parameter. Omit it to use the default account.

python
get_account_summary()                # defaultget_account_summary(account="spouse")

Running

bash
aa-mcp-server                        # stdio transportaa-mcp-server --setup                # show account status & setup hintsaa-mcp-server --extract-session NAME # save cookies from running Chromium

Add to your MCP client config (e.g. Claude Desktop):

json
{  "mcpServers": {    "aa": {      "command": "aa-mcp-server"    }  }}

Limitations

  • Read-only. No booking, no award redemption, no profile edits.
  • Cookie expiry. The access_token JWT lives ~45 min; the refresh_token cookie typically ~30 days. Visiting any aa.com page in the saved Chromium profile silently refreshes both. After a long gap, re-extract.
  • GraphQL coverage. Only the GetCustomer persisted query is wired up. Expanding requires capturing additional sha256Hashes from the browser bundle — easy but a per-feature task.
  • One region tested. All testing has been on US-locale aa.com. International locales may require different referer paths.

License

MIT

mcp-name: io.github.thehesiod/aa

来源:README.md,提交 f66f7d1

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分