trackly-cli
MCP server for job search and application tracking, enabling AI agents to search jobs, get details, manage applications, and find contacts across 128K+ jobs and 1,900+ companies.
README
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:
- Open Settings → Connectors → Add custom connector
- URL:
https://mcp.usetrackly.app/api/mcp - 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 18+ (LTS recommended). On macOS with the official
.pkginstaller, global npm installs may requiresudo.
At a Glance
1,900+ companies | 128K+ jobs | 40+ ATS types | CLI + MCP | 11 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 --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 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
Add --json to any command for JSON output. Use --api-key <key> or --base-url <url> as one-off global flags when needed.
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)
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
| Tool | Description |
|---|---|
| trackly_search_jobs | Search and filter jobs by function, company, location, modality, status |
| trackly_get_job | Get full details for a specific job |
| trackly_search_companies | Semantic company search |
| trackly_list_companies | List all tracked companies |
| trackly_get_stats | Job tracker metrics and status counts |
| trackly_update_status | Mark jobs as applied, saved, or dismissed |
| trackly_ask | Natural language job search (20/day) |
| trackly_get_job_brief | Get network brief for a job (company signal, top contact, actions) |
| trackly_contacts_at_company | Search contacts at a specific company |
| trackly_get_company_workspace | Full company workspace (jobs, contacts, hiring managers, campaigns) |
Authentication
Option 1: Google OAuth (recommended)
trackly login
Opens your browser for Google sign-in. Tokens are stored locally at ~/.trackly/config.json.
Option 2: API Key
If OAuth doesn't work (firewalls, headless servers, CI), use an API key instead:
- Sign in at usetrackly.app
- Go to Settings → API Keys → Create
- 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
| Feature | CLI | Web App | Public API |
|---|---|---|---|
| Job search + filters | Yes | Yes | Yes |
| Apply/save/dismiss | Yes | Yes | Yes |
| AI-powered search | Yes (trackly ask) | Yes | Yes |
| MCP integration | Yes (10 tools) | -- | -- |
| Browser required | No | Yes | No |
| Best for | Terminal + AI agents | Visual browsing | Custom 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 10 tools for job search, company lookup, and application tracking. Run trackly mcp or add it to Claude Code with claude mcp add --scope user trackly -- trackly mcp. It connects to a live database of 128,000+ jobs across 1,900+ companies.
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.jsonwith 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.