mcpField
P
pp-airhint

pp-airhint

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

pp-airhint について

pp-airhint は、AirHint でのフライト検索と航空券価格予測を行う CLI スキルです。購入か待機かの提案に加え、日付や経路をまとめて比較する機能とエージェント向け出力を備えています。

主な機能

  1. 01フライト検索と現在価格の取得
  2. 02航空券の購入・待機予測
  3. 03日付範囲での予測一括取得
  4. 04複数経路の比較
  5. 05月内の最安出発日の検索
  6. 06エージェント向け出力と配信先指定

活用シーン

  1. 01航空券を購入する時期を決める
  2. 02旅行日ごとの予測運賃を比較する
  3. 03同じ日付で複数の経路を比較する
  4. 04月内で最も安い出発日を探す

MCP 対応

README には、MCP クライアント向けに MCP バイナリ `airhint-pp-mcp` をインストールして登録する方法が記載されています。サーバーが公開するツールやデータの説明はありません。

インストール

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

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

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

詳細

Airhint — Printing Press CLI

前提条件:CLI をインストールする

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

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

npx によるインストールに失敗した場合(Node がない、オフラインなど)は、Go を直接インストールする方法に切り替えてください(Go 1.26.6 以降が必要です)。この方法では $GOPATH/bin(既定は $HOME/go/bin)にインストールされるため、代わりにそのディレクトリを $PATH に追加してください。

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

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

AirHint の航空券価格予測 API — 航空券の購入/待機を推奨

独自の機能

これらの機能は、この API のほかのどのツールでも利用できません。

複合クエリ
  • workflow predict-sweep — ルートの期間を指定して購入/待機の予測を調べ、各日付の最新価格を取得します

    日程に柔軟性のある旅行者向けに、価格をまとめて分析できます。購入するのに最も安く、かつ最も安全な日付を見つけられます。

    airhint-pp-cli workflow predict-sweep STN DUB --days 14 --airline FR --json
    
  • workflow compare-routes — 同じ日付について、複数の出発地と目的地の組み合わせで購入/待機の予測を比較します

    ブラウザーのタブを3つ以上開く代わりに、1つのコマンドで3つ以上のルートを比較できます。エージェントネイティブな旅行計画を実現します。

    airhint-pp-cli workflow compare-routes 2026-08-16 STN:DUB LGW:BCN MAD:LIS --json
    
蓄積されるローカル状態
  • workflow cheapest-window — cheapest-deal-month および cheapest-airline-deal-month エンドポイントを使用して、指定した月で最も安い出発日を見つけます

    ブラウザーを開かずに、「8月に STN→DUB が最も安いのは何日?」という質問に答えます。

    airhint-pp-cli workflow cheapest-window STN DUB 8 --airline FR
    

HTTP トランスポート

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

検出シグナル

この CLI は、ブラウザーで観測されたトラフィックのコンテキストを基に生成されています。

  • キャプチャ範囲:合計16件のネットワークエントリーのうち、API エントリー8件
  • プロトコル:rest_json(信頼度75%)
  • 生成時のヒント:browser_http_transport、requires_protected_client、weak_schema_confidence
  • コマンド候補のアイデア:create_airport_names — 観測された POST /airport-names のトラフィックから派生。;get_DUB — 観測された GET /cheapest-deal-month/one-way/STN/DUB/{dub_id} のトラフィックから派生。;get_search — 観測された GET /search/{search_id} のトラフィックから派生。;list_2026_08_16 — 観測された GET /predict/FR/STN/DUB/2026-08-16 のトラフィックから派生。;list_airport_autocomplete — 観測された GET /airport-autocomplete のトラフィックから派生。;list_inline_ads — 観測された GET /inline-ads のトラフィックから派生。;list_kayak_location_lookup — 観測された GET /kayak-location-lookup のトラフィックから派生。
  • 注意事項:weak_schema_evidence:バイナリまたは protobuf のレスポンスからは、信頼できる JSON スキーマの証拠を得られません。

