mcpField
P
pp-alaska-airlines

pp-alaska-airlines

github.com/mvanhornその他2.1k69 回インストール今日更新
リポジトリ

pp-alaska-airlines について

Alaska Airlinesのフライト検索とAtmos Rewards情報の確認をプログラムから行うCLIスキルです。現金・マイル検索、月単位の最少マイル往復計画、現金とポイントの比較に対応し、予約操作は行いません。

主な機能

  1. 01現金運賃と特典航空券の検索
  2. 02柔軟な日付の運賃マトリクス
  3. 03月単位の最少マイル往復計画
  4. 04現金とポイントの価値比較
  5. 05Atmos Rewards残高と空港情報の確認

活用シーン

  1. 01近い日程の運賃を比較
  2. 02月内の低マイル往復便を検索
  3. 03特典交換の価値を評価
  4. 04Atmos Rewards残高を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-alaska-airlines

インストール後、Claude Code で/pp-alaska-airlinesを入力して読み込まれたか確認します。

詳細

Alaska Airlines — Printing Press CLI

前提条件:CLI のインストール

このスキルは alaska-airlines-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールしてください。

  1. Printing Press インストーラーを使ってインストールします。バイナリのインストール先は、macOS/Linux では $HOME/.local/bin、Windows では %LOCALAPPDATA%\Programs\PrintingPress\bin がデフォルトです。
    npx -y @mvanhorn/printing-press-library install alaska-airlines --cli-only
    
  2. 次のコマンドで確認します:alaska-airlines-pp-cli --version
  3. 報告されたインストール先ディレクトリが、このスキルを実行するエージェント/ランタイムの $PATH に含まれていることを確認します。

npx によるインストールに失敗した場合(Node がない、オフラインなど)は、Go を直接インストールしてください(Go 1.26.6 以降が必要です)。

go install github.com/mvanhorn/printing-press-library/library/travel/alaska-airlines/cmd/alaska-airlines-pp-cli@latest

インストール後に --version が「command not found」と報告する場合、ランタイムからバイナリのディレクトリが $PATH 経由で見えていません。確認が成功するまでは、スキルのコマンドを実行しないでください。

この CLI を使用する場面

キャッシュ済みの空港検索機能と簡潔な JSON 出力を使って、エージェントが Alaska のフライトを検索したり、Atmos Rewards のデータをプログラムから確認したりする場合に、この CLI を選んでください。予約の自動化には使用しないでください。最終的な支払い POST は静的バイナリでは再現できないため、実行されません。

既知の不足機能

以下の機能は、この CLI の原稿では対象範囲に含まれていましたが、このバージョンでは実装されていません。現在は利用できず、これらを前提にすると「unknown command」または「unknown flag」エラーが発生します。該当する場合は、代わりに記載されている実在のコマンドを使用してください。

  • book prepare(チェックアウト前のディープリンクビルダー)— 未実装
  • flights search --want-seats-together(N 人家族向けの座席検索)— 未実装
  • flights award-watch(特典運賃の値下がり監視)— 未実装。スケジュールに沿って flights award-cheapest を再実行し、手動で追跡してください
  • atmos status(ステータスの進捗状況)— 未実装。ポイントの生データを確認するには atmos-rewards balance を使用してください
  • flights search multi(複数区間の作成)— 未実装。区間ごとに flights search を個別に実行してください
  • doctor --auth(JWT をデコードする専用フラグ)— 未実装。一般的な認証チェックは doctor で実行されます

独自の機能

この API 向けの他のツールにはない機能です。

エージェント向けのネイティブな処理
  • flights search --select — 汎用の --select フラグを使って、約 50 KB の検索/結果 JSON からエージェントが必要とするフィールドだけに絞り込めます。

    エージェントが必要な情報だけを指定でき、余分な情報を省けます。

    alaska-airlines-pp-cli flights search --origin SFO --destination SEA --depart 2026-11-27 --json --select flights.flightNumber,flights.fares.saver.price,flights.duration
    
特典(マイル+現金)プランナー
  • flights award-cheapest --destination-region japan --month 2026-08 — 1 か月のカレンダー上にあるすべての(出発日、帰着日)の組み合わせについて、複数の目的地空港を並列で検索し、マイルで利用できる最安の往復便を返します。

    「8 月にポイントを使って、日本行きの最安のフライトを探して」という依頼を、Alaska のサイトを何度もクリックすることなく、1 つのコマンドで解決します。

    alaska-airlines-pp-cli flights award-cheapest --origin SFO --destination-region japan --month 2026-08 --cabin economy --max-stops 1 --json
    

    現金での検索と同じ /search/results/__data.json エンドポイントを使用しています。--award フラグ(または flights award-search)を指定すると、ShoppingMethod=onlineaward に切り替わります。

