Trackly CLI

io.github.trackly-appPublished by GitHub account trackly-appv0.25.0Updated Nov 5, 2026

Search Thousands of jobs, Thousands of companies. MCP for Claude, ChatGPT, Codex and Cursor.

Overview

AI-generated overview

Trackly lets an assistant search 250K+ job postings across 5,400+ companies, track application status, and run guided, no-submit application form filling.

What you can do
  • Search and read job postings with filters for role, region, state/province, salary floor, sponsorship and work arrangement, plus natural-language search
  • Search and list tracked companies, request new ones, and read company workspaces, contacts and job briefs
  • Read tracker metrics and discovery preferences, and update experience limits
  • Mark jobs as applied, saved or dismissed, and read the approved Check Later queue
  • Read and update the versioned application profile and onboarding questions
  • Run and manage no-submit Apply executions and batches, including resume preparation, access deferments and redacted evidence recording
When to use it
Useful when someone wants an assistant to search and filter job openings, keep application status in sync with a Trackly account, or prepare job application forms for manual review. It suits job seekers working from Claude, ChatGPT, Cursor or a terminal rather than a browser.
Requirements
Either the hosted remote endpoint or the local npm package trackly-cli run with npx, which needs Node.js 20.20+ or 22.22+. A Trackly account is required: OAuth sign-in is the default, and headless clients can instead send an Authorization Bearer API key. New memberships are invite-based.
Before you install
The server holds a signed-in account and can change saved-job state, profile answers and Apply executions, so writes should be reviewed. Revoking sensitive storage deletes stored sensitive answers. Usage analytics relay through Trackly with no account-level opt-out. Resume files and local paths are handled during Apply flows; keep the API key secret.

Installation

In SourceWeft

  1. Open Trackly CLI in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.trackly-app%2Ftrackly/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "trackly-cli": {
      "type": "http",
      "url": "https://mcp.usetrackly.app/api/mcp"
    }
  }
}

README

[npm] [License: MIT] [Node 20.20+ or 22.22+] [MCP Server]

trackly-cli

The only job tracking CLI built for AI agents.

Search 250K+ jobs across 5,400+ companies and 40+ ATS types. Track applications, get AI-powered recommendations, and manage your job search -- from the terminal or through Claude, ChatGPT, Cursor, and other MCP-compatible AI agents.

Two ways to connect

🚀 Option 1: One-click in Claude co-work, Claude Desktop, ChatGPT (no install)

Use Trackly directly inside your AI — zero config:

  1. Open Settings → Connectors → Add custom connector
  2. URL: https://mcp.usetrackly.app/api/mcp
  3. Click Add → sign in with Google → done

Full setup guide with screenshots →

Works in: Claude co-work (web), Claude Desktop, ChatGPT Connectors, and any MCP client that supports remote/streamable-http connectors.

💻 Option 2: CLI install (for Cursor, Windsurf, or terminal use)

bash
npm install -g trackly-cli    # may need: sudo npm install -g trackly-clitrackly logintrackly jobs --function product

Prerequisites: Node.js 20.20+ or 22.22+ (LTS recommended). On macOS with the official .pkg installer, global npm installs may require sudo.

At a Glance

5,400+ companies | 250K+ jobs | 40+ ATS types | CLI + MCP | 58 local + 55 hosted MCP tools

CLI Commands

bash
trackly jobs                          # List jobstrackly 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 independentlytrackly jobs --function product       # Filter by functiontrackly jobs --sponsorship exclude_no # Visa sponsorship filter (all, exclude_no, only_yes)trackly jobs --company 243            # Filter by company IDtrackly job 1234                      # Get job detailstrackly jobs 1234                     # Alias for job detailstrackly companies                     # List companiestrackly companies search "fintech"    # Semantic company searchtrackly search "fintech"              # Alias for semantic company searchtrackly stats                         # Show metricstrackly status                        # Alias for statstrackly preferences                   # Show discovery preferences and experience limitstrackly preferences experience product=2 strategy=5  # Replace role-specific limitstrackly preferences experience clear # Turn role-specific experience filtering offtrackly apply 1234                    # Mark as appliedtrackly save 1234                     # Save a jobtrackly dismiss 1234                  # Dismiss a jobtrackly ask "PM jobs in SF"           # Natural language search (20/day)trackly contacts "Stripe"             # Search contacts at a companytrackly brief 1234                    # Get network brief for a jobtrackly referral start 1234           # Start a referral campaigntrackly referral status 1234          # Check referral campaign statustrackly company-brief 243             # Get company brief (--refresh to regenerate)trackly company-workspace 243         # Full company workspace viewtrackly request-company "eBay"        # Request a company be added (--url, --notes optional)trackly api-key create                # Generate API keytrackly api-key list                  # List API keystrackly config                        # Show current CLI configtrackly config --api-key trk_xxx      # Save an API key for future commandstrackly version                       # Show installed versiontrackly whoami                        # Show current usertrackly logout                        # Clear credentialstrackly agent setup --client both    # Install Trackly Apply for Codex + Claude Codetrackly agent doctor                 # Verify setup, profile, resume, and compatibilitytrackly agent diagnose-path /path/to/upload.pdf --errno ENOSPC --json  # Diagnose one exact local path