コマンドリファレンス

airport-autocomplete — 空港と都市の検索候補

  • airhint-pp-cli airport-autocomplete — 名前または IATA コードで空港と都市を検索します

airport-names — 空港名の一括検索

  • airhint-pp-cli airport-names — IATA コードのリストから空港名を取得します

cheapest-airline-deal-month — 月内の特定の航空会社の最安値プランを検索します

  • airhint-pp-cli cheapest-airline-deal-month <airline> <origin> <destination> <date> <currency> — 指定した日付に近い、指定ルートの特定の航空会社の最安運賃を取得します

cheapest-deal-month — 指定した月の最安フライトプランを検索します

  • airhint-pp-cli cheapest-deal-month <origin> <destination> <month> — 指定した月のルートの最安片道運賃を取得します

flights — フライト検索 — 空席のあるフライトと現在の料金を検索します

  • airhint-pp-cli flights create-search — フライト検索を開始し、ポーリング用の search_id を返します
  • airhint-pp-cli flights get-search — create_search の search_id を使って検索結果をポーリングします

predict — フライト料金の予測 — 購入または待機の推奨

  • airhint-pp-cli predict <airline> <origin> <destination> <date> — 指定した料金でのフライトについて、購入または待機の推奨を取得します
適切なコマンドを見つける

実行したいことは分かっていても、どのコマンドを使えばよいか分からない場合は、CLI に直接尋ねてください。

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

which は自然言語による機能の問い合わせを、この CLI の厳選された機能インデックスから最適なコマンドに対応付けます。終了コード 0 は少なくとも 1 件一致したことを示し、終了コード 2 は確度の高い一致がないことを示します。その場合は --help を使うか、より範囲を絞った問い合わせをしてください。

認証の設定

認証は不要です。

airhint-pp-cli doctor を実行してセットアップを確認してください。

エージェントモード

任意のコマンドに --agent を追加します。次のオプションに展開されます:--json --compact --no-input --no-color --yes。

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

  • フィルタリング可能 — --select でフィールドを絞り込めます。ドット区切りのパスはネストされた構造をたどり、配列には各要素に適用されます。出力が冗長な API でコンテキストを小さく保つために重要です。

    airhint-pp-cli airport-autocomplete --query example-value --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 が端末であり、かつ機械形式のフラグ(--json、--csv、--compact、--quiet、--plain、--select)が設定されていない場合に限り、stderr に出力されます。パイプ経由の利用やエージェントによる利用、および明示的な形式指定で実行した場合は、stdout に純粋な JSON が出力されます。

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

この CLI について気になる点に気付いた場合は(エージェントが気付いた場合も同様に)、記録してください。

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

記録は ~/.local/share/airhint-pp-cli/feedback.jsonl にローカル保存されます。AIRHINT_FEEDBACK_ENDPOINT が設定され、かつ --send が渡された場合、または AIRHINT_FEEDBACK_AUTO_SEND=true の場合を除き、POST されることはありません。デフォルトではローカルにのみ保存されます。

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

出力先

すべてのコマンドで --deliver <sink> を指定できます。出力は stdout に加えて、または stdout の代わりに、指定した出力先に送られるため、エージェントはコマンドの結果を手作業でパイプせずに転送できます。対応する出力先は 3 種類です。

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

未対応のスキームは、サポート対象の一覧を示す構造化エラーとともに拒否されます。Webhook の失敗時はゼロ以外の終了コードが返され、stderr に URL と HTTP ステータスが記録されます。

名前付きプロファイル

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

airhint-pp-cli profile save briefing --json
airhint-pp-cli --profile briefing airport-autocomplete --query example-value
airhint-pp-cli profile list --json
airhint-pp-cli profile show briefing
airhint-pp-cli profile delete briefing --yes

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

終了コード

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

引数の解析

$ARGUMENTS を解析します。

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

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

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

claude mcp add airhint-pp-mcp -- airhint-pp-mcp

確認:claude mcp list

直接使用

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

コメント