BossCLI
Public job search for people and AI agents. A real, early hiring-tool preview in the AnyoneCLI project.
Website: https://bosscli.net · API and MCP docs
Install from npm. The installed command remains bosscli:
npm install -g @hfshfg/bosscli
bosscli jobs search --query AI --json
npx @hfshfg/bosscli jobs search --query "AI" --location "Singapore" --json
npx @hfshfg/bosscli jobs search --board anthropic --limit 5 --json
npx @hfshfg/bosscli jobs draft --file job.txt --json
npx @hfshfg/bosscli mcp
The unscoped npm name bosscli was unavailable because npm rejects it as too similar to an existing boss-cli package. The scope identifies the publisher; it does not change the command name.
Search runs on your machine against the original public Greenhouse job boards by default. BOSSCLI_URL=https://bosscli.net or --url https://bosscli.net uses the same action core on the website. Default boards: Anthropic and Cloudflare. These companies are not represented as BossCLI customers or partners. Metadata links to the employer's original application page; BossCLI never submits an application.
JD drafts extract explicit Title:, Company:, Location:, Salary: labels (Chinese labels supported). Missing fields remain null. Drafts remain on the invoking machine and are emitted to stdout; no external AI service or upload is involved. You review the result. This is not PDF/Word parsing or an AI resume writer.
MCP
For stdio clients, configure command npx, arguments ["-y", "@hfshfg/bosscli", "mcp"]. Tools: search_jobs, get_job, describe_service, draft_job. The last tool is local only.
Remote Streamable HTTP endpoint: https://bosscli.net/mcp. It exposes the three public read-only tools without login. Personal accounts and OAuth are not part of this version.
HTTP
GET /healthz
GET /api/status
GET /api/jobs?query=AI&location=Singapore&limit=20&offset=0
GET /api/jobs/anthropic:12345
POST /mcp
jobs.search, jobs.get, jobs.draft, system.describe are the shared Action IDs. CLI/MCP/Web use the same implementation. HTTP has no draft submission, login, payment or application-writing endpoint. Browser bookmarks stay in localStorage; they do not sync to another device.
Output and errors
Use --json for { "ok": true, "data": ... } or { "ok": false, "error": "..." }. Diagnostics go to stderr. No ANSI or prompts in non-TTY mode. Exit codes: 0 success, 1 runtime/network error, 2 usage error. --quiet, --verbose, --no-input, --yes, --version, --help are supported. --yes does not grant permission to publish data or apply for a role.
Feeds cache for 5 minutes. Failed sources are reported in warnings/partial. Job titles are not proof of a personalized match, and availability must be confirmed on the original source.
Development
Requires Node 18.19+; deployments use an app-local supported Node runtime.
npm ci --ignore-scripts
npm test
HOST=127.0.0.1 PORT=31900 npm start
There is no database or required secret in this preview. The existing AnyoneCLI authentication and production database are not modified. Account connection, employer-owned publishing and mutual consent matching remain future integration work, not advertised as available.
License
MIT applies to BossCLI's software. Employer job listings and third-party marks remain their owners' content. This project is independent of BOSS 直聘 and is not affiliated with it.