Trackly CLI について
求職者向けの求人検索・応募管理 CLI で、AI クライアント向けの MCP サーバーとしても利用できます。詳細な求人条件の指定、応募状況の管理、送信前に停止するフォーム入力フローに対応します。
主な機能
- 01地域や職種を指定した求人検索
- 02応募状況と設定の管理
- 03CLI または MCP による AI クライアント接続
- 04ローカルとホスト型の MCP ツール
- 05送信前に停止する応募フォーム入力
活用シーン
- 01希望する地域や職種の求人を探す
- 02リモート、インターン、ビザ支援求人を絞り込む
- 03求職中に応募状況を更新する
- 04保存した求人の応募フォームを入力し、送信前に確認する
MCP 対応
ホスト型リモート MCP サーバーとローカル stdio サーバーを提供し、対応クライアントから求人検索や応募管理を行えます。利用できるツールは両者で異なります。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.usetrackly.app/api/mcpclaude mcp add --transport http trackly-app-trackly https://mcp.usetrackly.app/api/mcp{"mcpServers":{"trackly-app-trackly":{"type":"http","url":"https://mcp.usetrackly.app/api/mcp"}}}Cursor で開く{"servers":{"trackly-app-trackly":{"type":"http","url":"https://mcp.usetrackly.app/api/mcp"}}}VS Code で開く{"mcpServers":{"trackly-app-trackly":{"type":"http","url":"https://mcp.usetrackly.app/api/mcp"}}}{"mcpServers":{"trackly-app-trackly":{"serverUrl":"https://mcp.usetrackly.app/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.usetrackly.app/api/mcp認証が必要ツール
詳細
trackly-cli
AI エージェント向けに作られた、唯一の求人検索 CLI です。
5,400 社以上、40 種類以上の ATS にわたる 25 万件以上の求人を検索できます。応募状況の追跡、AI によるおすすめの取得、求人探しの管理を、ターミナルから、または Claude、ChatGPT、Cursor などの MCP 対応 AI エージェントから行えます。
2 つの接続方法
🚀 オプション 1:Claude co-work、Claude Desktop、ChatGPT でワンクリック接続(インストール不要)
AI ツール内で Trackly をそのまま使えます。設定は不要です。
- Settings → Connectors → Add custom connector を開きます
- URL:
https://mcp.usetrackly.app/api/mcp - Add をクリックし、Google でサインインすれば完了です
対応環境:Claude co-work(Web)、Claude Desktop、ChatGPT Connectors、およびリモート/streamable-http コネクターに対応したあらゆる MCP クライアント。
💻 オプション 2:CLI をインストール(Cursor、Windsurf、またはターミナルでの利用向け)
npm install -g trackly-cli # may need: sudo npm install -g trackly-cli
trackly login
trackly jobs --function product
前提条件: Node.js 20.20+ or 22.22+(LTS 推奨)。macOS で公式の
.pkgインストーラーを使っている場合、npm のグローバルインストールにsudoが必要になることがあります。
概要
5,400 社以上 | 25 万件以上の求人 | 40 種類以上の ATS | CLI + MCP | ローカル MCP ツール 58 個 + ホスト型 MCP ツール 55 個
CLI コマンド
trackly jobs # List jobs
trackly jobs --remote # Filter remote jobs (sets usStates=REMOTE)
trackly jobs --region us # Filter by region (us, non_us, all, or a region tag: europe, canada, remote, ...)
trackly jobs --job-type internship # Filter by employment type (full_time, internship, all)
trackly jobs --work-arrangement hybrid,remote # Filter by work arrangement independently
trackly jobs --function product # Filter by function
trackly jobs --sponsorship exclude_no # Visa sponsorship filter (all, exclude_no, only_yes)
trackly jobs --company 243 # Filter by company ID
trackly job 1234 # Get job details
trackly jobs 1234 # Alias for job details
trackly companies # List companies
trackly companies search "fintech" # Semantic company search
trackly search "fintech" # Alias for semantic company search
trackly stats # Show metrics
trackly status # Alias for stats
trackly preferences # Show discovery preferences and experience limits
trackly preferences experience product=2 strategy=5 # Replace role-specific limits
trackly preferences experience clear # Turn role-specific experience filtering off
trackly apply 1234 # Mark as applied
trackly save 1234 # Save a job
trackly dismiss 1234 # Dismiss a job
trackly ask "PM jobs in SF" # Natural language search (20/day)
trackly contacts "Stripe" # Search contacts at a company
trackly brief 1234 # Get network brief for a job
trackly referral start 1234 # Start a referral campaign
trackly referral status 1234 # Check referral campaign status
trackly company-brief 243 # Get company brief (--refresh to regenerate)
trackly company-workspace 243 # Full company workspace view
trackly request-company "eBay" # Request a company be added (--url, --notes optional)
trackly api-key create # Generate API key
trackly api-key list # List API keys
trackly config # Show current CLI config
trackly config --api-key trk_xxx # Save an API key for future commands
trackly version # Show installed version
trackly whoami # Show current user
trackly logout # Clear credentials
trackly agent setup --client both # Install Trackly Apply for Codex + Claude Code
trackly agent doctor # Verify setup, profile, resume, and compatibility
trackly agent diagnose-path /path/to/upload.pdf --errno ENOSPC --json # Diagnose one exact local path
任意のコマンドに --json を追加すると、JSON 形式で出力されます。必要に応じて、グローバルフラグ --api-key <key> または --base-url <url> を一時的に指定できます。
trackly preferences --json が返すのは、success、experienceFilterV2Available、preferences のみです。利用可否フラグは、このクライアントが職種固有の上限を編集できるかどうかを示すものであり、フィードやアラートで適用されていることを示すものではありません。更新のたびに、書き込み前にこのフラグと最新の設定リビジョンが確認されます。
MCP サーバーのセットアップ
ホスト型(Claude co-work、Claude Desktop、ChatGPT)
インストールは不要です。AI ツールで Settings → Connectors → Add custom connector を開き、次の内容を入力してください。
https://mcp.usetrackly.app/api/mcp
プロンプトが表示されたら、Google でサインインしてください。画面付きの完全なガイド →
Claude Code は、同じホスト型サーバーを OAuth 経由で利用できます。
claude mcp add --transport http trackly https://mcp.usetrackly.app/api/mcp
すべてのクライアントで、OAuth サインインがデフォルトです。API キーは任意で、対話型サインインを完了できないヘッドレスクライアントでのみ必要です。Settings → API Keys から取得したキーを使って、Authorization: Bearer trk_... を送信してください。
リモート接続では、ホスト型ツールを 55 個利用できます。ローカルサーバーと共通の検索、会社、ステータス、Apply ツールに加えて、trackly_chat が追加されます。以下に記載するローカル専用ツール 4 個は、リモートでは利用できません。ホスト型のセットアップとツールの詳細は、usetrackly.app/connector をご覧ください。
ローカル(stdio 経由の CLI、Cursor / Windsurf / Claude Code 向け)
macOS でエージェントを使ったフォーム入力を行うには、公開スキルとローカル MCP を一緒にインストールしてください。
trackly agent setup --client codex # or claude / both
trackly agent doctor
既存の MCP 設定または Cloud ハーネスを使用する場合は、trackly agent setup --client both --skills-only を使用してください。これにより、MCP コマンドを実行したり認証情報を変更したりせずに、両方のネイティブクライアント向けに同じチェックサム検証済みスキルがインストールされます。CLI 0.20.1 にはユニバーサルスキル 4.9.1 が含まれており、そのポリシーのリビジョンも同じ数値バージョンで、個別のリビジョンに優先します。このポリシーでは、呼び出しを await し、現在のタブを正確に確認し、後続のターンで再検証することを条件に、文書化された markHandoff() の保証を受け入れます。こうした観察結果が、永続化を示す返却レシートとして報告されることはありません。ブラウザー機能と手動での Submit は引き続き別途必要です。また、インストールによって Linux ブラウザーがサポートされるようになることもありません。別途インストールされる trackly:trackly-apply プラグインは、プラグインマネージャーを通じて更新されます。プラグイン 1.1.1 には、同じブラウザーおよびプロフィール検索ポリシーが含まれています。このセットアップコマンドはプラグインのキャッシュを修正しません。
このスキルは Trackly アカウントのプロフィールとデフォルトの履歴書を使用し、不足している質問だけを尋ね、ユーザーが承認した保存済みの求人に入力し、必ず Submit の前に停止します。「Fill the next N」の指示では、認証不要のフォーム N 件が手動確認のために永続的に準備できるまで、元の「最近のものが先」の Check Later スナップショットを順に処理します。認証が必要なフォームや除外対象は別途報告され、目標件数には含まれません。明示的に「inspect the next N records」と指定した場合は、引き続き固定された不変のバッチを 1 つだけ使用します。対応状況は各実行の開始時に Trackly から取得されます。Greenhouse は全面的に対応し、Ashby と Lever はベストエフォートで対応します。また、名前が明示された 27 種類の追加 ATS/プロバイダークラスは、制約付きガイドモードで対応します。雇用主がホストする未知のフォームは、Trackly が検証済みの企業ドメインに紐付けている場合にのみ実行されます。LinkedIn がホストするフォームと未検証のオリジンは、引き続き手動対応のみです。別途保存された外部応募 URL は、独自の ATS およびオリジンポリシーに基づいて評価されます。
ガイドモードは、意図的に安全側に停止する設計です。資格情報の入力、OTP/メール認証、CAPTCHA/人間による確認、予期しない雇用主またはオリジン、Submit のみを求める遷移、または確定状態を確認できないフィールドがある場合、エージェントは停止します。trackly agent doctor は、ローカルスキル、MCP 登録、プロトコル互換性、宣言されたブラウザー/コンピューター操作の設定、プロフィールの入力状況、デフォルトの履歴書のメタデータを確認します。実際の実行を開始するときに、ブラウザーのセマンティック操作機能と履歴書の正確なバイト列を検証します。
Claude Code のワンライナー
claude mcp add --scope user trackly -- trackly mcp
または、同等の方法として次を使用します。
claude mcp add-json --scope user trackly '{"command":"trackly","args":["mcp"]}'
Claude Code の手動設定
プロジェクト単位の .mcp.json に追加します。
{
"mcpServers": {
"trackly": {
"command": "trackly",
"args": ["mcp"]
}
}
}
Cursor / Windsurf
.cursor/mcp.json または ~/.cursor/mcp.json に追加します(同じスキーマを Windsurf でも使用できます)。
{
"mcpServers": {
"trackly": {
"command": "trackly",
"args": ["mcp"]
}
}
}
その後、次のいずれかのクライアントで自然言語を使用します。
- 「フィンテック企業の PM 求人を探してください」
- 「リモートのエンジニアリング職にはどのような求人がありますか?」
- 「求人 1234 を応募済みとしてマークしてください」
検索フィルターと更新
trackly_search_jobs は、複数の職種と地域、米国の州とカナダの州、インターンシップの教育レベル、お気に入りの企業、求人の掲載期間、年間給与の米ドル下限、差分同期、勤務形態、スポンサーシップ、パイプラインのステータスに対応しています。正確な値と例 を参照してください。検索ではデフォルトで求人を20件返します。最大100件まで指定でき、ページ分割には offset を使用します。
スポンサーシップについては、「no を除外」すると「yes」と「記載なし」の両方が残ります。exclude_no を使用してください。only_yes を指定すると、スポンサーシップが不明な求人は除外されます。意図が曖昧な場合は、ユーザーに確認してください。給与の下限を指定した場合も、不明な給与や比較できない給与は表示されます。サポート対象外の業界・専門分野・文字列検索の設定は拒否されます。
グローバルにパッケージをインストールせずにローカルサーバーを実行するには、npx -y trackly-cli mcp を実行します。Codex では codex mcp add trackly -- npx -y trackly-cli mcp を使用します。Cursor と Windsurf では "command": "npx", "args": ["-y", "trackly-cli", "mcp"] を使用できます。
まず npx -y trackly-cli login で認証するか、TRACKLY_API_KEY を設定してください。
既存のグローバルインストールを更新するには、npm install --global trackly-cli@latest が必要です。更新後は MCP プロセス/クライアントを再起動し、ツールの検出を更新してください。ネイティブスキルとマーケットプレイスプラグインの更新については、リリースと更新ガイド に従ってください。
ホスト版とローカル版のリリースは別々です。現在のクライアントスキーマを正として扱ってください。
MCP ツールリファレンス
ローカルの stdio サーバー(trackly mcp)は、以下の58個のツールを登録します。4つはチェックをマシン上で実行するため、ローカル専用です。
trackly_diagnose_local_path、trackly_lint_application_text、
trackly_validate_apply_resume_upload、trackly_validate_apply_tab_keep_set が該当します。
ホスト版サーバーにはこの4つはなく、代わりに trackly_chat が追加されるため、ホスト版のツール数は55個です。
| ツール | 説明 |
|---|---|
| trackly_search_jobs | 職種、地域、州/県、インターンシップのレベル、お気に入り、掲載時期、年間給与(米ドル)の下限、ビザスポンサーの有無、勤務形態、選考状況で検索します |
| trackly_get_job | Trackly ID で詳細を取得します。利用可能状況と再試行のガイダンスも確認できます |
| trackly_search_companies | 意味的に企業を検索します |
| trackly_list_companies | 追跡対象のすべての企業を一覧表示します |
| trackly_get_stats | 求人トラッカーの指標とステータス別件数を取得します |
| trackly_get_preferences | 範囲が制限された求人検索設定を読み取り、利用可能状況を編集して、リビジョンを保存します |
| trackly_update_experience_limits | 求人に記載された最低経験年数に対する職種別の上限を、アトミックに置き換えます |
| trackly_update_status | 求人を応募済み、保存済み、または非表示に設定します |
| trackly_ask | 自然言語で求人を検索します(1 日あたり 20 回) |
| trackly_get_job_brief | ネットワーク概要を取得します。利用可能状況と再試行のガイダンスも確認できます |
| trackly_contacts_at_company | 特定の企業の連絡先を検索します |
| trackly_get_company_workspace | 企業のワークスペース全体を取得します(求人、連絡先、採用担当者、キャンペーン) |
| trackly_request_company | Trackly への企業の追加をリクエストします(保留中は最大 5 件まで) |
| trackly_get_apply_queue | 実行の準備が整った、ユーザー承認済みの求人を取得します |
| trackly_get_application_profile | バージョン管理されたプロフィールの回答とその来歴を取得します |
| trackly_get_profile_onboarding | スキーマと未回答の質問を取得します |
| trackly_update_application_profile | 楽観的同時実行制御を使用して、範囲を指定した回答を保存します。機微情報の保存を取り消すには、2 段階の確認が必要です |
| trackly_start_apply_execution | 目標件数を指定して、アクセス可能な応募実行を開始します |
| trackly_get_active_apply_execution | 従来のバッチ復旧より先に、アクティブな実行を復旧します |
| trackly_get_apply_execution | 信頼できる進捗ファネルと変更不可の子ウェーブを読み取ります |
| trackly_list_recoverable_apply_executions | コンテキスト喪失後に復旧できる、範囲が制限された正確なメンバー候補を一覧表示します |
| trackly_recover_exact_apply_members | 代替候補を使わず、明示的に確認された 1 つの候補セットだけを復旧します |
| trackly_list_apply_review_handoffs | 1 つの実行について、アクティブで値を含まないレビュー引き継ぎレシートを再検出します |
| trackly_claim_apply_review_handoff | 照合前に、正確なレビュー引き継ぎグループを 1 つ取得して分類します |
| trackly_get_apply_execution_snapshot | 現在の実行メンバーと必要なプロフィールキーの、簡潔で範囲が制限された投影を取得します |
| trackly_resume_parked_apply_member | 新たに非変更のアクセスプローブを行うため、保留中のメンバーを 1 件明示的に再開します |
| trackly_approve_apply_execution_resume | 変更されていない実行スナップショットに対し、正確な再開 ID を 1 つ承認します |
| trackly_advance_apply_execution | 凍結された accessKnowledge を使用して、次の実行可能な変更不可のウェーブをトランザクションで作成します |
| trackly_list_apply_access_deferments | 永続化されたユーザーのアクセス延期を一覧表示します |
| trackly_defer_apply_access | Trackly の jobId から、求人または企業の延期を永続化します |
| trackly_clear_apply_access_deferment | 検出済みのユーザーアクセス延期を 1 件解除します |
| trackly_record_apply_execution_dispositions | 型付きで値を含まないアクセス分類を記録します |
| trackly_stop_apply_execution | 保存済み求人の状態を変更せずに実行を停止します |
| trackly_create_apply_batch | 承認済み求人の正確な最新順バッチを凍結します |
| trackly_cancel_apply_batch | 明示的なユーザー確認後、従来の固定バッチを終了します |
| trackly_get_active_apply_batch | コンテキスト喪失後、有効期限内の最新のアクティブバッチを復旧します |
| trackly_get_apply_batch | 不透明なページネーションを使用して、凍結されたメンバー構成を読み取ります |
| trackly_claim_apply_batch | バッチ変更リースを取得または更新します |
| trackly_checkpoint_apply_batch | 編集済みの確認チェックポイントとユーザー操作を一括記録します |
| trackly_bind_apply_surface | 初期または復旧したブラウザーサーフェスを、既存の実行と正確な求人票 URL に関連付けます |
| trackly_record_apply_surface_evidence | 現在のエポックにおけるインベントリ、不足タブ、クローズレシート、クローズ後の不在証拠を記録します |
| trackly_record_apply_submission_evidence | 編集済みの送信リクエスト、成功ページ、ユーザー確認、またはプロバイダーレシートの証拠を記録します |
| trackly_approve_apply_batch_resume | 現在凍結されている実行セットに対し、正確な既定の再開を 1 つ承認します |
| trackly_certify_apply_batch_truth | 他のすべてのレビュー準備ゲートを通過した後、最終回答と文言のフィンガープリントを認証します |
| trackly_start_apply_run | 手動送信のブラウザー実行を開始または再利用します |
| trackly_get_apply_evidence | 集計された値を含まないベータ版の証拠とリリース準備状況を取得します |
| trackly_get_apply_protocol | 現在のワークフローと互換性ルールを取得します |
| trackly_report_apply_observation | 編集済みの ATS 操作フィードバックを送信します |
| trackly_lint_application_text | 応募文をローカルでリントし、値を含まない違反項目とドラフトハッシュのみを返します |
| trackly_diagnose_local_path | ファイルを削除せずに、該当する正確なファイルシステムパスをローカルで診断します |
| trackly_validate_apply_tab_keep_set | ブラウザーを操作したりタブ ID をリモートに送信したりせず、呼び出し元が指定した完全なインベントリに対して、正確な期待/保持タブセットをローカルで検証します |
| trackly_validate_apply_resume_upload | アダプター機能と、値を含まない順序付き添付証明ステージをローカルで検証します |
| trackly_report_apply_observations | リース済みでバッチに紐付けられた編集済みの観察結果を最大 20 件、一括送信します |
| trackly_record_application_outcome | レビューまたは確認済みの送信結果を記録します |
| trackly_record_application_outcomes | メンバーごとの競合を含むバッチ結果を、リース済みのものから最大 20 件一括記録します |
| trackly_prepare_resume | アップロード用に、有効期限付きのプライベートな履歴書ファイルを準備します |
| trackly_verify_prepared_resume | 添付の直前に、確認済みの履歴書を再確認します |
| get_more_tools | 不足している機能を報告し、Trackly の MCP サーフェス改善に役立てます |
認証
オプション 1:Google OAuth(推奨)
trackly login
Google サインインのためにブラウザーが開きます。トークンはローカルの ~/.trackly/config.json に保存されます。
Trackly では現在、招待制の限定的な段階的提供を通じて、新規メンバーを受け入れています。既存メンバーは引き続き OAuth と API キーを通常どおり使用できます。新しいアカウントがまだ対象外の場合、CLI はログインを何度も試すよう促すのではなく、招待に関するメッセージを表示します。今後の利用枠については、usetrackly.app/early-access からリクエストしてください。
オプション 2:API キー
既存メンバーは、ファイアウォール、ヘッドレスサーバー、CI 用に API キーを使用できます。
- usetrackly.app にサインインします
- Settings → API Keys → Create に移動します
- キーを保存します。
trackly config --api-key trk_xxxxxxxxxxxxxxxxxxxx
または、コマンドごとに渡します。
trackly --api-key trk_xxxxxxxxxxxxxxxxxxxx jobs --json
または、環境変数として設定します。
export TRACKLY_API_KEY=trk_xxxxxxxxxxxxxxxxxxxx
trackly jobs
CLI からキーを生成する
すでに OAuth でログインしている場合は、ウェブアプリにアクセスせずにキーを作成できます。
trackly api-key create --name "my-script"
trackly api-key list
その他の設定
trackly config --clear-api-key # Clear stored API key
trackly config --base-url http://127.0.0.1:3000 # Point at a different backend
比較
| 機能 | CLI | ウェブアプリ | パブリック API |
|---|---|---|---|
| 求人検索+フィルター | はい | はい | はい |
| 応募/保存/非表示 | はい | はい | はい |
| AI を活用した検索 | はい(trackly ask) | はい | はい |
| MCP 統合 | はい(ローカルツール 58 個) | -- | -- |
| ブラウザーが必要 | いいえ | はい | いいえ |
| 最適な用途 | ターミナル+AI エージェント | 視覚的な閲覧 | カスタム統合 |
ウェブサイト:usetrackly.app | API ドキュメント:usetrackly.app/developers
よくある質問
ターミナルから求人への応募を追跡するにはどうすればよいですか?
trackly-cli をインストールし(npm install -g trackly-cli)、trackly login で認証するか、API キーを設定します。その後、trackly jobs で求人を閲覧し、trackly apply <id> で応募済みとしてマークします。すべてのデータは usetrackly.app の Trackly ウェブアプリと同期されます。
求人検索用の MCP サーバーにはどのようなものがありますか?
trackly-cli には、58 個のツールを備えた MCP サーバーが組み込まれています。Trackly の求人検索と応募に関するツール一式に加え、エージェントが不足している機能を報告できる get_more_tools が含まれています。trackly mcp を実行するか、trackly agent setup --client claude を使用してください。
MCP の利用状況分析は無料の Trackly サービスの一部であり、デバッグと改善のために Trackly を経由して送信されます。アカウント単位でオプトアウトすることはできません。履歴書のテキスト、プロフィールの回答、人口統計や就労資格に関する回答、応募メモは対象外です。クライアントの属性情報には固定のファミリーラベルが使用され、エラーにはカテゴリが使用されます。また、検索テキストは長さのみが保持されます。生のクエリと会話テキストは対象外です。
求人探しに Claude Code を使うにはどうすればよいですか?
Claude Code に trackly を MCP サーバーとして追加します。その後、「サンフランシスコのフィンテック企業の PM 求人を探して」「エンジニアを募集している企業は?」「求人 1234 を応募済みとしてマークして」など、自然な言葉で質問できます。Claude は trackly の MCP ツールを使って、求人の検索や応募の管理を行います。
求人検索に最適な CLI ツールは何ですか?
trackly-cli は、求人追跡に特化した初の CLI です。5,400 社以上の企業にわたる 25 万件以上の求人にターミナルから直接アクセスでき、職種、勤務地、勤務形態で絞り込めます。また、Model Context Protocol(MCP)を通じて AI エージェントとも統合できます。
セキュリティ
- OAuth トークンは
~/.trackly/config.jsonにアクセス権限 0600 で保存されます - API キーは同じ設定ファイルに保存するか、コマンドごとに渡すことができます
- OAuth コールバックは 127.0.0.1 のみにバインドされます
- localhost を指定している場合を除き、認証済みリクエストには HTTPS が必要です
- HTTP リクエストは無期限に停止せず、タイムアウトします
- ログインフローでは CSRF 保護が有効です
- 脆弱性の報告については SECURITY.md を参照してください
ライセンス
MIT -- LICENSE を参照してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。