Trackly CLI
io.github.kevinastuhuaman由 GitHub 账号 kevinastuhuaman 发布v0.1.10更新于 Oct 24, 2026
Job tracking CLI + MCP server for AI agents. 99K+ jobs, 775+ companies.
概览
Trackly CLI 是一个求职与申请追踪 MCP 服务器,让助手搜索职位、调研公司并管理求职申请。
- 可以做什么
- 搜索和读取职位:按职能、地区、薪资下限、签证担保、工作方式和流程状态筛选,并查看职位详情
- 搜索和列出公司,进行语义化公司搜索,查看公司工作区、简报和联系人
- 读取求职追踪指标与偏好设置,并更新按职位设定的经验年限限制
- 将职位标记为已申请、已收藏或已忽略,并记录申请结果
- 运行 Apply 流程:已批准的队列、档案答案、执行批次、审核交接和简历准备
- 上报缺失能力并发送脱敏的 ATS 反馈
- 适用场景
- 适合正在求职、希望让 AI 助手协助找职位、调研公司与联系人,并把申请状态同步到 Trackly 账户的场景。
- 运行要求
- 需要一个 Trackly 账户,目前通过限量邀请制开放。本地使用需 Node.js 20.20+ 或 22.22+ 以及 trackly-cli npm 包,可通过 npx 或全局安装运行。认证方式为通过 trackly login 的 Google OAuth,或使用 TRACKLY_API_KEY 环境变量或 --api-key 参数提供 API 密钥。另提供托管远程端点。
安装
在 SourceWeft 中
- 打开 控制台中的 Trackly CLI,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 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:
- 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)
Prerequisites: Node.js 20.20+ or 22.22+ (LTS recommended). On macOS with the official
.pkginstaller, global npm installs may requiresudo.
At a Glance
5,400+ companies | 250K+ jobs | 40+ ATS types | CLI + MCP | 58 local + 55 hosted MCP tools
CLI Commands
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:
Sign in with Google when prompted. Full visual guide →
Claude Code can use the same hosted server over OAuth:
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:
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
Or equivalently:
Claude Code manual config
Add to a project-scoped .mcp.json:
Cursor / Windsurf
Add to .cursor/mcp.json or ~/.cursor/mcp.json (same schema works for Windsurf):
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.
Authentication
Option 1: Google OAuth (recommended)
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:
- Sign in at usetrackly.app
- Go to Settings → API Keys → Create
- Save the key:
Or pass it per-command:
Or set it as an environment variable:
Generate a key from the CLI
If you're already logged in via OAuth, you can create a key without visiting the web app:
Other config
Comparison
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.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
来源:README.md,提交 f2822f7
工具
0版本历史
1- v0.1.10最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分