TPG 評価を使った現金とポイントの価値比較
  • flights value-compare --origin FCO --destination SEA --depart 2026-08-30 — 同じ旅程について現金と特典の検索を組み合わせて実行し、1 ポイントあたりのセント換算額を基準値に適用します(デフォルト:Alaska/Atmos の基準値。The Points Guy の月次評価ページから初回使用時に取得し、ローカルに 30 日間キャッシュされます)。実効 cpp、TPG 倍率、ポイントで支払う場合の TPG 評価額をドルで返します。

    検索を 2 回実行して電卓を使わなくても、「この特典交換は本当にお得なのか?」を一度の確認で判断できます。

    alaska-airlines-pp-cli flights value-compare --origin FCO --destination SEA --depart 2026-08-30 --cabin economy --max-stops 0 --json
    

    --cpp 1.2 を使うと基準値を上書きできます(例:NerdWallet の数値)。--no-valuation-cache を使うと、TPG から最新のデータを強制的に取得できます。フォールバックの優先順位は、上書き値 → 最新のキャッシュ → TPG からのリアルタイム取得 → 古いキャッシュ → 固定値です。評価値の取得に問題があっても、処理が失敗することはありません。値の取得元は meta.cpp_baseline_source(tpg-live、tpg-cached、override、fallback-stale、fallback-constant)に示されます。

HTTP トランスポート

この CLI は、ブラウザー向けエンドポイントに Chrome 互換の HTTP トランスポートを使用します。通常の API 呼び出しでは、常駐するブラウザープロセスは必要ありません。

コマンドリファレンス

account — ログイン状態、セッショントークン

  • alaska-airlines-pp-cli account login-status — 現在の Cookie セッションが認証済みかどうかを確認します
  • alaska-airlines-pp-cli account token — プライマリセッション JWT を更新します

airports — 空港の検索、コードシェア提携航空会社の情報、全空港カタログ

  • alaska-airlines-pp-cli airports get — コードシェア運航会社の対象範囲を含む、IATA コードで指定した空港の詳細を取得します
  • alaska-airlines-pp-cli airports list — Alaska Airlines とコードシェア便の全空港リスト(IATA+都市+地域+緯度/経度)

atmos-rewards — Atmos Rewards ロイヤルティプログラムのアカウントデータ

  • alaska-airlines-pp-cli atmos-rewards balance — 現在の Atmos Rewards ポイント残高
  • alaska-airlines-pp-cli atmos-rewards token-refresh — Cookie セッション経由で Atmos Rewards トークンを更新します

cart — 作成済みの旅程ディープリンクのカート状態(読み取り専用の確認)

  • alaska-airlines-pp-cli cart — 作成済みの旅程ディープリンクのカート状態を確認します(--leg1 と --adults フラグが必要です)

flights — 料金、運賃クラス、日付変更可能なマトリックスを含む Alaska Airlines のフライトを検索します

  • alaska-airlines-pp-cli flights business — Alaska for Business プログラムのメタデータ
  • alaska-airlines-pp-cli flights et-info — 電子航空券の情報/一般的なメタデータ
  • alaska-airlines-pp-cli flights get-features — ユーザーごとの機能フラグ(サイト内部で使用)
  • alaska-airlines-pp-cli flights search — 指定した日付と搭乗者構成で、2 つの空港間のフライトを検索します。--award を指定すると、現金払いからマイル+現金の運賃に切り替わります(同じエンドポイントで、ShoppingMethod=onlineaward を使用)。
  • alaska-airlines-pp-cli flights shoulder-dates — 日付変更可能な料金マトリックス。希望日の近辺の日付の運賃を取得します
  • alaska-airlines-pp-cli flights award-search — 単一日の特典運賃マトリックス(マイル+現金)。flights search --award の薄いエイリアスです。
  • alaska-airlines-pp-cli flights award-cheapest — 1 か月分の最少マイル数を計画します。目的地と(出発日、帰着日)の組み合わせを並行して検索し、マイル数が最も少ない往復便を返します。
  • alaska-airlines-pp-cli flights value-compare — TPG の 1 ポイントあたりのセント換算評価を用いて、現金とポイントを比較します。同じ旅程の検索を 2 件実行し、実質 cpp、TPG 倍率、ポイント払いの場合の TPG 評価額に基づくドル建てコストを出力します。基準値を上書きするには --cpp <float> を指定します。
適切なコマンドを見つける

やりたいことは分かっていても、どのコマンドを使えばよいか分からない場合は、CLI に直接問い合わせます。

