Back to Browse

Trackly Cli MCP Server

Developer ToolsLow Risk9.7LocalRemote
Free

AI recruiting agent for Claude Code, Cursor, Windsurf. 128K+ jobs across 1,900+ companies.

About

AI recruiting agent for Claude Code, Cursor, Windsurf. 128K+ jobs across 1,900+ companies.

Remote endpoints: streamable-http: https://mcp.usetrackly.app/api/mcp

Security Report

9.7
Low Risk9.7Low Risk

Valid MCP server (2 strong, 4 medium validity signals). No known CVEs in dependencies. ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

6 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

env_vars

Check that this permission is expected for this type of plugin.

Shell Command Execution

Runs commands on your machine. Be cautious — only use if you trust this plugin.

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

npm License: MIT Node 20+ MCP Server

trackly-cli

The only job tracking CLI built for AI agents.

Search 128,000+ jobs across 1,900+ 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)

npm install -g trackly-cli    # may need: sudo npm install -g trackly-cli
trackly login
trackly jobs --function product

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

At a Glance

1,900+ companies | 128K+ jobs | 40+ ATS types | CLI + MCP | 36 local MCP tools

CLI Commands

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 --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

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:

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

Sign in with Google when prompted. Full visual guide →

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

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

trackly agent setup --client codex    # or claude / both
trackly agent doctor

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. 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
claude mcp add --scope user trackly -- trackly mcp

Or equivalently:

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

Add to ~/.claude/settings.json:

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

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

{
  "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"

MCP Tools Reference

ToolDescription
trackly_search_jobsSearch and filter jobs by function, company, region, employment type, work arrangement, and status
trackly_get_jobGet full details for a specific job
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 network brief for a job (company signal, top contact, actions)
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_create_apply_batchFreeze an exact recent-first approved batch
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_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

Authentication

Option 1: Google OAuth (recommended)

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:
trackly config --api-key trk_xxxxxxxxxxxxxxxxxxxx

Or pass it per-command:

trackly --api-key trk_xxxxxxxxxxxxxxxxxxxx jobs --json

Or set it as an environment variable:

export TRACKLY_API_KEY=trk_xxxxxxxxxxxxxxxxxxxx
trackly 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:

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

Other config

trackly config --clear-api-key           # Clear stored API key
trackly 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 (36 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 36 tools for job search, company lookup, discovery preferences, application tracking, frozen-batch orchestration, profile onboarding, beta evidence, and manual-submit form preparation. Run trackly mcp or use trackly agent setup --client claude.

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 128,000+ job postings across 1,900+ 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

Reviews

No reviews yet

Be the first to review this server!