Add --json to any command for JSON output. Use --api-key <key> or --base-url <url> as one-off global flags when needed.

trackly preferences --json returns only success, experienceFilterV2Available, and preferences. The availability flag controls whether this client may edit role-specific limits; it does not claim that feed or alert enforcement is active. Every update checks that flag and the latest preference revision before writing.

MCP Server Setup

Hosted (Claude co-work, Claude Desktop, ChatGPT)

No install. In your AI tool, open Settings → Connectors → Add custom connector and enter:

text
https://mcp.usetrackly.app/api/mcp

Sign in with Google when prompted. Full visual guide →

Claude Code can use the same hosted server over OAuth:

bash
claude mcp add --transport http trackly https://mcp.usetrackly.app/api/mcp

OAuth sign-in is the default for every client. An API key is optional and only needed for headless clients that cannot complete an interactive sign-in: send Authorization: Bearer trk_... with a key from Settings → API Keys.

Remote connections get 55 hosted tools. They share the search, company, status, and Apply tools with the local server and add trackly_chat; the 4 local-only tools listed below are not available remotely. Hosted setup and tool details are at usetrackly.app/connector.

Local (CLI via stdio, for Cursor / Windsurf / Claude Code)

For agent-assisted form filling on macOS, install the public skill and local MCP together:

bash
trackly agent setup --client codex    # or claude / bothtrackly agent doctor

For an existing MCP configuration or a Cloud harness, use trackly agent setup --client both --skills-only. This installs the same checksummed skill for both native clients without invoking their MCP commands or changing authentication. CLI 0.20.1 carries universal skill 4.9.1; its policy revision is the same numeric version, superseding the personal revisions. The policy accepts a documented markHandoff() guarantee with awaited calls, exact current tab checks, and revalidation on later turns. These observations are never reported as returned persistence receipts. Browser capabilities and manual Submit remain separate requirements; installation does not make a Linux browser supported. The separately installed trackly:trackly-apply plugin is updated through its plugin manager; plugin 1.1.1 carries the same browser and profile lookup policies. This setup command does not patch plugin caches.

The skill uses the profile and default resume in your Trackly account, asks only missing questions, fills user-approved saved jobs, and always stops before Submit. “Fill the next N” continues through the original recent-first Check Later snapshot until N unauthenticated forms are durably ready for your manual review; authentication walls and exclusions are reported separately and do not consume the target. An explicit “inspect the next N records” request still uses one fixed immutable batch. Support is fetched from Trackly at the start of every run: Greenhouse is full, Ashby and Lever are best effort, and 27 additional named ATS/provider classes use constrained guided mode. Employer-hosted unknown forms run only when Trackly binds them to a verified company domain. LinkedIn-hosted forms and unverified origins remain manual-only; a separately stored external application URL is evaluated under its own ATS and origin policy.

Guided mode is deliberately fail-closed. The agent stops on credential entry, OTP/email verification, CAPTCHA/human verification, an unexpected employer or origin, a submit-only transition, or any field whose committed state cannot be observed. trackly agent doctor checks the local skill, MCP registration, protocol compatibility, declared browser/computer-use configuration, profile completeness, and default-resume metadata. Live semantic browser capability and the exact resume bytes are verified at the start of a real run.

Claude Code one-liner
bash
claude mcp add --scope user trackly -- trackly mcp

Or equivalently:

bash
claude mcp add-json --scope user trackly '{"command":"trackly","args":["mcp"]}'
Claude Code manual config

Add to a project-scoped .mcp.json:

json
{  "mcpServers": {    "trackly": {      "command": "trackly",      "args": ["mcp"]    }  }}
Cursor / Windsurf

Add to .cursor/mcp.json or ~/.cursor/mcp.json (same schema works for Windsurf):

json
{  "mcpServers": {    "trackly": {      "command": "trackly",      "args": ["mcp"]    }  }}

Then use natural language in any of these clients:

  • "Find me PM jobs at fintech companies"
  • "What remote engineering roles are available?"
  • "Mark job 1234 as applied"

Search filters and updates