alaska-airlines-pp-cli which "<capability in your own words>"

which は、自然言語で指定した機能の問い合わせを、この CLI の厳選された機能インデックスから最適なコマンドに解決します。終了コード 0 は少なくとも 1 件の一致があったことを示し、終了コード 2 は確信度の高い一致がなかったことを示します。その場合は --help を使うか、より具体的な問い合わせをしてください。

レシピ

フライト検索の結果を料金と便名だけに絞り込む
alaska-airlines-pp-cli flights search --origin SFO --destination SEA --depart 2026-11-27 --json --select flights.flightNumber,flights.duration,flights.fares.saver.price

約 50 KB の結果ペイロードを、便名、所要時間、セーバー運賃だけに絞り込みます。エージェントのコンテキストにペイロード全体を出力せずに済みます。

家族での往復検索
alaska-airlines-pp-cli flights search --origin SFO --destination SEA --depart 2026-11-27 --return 2026-11-30 --adults 2 --children 4 --json

大人 2 名、子ども 4 名を対象に、すべての客室クラスの往復運賃マトリックスを表示します。

日付変更可能な料金マトリックス
alaska-airlines-pp-cli flights shoulder-dates --json

希望する出発日の近辺の日付の運賃を取得できます。検索を N 回個別に実行せずに、より安い前後の日付を見つけられます。

特定の日付の特典検索
alaska-airlines-pp-cli flights award-search --origin SFO --destination HND --depart 2026-08-15 --return 2026-08-22 --cabin economy --json

特定の日付のマイル+現金の運賃マトリックスです。現金払いの flights search と同じエンドポイントを使い、ShoppingMethod=onlineaward を指定します。同じ結果を得るには、通常の flights search に --award を指定する方法もあります。

マイルを使った1か月以内の日本への最安往復旅行
alaska-airlines-pp-cli flights award-cheapest --origin SFO --destination-region japan --month 2026-08 --cabin economy --max-stops 1 --json

8月の日本の8空港について、すべての(出発日、帰国日)の組み合わせを並列処理し、マイル数が最も少ない往復旅行の上位5件を返します。--min-nights と --max-nights で旅行日数を指定できます(デフォルトは5~21泊)。--top-n で結果数を調整し、--concurrency で並列処理数を調整します。--save <path> を指定すると、上位N件だけでなく、結果全体を保存できます。

TPGの評価額を使った現金とポイントの比較
alaska-airlines-pp-cli flights value-compare --origin FCO --destination SEA --depart 2026-08-30 --cabin economy --max-stops 0 --json

同じ旅程について現金と特典航空券の検索を並行して実行し、初回利用時にTPGの月次Alaska/Atmosポイント単価(セント)を取得して(30日間キャッシュ)、同条件で比較できる結果を出力します。出力のメタ情報には cpp_baseline_source(tpg-live、tpg-cached、override、fallback-stale、fallback-constant)が含まれるため、エージェントは評価額の鮮度を確認できます。

TPG以外の評価額を使う場合は、次のように上書きします。

alaska-airlines-pp-cli flights value-compare --origin FCO --destination SEA --depart 2026-08-30 --cpp 1.2 --json
Atmos Rewardsの残高
alaska-airlines-pp-cli atmos-rewards balance --json

Cookieセッションを使用しているアカウントの現在のAtmos Rewardsポイント残高です。

空港の検索
alaska-airlines-pp-cli airports get --iata SEA --json

ローカルストアから、単一のIATAコードに対応する空港の詳細(都市、地域、緯度・経度、コードシェア航空会社)を取得します。

認証の設定

auth login --chrome を一度実行します。macOSキーチェーンを介して、ログイン済みのChromeプロファイルからAlaskaのCookie(AS_ACNT、AS_NAME、guestsession、ASSessionなど)を抽出します。以降のコマンドでは、ChromeのTLSフィンガープリントを使ったSurfトランスポート経由でCookieを再利用します。

alaska-airlines-pp-cli doctor を実行して設定を確認してください。doctor は認証と到達可能性を確認します。原稿で実装予定とされている専用の doctor --auth JWTデコードフラグは、この世代では実装されていません。

エージェントモード

任意のコマンドに --agent を追加します。次のオプションを指定した場合と同じ動作になります:--json --compact --no-input --no-color --yes。

  • パイプ可能 — stdoutにはJSONを、stderrにはエラーを出力します

  • フィルター可能 — --select でフィールドを絞り込めます。ドット区切りのパスはネストされた構造に対応し、配列では各要素を順にたどります。出力量の多いAPIでコンテキストを小さく保つために重要です:

    alaska-airlines-pp-cli airports list --agent --select id,name,status
    
  • プレビュー可能 — --dry-run でリクエストを送信せずに内容を表示します

  • オフラインでも利用可能 — 同期/検索コマンドでは、利用可能な場合にローカルのSQLiteストアを使用できます

  • 非対話型 — プロンプトは表示されず、すべての入力をフラグで指定します

  • 明示的な再試行 — すでに存在するリソースの作成を成功として扱う場合に限り、--idempotent を使用します

