{"id":46802072,"url":"https://github.com/kevinastuhuaman/trackly-cli","last_synced_at":"2026-04-19T08:03:06.862Z","repository":{"id":342841000,"uuid":"1175360322","full_name":"kevinastuhuaman/trackly-cli","owner":"kevinastuhuaman","description":"Trackly CLI + MCP Server. Search jobs, track applications, and query your job hunt from the terminal, Claude Code, or OpenClaw.","archived":false,"fork":false,"pushed_at":"2026-03-11T03:44:26.000Z","size":58,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-11T10:59:07.827Z","etag":null,"topics":["ai-agent","ai-tools","career","claude-code","cli","job-search","job-tracker","mcp","mcp-server","model-context-protocol","nodejs","npm-package","terminal","typescript"],"latest_commit_sha":null,"homepage":"https://usetrackly.app/cli","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kevinastuhuaman.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"kevinastuhuaman"}},"created_at":"2026-03-07T15:54:32.000Z","updated_at":"2026-03-11T03:44:29.000Z","dependencies_parsed_at":"2026-03-11T07:00:52.312Z","dependency_job_id":null,"html_url":"https://github.com/kevinastuhuaman/trackly-cli","commit_stats":null,"previous_names":["kevinastuhuaman/trackly-cli"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/kevinastuhuaman/trackly-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinastuhuaman%2Ftrackly-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinastuhuaman%2Ftrackly-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinastuhuaman%2Ftrackly-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinastuhuaman%2Ftrackly-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kevinastuhuaman","download_url":"https://codeload.github.com/kevinastuhuaman/trackly-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinastuhuaman%2Ftrackly-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30463545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T06:34:02.089Z","status":"ssl_error","status_checked_at":"2026-03-13T06:33:49.182Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","ai-tools","career","claude-code","cli","job-search","job-tracker","mcp","mcp-server","model-context-protocol","nodejs","npm-package","terminal","typescript"],"created_at":"2026-03-10T06:05:01.425Z","updated_at":"2026-04-19T08:03:06.520Z","avatar_url":"https://github.com/kevinastuhuaman.png","language":"JavaScript","funding_links":["https://github.com/sponsors/kevinastuhuaman"],"categories":[],"sub_categories":[],"readme":"[![npm](https://img.shields.io/npm/v/trackly-cli.svg)](https://www.npmjs.com/package/trackly-cli)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Node 18+](https://img.shields.io/badge/node-18+-brightgreen.svg)](https://nodejs.org/)\n[![MCP Server](https://img.shields.io/badge/MCP-Server-blue.svg)](https://modelcontextprotocol.io/)\n\n# trackly-cli\n\nThe only job tracking CLI built for AI agents.\n\nSearch 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.\n\n## Two ways to connect\n\n### 🚀 Option 1: One-click in Claude co-work, Claude Desktop, ChatGPT (no install)\n\nUse Trackly directly inside your AI — zero config:\n\n1. Open Settings → Connectors → **Add custom connector**\n2. URL: `https://mcp.usetrackly.app/api/mcp`\n3. Click **Add** → sign in with Google → done\n\n**[Full setup guide with screenshots →](https://usetrackly.app/connect)**\n\nWorks in: Claude co-work (web), Claude Desktop, ChatGPT Connectors, and any MCP client that supports remote/streamable-http connectors.\n\n### 💻 Option 2: CLI install (for Cursor, Windsurf, or terminal use)\n\n```bash\nnpm install -g trackly-cli    # may need: sudo npm install -g trackly-cli\ntrackly login\ntrackly jobs --function product\n```\n\n\u003e **Prerequisites:** [Node.js 18+](https://nodejs.org/) (LTS recommended). On macOS with the official `.pkg` installer, global npm installs may require `sudo`.\n\n## At a Glance\n\n1,900+ companies | 128K+ jobs | 40+ ATS types | CLI + MCP | 10 MCP tools\n\n## CLI Commands\n\n```bash\ntrackly jobs                          # List jobs\ntrackly jobs --modality remote        # Filter remote jobs\ntrackly jobs --function product        # Filter by function\ntrackly jobs --company 243            # Filter by company ID\ntrackly job 1234                      # Get job details\ntrackly jobs 1234                     # Alias for job details\ntrackly companies                     # List companies\ntrackly companies search \"fintech\"    # Semantic company search\ntrackly search \"fintech\"              # Alias for semantic company search\ntrackly stats                         # Show metrics\ntrackly status                        # Alias for stats\ntrackly apply 1234                    # Mark as applied\ntrackly save 1234                     # Save a job\ntrackly dismiss 1234                  # Dismiss a job\ntrackly ask \"PM jobs in SF\"           # Natural language search (20/day)\ntrackly contacts \"Stripe\"             # Search contacts at a company\ntrackly brief 1234                    # Get network brief for a job\ntrackly referral start 1234           # Start a referral campaign\ntrackly referral status 1234          # Check referral campaign status\ntrackly company-brief 243             # Get company brief (--refresh to regenerate)\ntrackly company-workspace 243         # Full company workspace view\ntrackly api-key create                # Generate API key\ntrackly api-key list                  # List API keys\ntrackly config                        # Show current CLI config\ntrackly config --api-key trk_xxx      # Save an API key for future commands\ntrackly version                       # Show installed version\ntrackly whoami                        # Show current user\ntrackly logout                        # Clear credentials\n```\n\nAdd `--json` to any command for JSON output. Use `--api-key \u003ckey\u003e` or `--base-url \u003curl\u003e` as one-off global flags when needed.\n\n## MCP Server Setup\n\n### Hosted (Claude co-work, Claude Desktop, ChatGPT)\n\nNo install. In your AI tool, open **Settings → Connectors → Add custom connector** and enter:\n\n```text\nhttps://mcp.usetrackly.app/api/mcp\n```\n\nSign in with Google when prompted. [Full visual guide →](https://usetrackly.app/connect)\n\n### Local (CLI via stdio, for Cursor / Windsurf / Claude Code)\n\n#### Claude Code one-liner\n\n```bash\nclaude mcp add --scope user trackly -- trackly mcp\n```\n\nOr equivalently:\n\n```bash\nclaude mcp add-json --scope user trackly '{\"command\":\"trackly\",\"args\":[\"mcp\"]}'\n```\n\n#### Claude Code manual config\n\nAdd to `~/.claude/settings.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"trackly\": {\n      \"command\": \"trackly\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n```\n\n#### Cursor / Windsurf\n\nAdd to `.cursor/mcp.json` or `~/.cursor/mcp.json` (same schema works for Windsurf):\n\n```json\n{\n  \"mcpServers\": {\n    \"trackly\": {\n      \"command\": \"trackly\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n```\n\nThen use natural language in any of these clients:\n\n- \"Find me PM jobs at fintech companies\"\n- \"What remote engineering roles are available?\"\n- \"Mark job 1234 as applied\"\n\n## MCP Tools Reference\n\n| Tool | Description |\n|------|-------------|\n| trackly_search_jobs | Search and filter jobs by function, company, location, modality, status |\n| trackly_get_job | Get full details for a specific job |\n| trackly_search_companies | Semantic company search |\n| trackly_list_companies | List all tracked companies |\n| trackly_get_stats | Job tracker metrics and status counts |\n| trackly_update_status | Mark jobs as applied, saved, or dismissed |\n| trackly_ask | Natural language job search (20/day) |\n| trackly_get_job_brief | Get network brief for a job (company signal, top contact, actions) |\n| trackly_contacts_at_company | Search contacts at a specific company |\n| trackly_get_company_workspace | Full company workspace (jobs, contacts, hiring managers, campaigns) |\n\n## Authentication\n\n### Option 1: Google OAuth (recommended)\n\n```bash\ntrackly login\n```\n\nOpens your browser for Google sign-in. Tokens are stored locally at `~/.trackly/config.json`.\n\n### Option 2: API Key\n\nIf OAuth doesn't work (firewalls, headless servers, CI), use an API key instead:\n\n1. Sign in at [usetrackly.app](https://usetrackly.app)\n2. Go to **Settings → API Keys → Create**\n3. Save the key:\n\n```bash\ntrackly config --api-key trk_xxxxxxxxxxxxxxxxxxxx\n```\n\nOr pass it per-command:\n\n```bash\ntrackly --api-key trk_xxxxxxxxxxxxxxxxxxxx jobs --json\n```\n\nOr set it as an environment variable:\n\n```bash\nexport TRACKLY_API_KEY=trk_xxxxxxxxxxxxxxxxxxxx\ntrackly jobs\n```\n\n### Generate a key from the CLI\n\nIf you're already logged in via OAuth, you can create a key without visiting the web app:\n\n```bash\ntrackly api-key create --name \"my-script\"\ntrackly api-key list\n```\n\n### Other config\n\n```bash\ntrackly config --clear-api-key           # Clear stored API key\ntrackly config --base-url http://127.0.0.1:3000  # Point at a different backend\n```\n\n## Comparison\n\n| Feature | CLI | Web App | Public API |\n|---------|-----|---------|------------|\n| Job search + filters | Yes | Yes | Yes |\n| Apply/save/dismiss | Yes | Yes | Yes |\n| AI-powered search | Yes (trackly ask) | Yes | Yes |\n| MCP integration | Yes (10 tools) | -- | -- |\n| Browser required | No | Yes | No |\n| Best for | Terminal + AI agents | Visual browsing | Custom integrations |\n\nWeb: [usetrackly.app](https://usetrackly.app) | API docs: [usetrackly.app/developers](https://usetrackly.app/developers)\n\n## Frequently Asked Questions\n\n**How do I track job applications from the terminal?**\n\nInstall 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 \u003cid\u003e` to mark applications. All data syncs with the Trackly web app at usetrackly.app.\n\n**What MCP servers exist for job searching?**\n\ntrackly-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.\n\n**How do I use Claude Code for job hunting?**\n\nAdd 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.\n\n**What are the best CLI tools for job search?**\n\ntrackly-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).\n\n## Security\n\n- OAuth tokens stored in `~/.trackly/config.json` with 0600 permissions\n- API keys can be stored in the same config file or passed per-command\n- OAuth callback bound to 127.0.0.1 only\n- Authenticated requests require HTTPS unless you are pointing at localhost\n- HTTP requests time out instead of hanging indefinitely\n- CSRF protection on login flow\n- See [SECURITY.md](SECURITY.md) for vulnerability reporting\n\n## License\n\nMIT -- see [LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevinastuhuaman%2Ftrackly-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevinastuhuaman%2Ftrackly-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevinastuhuaman%2Ftrackly-cli/lists"}