trackly_search_jobs supports multiple roles and regions, US states and Canadian provinces, internship education levels, favorite companies, posting windows, annual USD salary floors, incremental sync, work arrangement, sponsorship and pipeline status. Exact values and examples. Search returns 20 jobs by default; request up to 100 and use offset to page.

For sponsorship, “exclude no” keeps yes and not mentioned. Use exclude_no; only_yes excludes jobs with unknown sponsorship. Ask the user when intent is ambiguous. Salary floors also keep unknown and non-comparable salaries visible. Unsupported industry/specialization/literal-search controls are rejected.

For a local server without a global package install, run npx -y trackly-cli mcp. For Codex, use codex mcp add trackly -- npx -y trackly-cli mcp; Cursor and Windsurf can use "command": "npx", "args": ["-y", "trackly-cli", "mcp"]. Authenticate with npx -y trackly-cli login first, or configure TRACKLY_API_KEY.

Existing global installs require npm install --global trackly-cli@latest. Restart the MCP process/client and refresh tool discovery after updating. For native skills and marketplace plugin updates, follow the release and update guide. Hosted and local releases are separate: the current client schema is authoritative.

MCP Tools Reference

The local stdio server (trackly mcp) registers the 58 tools below. Four are local-only because they run their checks on your machine: trackly_diagnose_local_path, trackly_lint_application_text, trackly_validate_apply_resume_upload, and trackly_validate_apply_tab_keep_set. The hosted server omits those four and adds trackly_chat, for 55 hosted tools.

ToolDescription
trackly_search_jobsSearch by roles, regions, states/provinces, internship level, favorites, recency, annual USD salary floor, sponsorship, work arrangement, and pipeline status
trackly_get_jobGet details by Trackly ID, with availability and retry guidance
trackly_search_companiesSemantic company search
trackly_list_companiesList all tracked companies
trackly_get_statsJob tracker metrics and status counts
trackly_get_preferencesRead bounded discovery preferences, edit availability, and save revision
trackly_update_experience_limitsAtomically replace role-specific limits on a job's stated minimum years
trackly_update_statusMark jobs as applied, saved, or dismissed
trackly_askNatural language job search (20/day)
trackly_get_job_briefGet a network brief, with availability and retry guidance
trackly_contacts_at_companySearch contacts at a specific company
trackly_get_company_workspaceFull company workspace (jobs, contacts, hiring managers, campaigns)
trackly_request_companyRequest a company be added to Trackly (rate-limited to 5 pending)
trackly_get_apply_queueGet user-approved jobs ready for execution
trackly_get_application_profileGet versioned profile answers and provenance
trackly_get_profile_onboardingGet schema plus missing questions
trackly_update_application_profileSave scoped answers with optimistic concurrency; revoking sensitive storage takes a two-step confirmation
trackly_start_apply_executionStart a target-counted accessible Apply execution
trackly_get_active_apply_executionRecover the active execution before legacy batch recovery
trackly_get_apply_executionRead the authoritative progress funnel and immutable child waves
trackly_list_recoverable_apply_executionsList bounded exact-member recovery candidates after context loss
trackly_recover_exact_apply_membersRecover only one explicitly confirmed candidate set without substitutes
trackly_list_apply_review_handoffsRediscover active, value-free review-handoff receipts for one execution
trackly_claim_apply_review_handoffClaim and classify one exact review-handoff group before reconciliation
trackly_get_apply_execution_snapshotFetch a compact bounded projection for current execution members and required profile keys
trackly_resume_parked_apply_memberExplicitly resume one parked member for a fresh non-mutating access probe
trackly_approve_apply_execution_resumeApprove one exact resume identity for an unchanged execution snapshot
trackly_advance_apply_executionTransactionally create the next eligible immutable wave with frozen accessKnowledge
trackly_list_apply_access_defermentsList persistent user access deferments
trackly_defer_apply_accessPersist a job or company deferment from a Trackly jobId
trackly_clear_apply_access_defermentClear one discovered user access deferment
trackly_record_apply_execution_dispositionsRecord typed, value-free access classifications
trackly_stop_apply_executionStop an execution without changing saved-job state
trackly_create_apply_batchFreeze an exact recent-first approved batch
trackly_cancel_apply_batchRetire a legacy fixed batch after explicit user confirmation
trackly_get_active_apply_batchRecover the newest unexpired active batch after context loss
trackly_get_apply_batchRead frozen membership with opaque pagination
trackly_claim_apply_batchAcquire or renew a batch mutation lease
trackly_checkpoint_apply_batchBulk-record redacted inspection checkpoints and human actions
trackly_bind_apply_surfaceBind an initial or recovered browser surface to the existing run and exact requisition URL
trackly_record_apply_surface_evidenceRecord current-epoch inventory, missing-tab, close-receipt, and post-close absence evidence
trackly_record_apply_submission_evidenceRecord redacted submit-request, success-page, user-confirmation, or provider-receipt evidence
trackly_approve_apply_batch_resumeApprove one exact default resume for the current frozen run set
trackly_certify_apply_batch_truthCertify final answer and wording fingerprints after every other review-readiness gate
trackly_start_apply_runStart or reuse a manual-submit browser run
trackly_get_apply_evidenceGet aggregate, value-free beta evidence and release readiness
trackly_get_apply_protocolGet current workflow and compatibility rules
trackly_report_apply_observationSend redacted ATS mechanics feedback
trackly_lint_application_textLocally lint application writing and return only value-free violations plus a draft hash
trackly_diagnose_local_pathLocally diagnose the exact implicated filesystem path without deleting files
trackly_validate_apply_tab_keep_setLocally validate an exact expected/keep tab set against complete caller-supplied inventories without controlling the browser or sending tab IDs remotely
trackly_validate_apply_resume_uploadLocally validate adapter capability and ordered value-free attachment proof stages
trackly_report_apply_observationsBulk-send up to 20 leased, batch-bound redacted observations
trackly_record_application_outcomeRecord review or confirmed submission outcome
trackly_record_application_outcomesBulk-record up to 20 leased batch outcomes with per-member conflicts
trackly_prepare_resumePrepare a private expiring resume file for upload
trackly_verify_prepared_resumeRecheck the confirmed resume immediately before attachment
get_more_toolsReport a missing capability so Trackly can improve its MCP surface