レスポンスエンベロープ

ローカルストアまたはAPIから読み取るコマンドは、出力を出所情報のエンベロープでラップします。

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

データには .results を使用し、ライブデータかローカルデータかを確認するには .meta.source を参照してください。人が読める N results (live) という要約は、stdoutがターミナルの場合にのみstderrへ出力されます。パイプやエージェントで利用する場合、stdoutには純粋なJSONのみが出力されます。

エージェントへのフィードバック

あなた(またはエージェント)がこのCLIについて気になる点に気づいたら、記録してください。

alaska-airlines-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
alaska-airlines-pp-cli feedback --stdin < notes.txt
alaska-airlines-pp-cli feedback list --json --limit 10

記録は ~/.alaska-airlines-pp-cli/feedback.jsonl にローカル保存されます。ALASKA_AIRLINES_FEEDBACK_ENDPOINT が設定され、さらに --send が指定されているか、ALASKA_AIRLINES_FEEDBACK_AUTO_SEND=true の場合を除き、POSTされることはありません。デフォルトではローカルにのみ保存されます。

バグ報告ではなく、意外に感じたことを書いてください。短く、具体的に、1行で。それが積み重なっていく部分です。

出力先

すべてのコマンドで --deliver <sink> を指定できます。出力は標準出力に加えて(または標準出力の代わりに)指定した出力先に送られるため、エージェントはコマンド結果を手作業でパイプせずに振り分けられます。次の3つの出力先に対応しています:

出力先動作
stdoutデフォルト。標準出力にのみ書き込みます
file:<path>出力を <path> にアトミックに書き込みます(一時ファイル+リネーム)
webhook:<url>出力本文をURLにPOSTします(--compact の場合は application/json または application/x-ndjson)

未対応のスキームは、対応する出力先を示す構造化エラーとともに拒否されます。Webhookへの送信に失敗すると、ゼロ以外の終了コードを返し、URLとHTTPステータスをstderrに記録します。

名前付きプロファイル

プロファイルは、保存したフラグ値のセットで、複数の呼び出しで再利用できます。スケジュールされたエージェントが、毎回同じ設定で同じコマンドを呼び出す場合に使用します。これは HeyGen の「Beacon」パターンです。

alaska-airlines-pp-cli profile save briefing --json
alaska-airlines-pp-cli --profile briefing airports list
alaska-airlines-pp-cli profile list --json
alaska-airlines-pp-cli profile show briefing
alaska-airlines-pp-cli profile delete briefing --yes

明示的に指定したフラグは常にプロファイルの値より優先され、プロファイルの値はデフォルト値より優先されます。agent-context では、利用可能なすべてのプロファイルが available_profiles の下に一覧表示されるため、情報を調べるエージェントは実行時にプロファイルを検出できます。

終了コード

コード意味
0成功
2使用エラー(引数が正しくありません)
3リソースが見つかりません
4認証が必要です
5API エラー(上流の問題)
7レート制限中です(待ってから再試行してください)
10設定エラー

引数の解析

$ARGUMENTS を解析します。

  1. 空、help、または --help → alaska-airlines-pp-cli --help の出力を表示します
  2. install で始まる場合 → mcp で終わる場合は → MCP のインストール、それ以外の場合は → 上記の前提条件を参照します
  3. その他の場合 → 直接使用(--agent を付けて CLI コマンドとして実行します)

MCP サーバーのインストール

この CLI の公開ライブラリーエントリーまたはビルド済みリリースから MCP バイナリーをインストールし、登録します。

claude mcp add alaska-airlines-pp-mcp -- alaska-airlines-pp-mcp

確認:claude mcp list

直接使用

  1. インストール済みか確認します:which alaska-airlines-pp-cli 見つからない場合は、インストールを提案します(このスキルの冒頭にある前提条件を参照してください)。
  2. ユーザーのクエリに最適なコマンドを、上記の独自の機能とコマンドリファレンスから選びます。
  3. --agent フラグを付けて実行します。
    alaska-airlines-pp-cli <command> [subcommand] [args] --agent
    
  4. あいまいな場合は、サブコマンドのヘルプを確認します:alaska-airlines-pp-cli <command> --help.

コメント