Authentication

Option 1: Google OAuth (recommended)

bash
trackly login

Opens your browser for Google sign-in. Tokens are stored locally at ~/.trackly/config.json.

Trackly is currently opening new memberships through a limited, invite-based rollout. Existing members can keep using OAuth and API keys normally. If a new account is not yet eligible, the CLI returns an invitation-specific message instead of suggesting repeated login attempts; request a future seat at usetrackly.app/early-access.

Option 2: API Key

Existing members can use an API key for firewalls, headless servers, or CI:

  1. Sign in at usetrackly.app
  2. Go to Settings → API Keys → Create
  3. Save the key:
bash
trackly config --api-key trk_xxxxxxxxxxxxxxxxxxxx

Or pass it per-command:

bash
trackly --api-key trk_xxxxxxxxxxxxxxxxxxxx jobs --json

Or set it as an environment variable:

bash
export TRACKLY_API_KEY=trk_xxxxxxxxxxxxxxxxxxxxtrackly jobs

Generate a key from the CLI

If you're already logged in via OAuth, you can create a key without visiting the web app:

bash
trackly api-key create --name "my-script"trackly api-key list

Other config

bash
trackly config --clear-api-key           # Clear stored API keytrackly config --base-url http://127.0.0.1:3000  # Point at a different backend

Comparison

FeatureCLIWeb AppPublic API
Job search + filtersYesYesYes
Apply/save/dismissYesYesYes
AI-powered searchYes (trackly ask)YesYes
MCP integrationYes (58 local tools)----
Browser requiredNoYesNo
Best forTerminal + AI agentsVisual browsingCustom integrations

Web: usetrackly.app | API docs: usetrackly.app/developers

Frequently Asked Questions

How do I track job applications from the terminal?

Install trackly-cli (npm install -g trackly-cli), authenticate with trackly login or configure an API key, then use trackly jobs to browse openings and trackly apply <id> to mark applications. All data syncs with the Trackly web app at usetrackly.app.

What MCP servers exist for job searching?

trackly-cli includes a built-in MCP server with 58 tools: the complete Trackly job-search and application set plus get_more_tools, which lets agents report a missing capability. Run trackly mcp or use trackly agent setup --client claude.

MCP usage analytics are part of the free Trackly service and relay through Trackly so it can be debugged and improved; there is no account-level opt-out. They exclude résumé text, profile answers, demographic or work-authorization answers, and application notes. Client attribution uses a fixed family label; errors use categories, and search text is retained only as length. Raw queries and conversation text are excluded.

How do I use Claude Code for job hunting?

Add trackly as an MCP server in Claude Code. Then ask questions naturally: "Find PM jobs at fintech companies in SF", "What companies are hiring for engineering?", or "Mark job 1234 as applied." Claude will use trackly's MCP tools to search and manage your applications.

What are the best CLI tools for job search?

trackly-cli is the first dedicated job tracking CLI. It provides direct terminal access to 250K+ jobs across 5,400+ companies, with filters for job function, location, and work modality. It also integrates with AI agents via the Model Context Protocol (MCP).

Security

  • OAuth tokens stored in ~/.trackly/config.json with 0600 permissions
  • API keys can be stored in the same config file or passed per-command
  • OAuth callback bound to 127.0.0.1 only
  • Authenticated requests require HTTPS unless you are pointing at localhost
  • HTTP requests time out instead of hanging indefinitely
  • CSRF protection on login flow
  • See SECURITY.md for vulnerability reporting

License

MIT -- see LICENSE

Source: README.md at commit 9d388fa

Tools

58

trackly_search_jobs

Search and filter job postings. Returns one matching page with title, company, location, structured fields and backend pagination. Use jobFunctions for multiple roles, region for multiple regions, and usStates/caProvinces for geographic detail. Work arrangement is independent from geography and employment type. Unknown sponsorship and non-comparable salary data stay visible with exclude_no and salaryFloorUsd. Never invent industry, specialization, exclusion or literal-search controls; ask when sponsorship intent is ambiguous. If the total is unavailable, returned matching jobs remain valid. Explain countGuidance and use hasMore/pagination; do not retry just for totals.

ParameterssortlimitsinceoffsetregionremotestatuscontextfunctionkeywordsusStatescompanyId+11 more

trackly_get_job

Get full details for a Trackly job ID returned by search or your saved queue. Missing or closed postings return availability=unavailable with retryable=false and a next step; do not retry that ID. Failures include a category and retry guidance.

Parametersidrequiredcontext

trackly_search_companies

Semantic search for companies by name, domain, or keywords.

Parameterslimitqueryrequiredcontext

trackly_list_companies

List all tracked companies with their active job counts.

Parameterslimitoffsetcontext

trackly_get_stats

Get job tracker metrics: total jobs, companies, application status counts.

Parameterscontext

trackly_get_preferences

Read the authenticated user's discovery preferences, including selected and effective job functions, role-specific experience limits and active state, and the discoveryPreferenceRevision required for a safe update.

Parameterscontext

trackly_update_experience_limits

Atomically replace the complete role-specific experience-limit map. Each value is the highest stated minimum years requirement the user wants for that job function. When Trackly enforcement is active, a job is included when its stated minimum is less than or equal to the limit. Jobs with no stated minimum remain visible. An empty object clears the saved limits. experienceFilterV2Available reports edit capability, not enforcement state. Read discoveryPreferenceRevision with trackly_get_preferences first. If the backend returns a revision conflict, refetch and reconcile with the user; never retry blindly with the newer revision.

ParameterscontextexpectedPreferenceRevisionrequiredexperienceLimitsByJobFunctionrequired

trackly_update_status

Update a job application status (apply, save, or dismiss).

Parametersidrequiredactionrequiredcontext

trackly_ask

Natural language job search. Describe what you are looking for and the AI parses it into structured filters. Limited to 20 queries per day.

Parametersqueryrequiredcontext

trackly_get_job_brief

Get a network brief for a Trackly job ID, including company signal, recommended motion, top contact and suggested actions. Missing or closed postings return availability=unavailable with retryable=false; search for another opening. Failures include a category and retry guidance.

ParametersjobIdrequiredcontext

trackly_contacts_at_company

Search contacts at a specific company. Returns matching contacts with name, title, email, and status.

Parameterslimitcompanyrequiredcontext

trackly_get_company_workspace

Get the full workspace view for a company: active jobs, contacts, hiring managers, coverage gap, and campaign status.

ParameterscontextcompanyIdrequired

trackly_request_company

Request that a company be added to Trackly's tracked companies. Use when the user asks about a company that isn't in trackly_search_companies / trackly_list_companies results. Rate-limited to 5 pending requests per user.

ParametersnotescontextcompanyUrlcompanyNamerequired

trackly_get_apply_queue

Get the deterministic queue of jobs the user already approved by saving as check later. Do not rescore or veto these jobs.

Parameterslimitcursorcontext

trackly_get_application_profile

Get the versioned application profile. Sensitive values are returned only after the user opted into encrypted storage.

ParametersofficecontextprovidercompanyIdjurisdictionincludeSensitive

trackly_get_profile_onboarding

Get the backend-owned profile schema and onboarding questions. Ask only fields whose state is unknown or needs confirmation.

Parameterscontext

trackly_update_application_profile

Update confirmed profile answers with optimistic concurrency. Use global scope only for an explicit always-answer preference. Setting sensitiveStorageConsent=false deletes every stored sensitive and restricted answer (an admin-recoverable archive is kept for 30 days, then purged) and is a two-step action: the first call saves nothing and returns a confirmation challenge; retry with the echoed sensitiveRevocationConfirmToken to proceed.

ParameterssourcechangescontexteducationconfirmProfileexpectedRevisionrequiredsensitiveStorageConsentsensitiveRevocationConfirmToken

trackly_start_apply_execution

Start a server-owned no-submit execution. For named or explicitly selected jobs, supply their exact ordered jobIds and set target to their count; no replacement outside that set is allowed. Omit jobIds only for a user-requested recent-first queue target. Consume authoritative progress and nextAction; never fall back to count-only after an exact selection is rejected.

ParametersmoderequiredjobIdstargetrequiredcontextidempotencyKeyrequired

trackly_get_active_apply_execution

Recover the active Apply execution before recovering or creating a legacy fixed batch.

Parameterscontext

trackly_get_apply_execution

Read the authoritative execution state, latest current-wave identity, and aggregate progress funnel.

ParameterscontextexecutionIdrequired

trackly_list_recoverable_apply_executions

List bounded, value-free exact-member recovery candidates after local context loss. Show the stable job identities to the user and obtain explicit confirmation before recovery; never infer or substitute candidates.

Parameterscontext

trackly_recover_exact_apply_members

Create an exact-member recovery execution from one confirmed source snapshot. The asserted candidate set is immutable and replacements are forbidden.

ParameterscontextcandidateIdsrequiredidempotencyKeyrequiredsourceExecutionIdrequiredsourceSnapshotHashrequiredexplicitExactSetConfirmationrequired

trackly_list_apply_review_handoffs

List active, nonexpired review-handoff receipts for one execution after context loss. Returns only stable IDs, lifecycle metadata, and member bindings; never browser values, URLs, or local paths.

ParameterscontextexecutionIdrequired

trackly_claim_apply_review_handoff

Claim one exact, unambiguous review-handoff group and classify every member before grouped submission reconciliation. Never use this tool to infer submission or replace success-page evidence or explicit user confirmation.

ParameterscontextmembersrequiredhandoffIdrequiredidempotencyKeyrequired

trackly_get_apply_execution_snapshot

Fetch a compact, bounded projection for one Apply execution. Request only the current members and profile keys needed for the visible form. The response owns mutability, allowed operations, milestones, lease timing, and progress.

ParameterscontextmemberIdsrequiredexecutionIdrequiredprofileKeysbrowserSurfacerequiredofficeProjections

trackly_resume_parked_apply_member

Resume one parked execution member only after the user explicitly requests it. This requires a fresh non-mutating access probe and never authenticates, enters private data, or makes the member mutable by itself.

ParameterscontextmemberIdrequiredexecutionIdrequiredbrowserSurfacerequiredidempotencyKeyrequiredexpectedRevisionrequiredexplicitUserResumerequired

trackly_approve_apply_execution_resume

Approve one exact resume identity for the unchanged original snapshot of an Apply execution. This content approval may be reused across replacement waves, but every run still requires immediate local path, hash, size, and expiration verification before upload.

ParameterscontextresumeIdrequiredexpiresAtrequiredexecutionIdrequiredresumeSha256requiredidempotencyKeyrequiredresumeFilenamerequiredprofileRevisionrequiredresumeSizeBytesrequiredexpectedRevisionrequiredoriginalSnapshotHashrequired

trackly_advance_apply_execution

Advance an execution transactionally for the current browser surface. Returns the immutable proposedWave with frozen accessKnowledge receipts and never opens a browser. Same-key replay returns the same members, order, and rationale. Optional hash-bound accessReviewApproval probes the exact proposed job IDs only after personal deferments are cleared.

ParameterscontextexecutionIdrequiredbrowserSurfacerequiredidempotencyKeyrequiredexpectedRevisionrequiredaccessReviewApproval

trackly_record_apply_execution_dispositions

Record up to 20 typed, value-free live-probe access classifications, each bound to the exact current batch, member, run, and browser surface. Cache hints and static policy are server-owned. Never include URLs, labels, answers, credentials, OTPs, CAPTCHA text, or page content.

ParameterscontextexecutionIdrequireddispositionsrequiredidempotencyKeyrequiredexpectedRevisionrequired

trackly_stop_apply_execution

Stop the active execution without changing saved-job state or submitting any application.

ParameterscontextreasonCodeexecutionIdrequiredidempotencyKeyrequiredexpectedRevisionrequired

trackly_list_apply_access_deferments

List the current user's persistent Apply access deferments. Returns only job, company, or provider scope identities; never URLs, provider names, or chat text.

Parameterscontext

trackly_defer_apply_access

Persist an explicit user deferment for one Trackly job or its derived company or provider scope. Provider scope applies across companies until explicitly cleared. The server derives company, provider, tenant, origin, and route from jobId; never submit a provider name, URL, or free text.

ParametersjobIdrequiredscoperequiredcontextidempotencyKeyrequired

trackly_clear_apply_access_deferment

Clear one explicit user deferment previously listed or created in this session. An exact same-session retry remains idempotent.

ParameterscontextdefermentIdrequiredidempotencyKeyrequired

trackly_create_apply_batch

Freeze an exact recent-first set of approved Check Later jobs before browser work. New queue entries never change this batch.

ParameterslimitrequiredcontextidempotencyKeyrequired

trackly_cancel_apply_batch

Retire a legacy fixed Apply batch after the user explicitly chooses to start fresh. This preserves submitted work, Check Later jobs, and browser tabs; it never submits an application.

ParametersbatchIdrequiredcontextreasonCoderequiredidempotencyKeyrequiredexpectedRevisionrequired

trackly_get_apply_batch

Read an existing frozen Apply batch by opaque server pagination. Do not reorder, replace, or rescore members.

ParameterslimitcursorbatchIdrequiredcontextactionLimitactionCursor

trackly_get_active_apply_batch

Recover the newest unexpired frozen Apply batch for this user after context loss. Returns active=false when no resumable batch exists.

ParameterslimitcursorcontextactionLimitactionCursor

trackly_claim_apply_batch

Acquire or renew the optimistic lease required before mutating browser-bound batch members.

ParametersbatchIdrequiredcontextleaseOwnerrequiredleaseTokenrequiredleaseDurationMsrequiredexpectedRevisionrequired

trackly_checkpoint_apply_batch

Bulk-checkpoint up to 20 browser inspections. Persist only typed actions and redacted fingerprints; never send labels, options, answers, credentials, OTPs, CAPTCHA text, or page content.

ParametersbatchIdrequiredcontextleaseTokenrequiredcheckpointsrequired

trackly_approve_apply_batch_resume

Record one explicit content approval for the exact default-resume identity and complete current eligible frozen run set. This does not upload the file; every actual attachment still requires immediate path/hash verification.

ParametersbatchIdrequiredcontextresumeIdrequiredexpiresAtrequiredleaseTokenrequiredmemberRunsrequiredresumeSha256requiredidempotencyKeyrequiredmembershipHashrequiredresumeFilenamerequiredprofileRevisionrequiredresumeSizeBytesrequired

trackly_bind_apply_surface

Bind an initial or recovered browser surface to an existing frozen member and run. This increments the inspection epoch and returns only the exact backend-stored requisition URL; it never creates a replacement run.

ParametersrunIdrequiredbatchIdrequiredcontextmemberIdrequiredleaseTokenrequiredadapterCoderequiredbindingReasonrequiredbrowserSurfacerequiredidempotencyKeyrequiredbrowserBindingHashrequiredexpectedMemberVersionrequiredexpectedInspectionEpochrequired

trackly_record_apply_surface_evidence

Record value-free current-epoch inventory, missing-tab, close-receipt, post-close absence, or close-failure evidence. closed_verified requires complete controller+user union inventory, an explicit close receipt, and post-close union absence.

ParametersrunIdrequiredbatchIdrequiredcontextmemberIdrequiredleaseTokenrequiredadapterCoderequiredevidenceTyperequiredbrowserSurfacerequiredidempotencyKeyrequiredownershipStaterequiredcompleteInventoryrequiredbrowserBindingHashrequired+2 more

trackly_record_apply_submission_evidence

Record redacted request, success-page, explicit user-confirmation, or provider-receipt evidence for the current batch member and inspection epoch. Never send page text, receipt identifiers, or external references.

ParametersrunIdrequiredbatchIdrequiredcontextmemberIdrequiredleaseTokenrequiredevidenceTyperequiredevidenceSourcerequiredidempotencyKeyrequiredbrowserBindingHashrequiredevidenceFingerprintrequiredexpectedMemberVersionrequiredexpectedInspectionEpochrequired

trackly_certify_apply_batch_truth

Record a late, expiring truthfulness certification over final answer and wording fingerprints for the exact complete subset that is currently review-ready. Unresolved members remain resumable and do not block ready siblings. This never becomes a profile answer.

ParametersbatchIdrequiredcontextresumeIdexpiresAtrequiredleaseTokenrequiredmemberRunsrequiredresumeSha256idempotencyKeyrequiredmembershipHashrequiredprofileRevisionrequiredresumeDependencyrequiredanswerSnapshotHashrequired+1 more

trackly_start_apply_run

Start a legacy single run, or start/recover a frozen member when the complete batch binding is supplied. Recovered members already carrying runId must reuse that run without calling this tool.

ParametersjobIdrequiredbatchIdcontextmemberIdclientNameleaseTokenexpectedMemberVersionexpectedInspectionEpoch

trackly_get_apply_evidence

Get the authenticated user's aggregate, value-free Apply beta evidence and release gate. The report never returns answers, contact values, addresses, or page text.

ParameterscontextwindowDaystargetReviewedRuns

trackly_get_apply_protocol

Get the current browser workflow, ATS support matrix, integrity rules, and compatible public-skill major version. Fetch at the start of every run and again after maintenance before resuming the existing run.

Parameterscontext

trackly_report_apply_observation

Report a redacted ATS mechanics or scenario-coverage observation. Never include answer values, addresses, contact data, OTPs, or free-form page content.

ParametersrunIdrequiredbatchIdcontextmemberIdmetadatarequiredproviderrequiredfieldLabelrequiredleaseTokenresolutionCodeinspectionEpochobservationTyperequired

trackly_report_apply_observations

Bulk-report up to 20 redacted, batch-bound ATS mechanics or scenario-coverage observations in one request. Never include answer values, addresses, contact data, OTPs, or page content.

Parameterscontextobservationsrequired

trackly_record_application_outcome

Record review readiness or a user-confirmed outcome. Before handoff use literal outcome=review_ready and verify awaiting_manual_submit. Mark submitted with literal outcome=submitted only after a success page or explicit user confirmation.

ParametersrunIdrequiredbatchIdcontextoutcomerequiredmemberIdleaseTokenconfirmationidempotencyKeyrequiredinspectionEpoch

trackly_record_application_outcomes

Bulk-record up to 20 leased, batch-bound review or user-confirmed outcomes. Before handoff every item uses literal outcome=review_ready and every recorded run must return awaiting_manual_submit. After manual confirmation use literal outcome=submitted. Each member returns recorded or a stable conflict without hiding sibling results.

ParameterscontextoutcomesrequiredidempotencyKeyrequired

trackly_prepare_resume

Download the authenticated default resume into a mode-0600 temporary Trackly cache and return exact-file proof for user confirmation before browser upload.

ParametersrunIdrequiredcontextbrowserSurfacerequiredbrowserBindingHashrequired

trackly_lint_application_text

Locally lint a draft before form entry. Returns only a draft hash, length, policy, and stable violation codes. The draft is never sent to Trackly or echoed in the result.

ParameterstextrequiredclaimsrequiredcontextmaxLengthminLengthemDashPolicyclaimsCompleterequiredprohibitedPhrasesvoiceSampleAllowsEmDash

trackly_diagnose_local_path

Locally diagnose the exact filesystem path implicated by an I/O failure. Reports measured capacity, inode, mount, quota observability, and write-probe evidence without deleting user files or claiming a global disk cause.

ParameterscontextexactPathrequiredoriginalErrno

trackly_validate_apply_tab_keep_set

Locally validate a caller-supplied session-finalizer keep set against complete controller and user tab inventories. This pure helper never enumerates, focuses, closes, hands off, or finalizes browser tabs and never sends tab IDs to Trackly.

ParameterscontextkeepTabIdsrequireduserInventoryrequiredexpectedTabIdsrequiredcontrollerInventoryrequired

trackly_validate_apply_resume_upload

Locally validate the browser adapter capabilities and ordered, value-free proof stages required to claim one resume attachment. Set capabilities.directFileSet=true only for documented exact-input file setting: semantic_control_discovered -> set_files_succeeded -> user_facing_filename_committed -> parser_fields_rechecked, without chooser events. Otherwise require chooserArming and both chooser stages. This helper does not open a chooser, read a local path, control the browser, or send values to Trackly.

Parameterseventsrequiredcontextcapabilitiesrequired

trackly_verify_prepared_resume

Immediately before attachment, recompute the prepared resume fingerprint, validate its run and expiration, and lock the confirmed file read-only.

ParametersrunIdrequiredsha256requiredcontextresumeIdrequiredexpiresAtrequiredsizeBytesrequiredconfirmationIdrequiredexactLocalPathrequired

get_more_tools

Report a capability Trackly does not currently provide. Use structured categories; context is optional and is classified but never stored as raw text.

ParameterscontextrequestedActionrequestedResourcerequestedCapabilityrequestedDestination

Version history

11
  1. v0.25.0LatestNov 5, 2026
  2. v0.24.0Nov 3, 2026
  3. v0.23.0Oct 29, 2026
  4. v0.22.2Oct 25, 2026
  5. v0.22.1Oct 20, 2026
  6. v0.21.1Oct 20, 2026
  7. v0.20.1Oct 10, 2026
  8. v0.20.0Oct 10, 2026
  9. v0.18.6Sep 19, 2026
  10. v0.18.5Sep 19, 2026
  11. v0.18.4Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts