ATS Jobs — open roles and hiring changes

io.github.VovikP由 GitHub 帳號 VovikP 發布v0.1.2更新於 Oct 24, 2026

Open jobs and hiring changes from Greenhouse, Lever, Ashby, Workable, Teamtailor, SmartRecruiters

概覽

AI 產生的概覽

追蹤六種招募系統上的開放職缺與招募變化,每次執行只回傳相較上次的變動。

可以做什麼
給定公司網域後,它會辨識該公司使用的招募系統並回傳其所有開放職缺。提供四個工具:find_job_board、list_jobs、detect_changes 與 hiring_summary。後續執行時只回報增量,例如職缺新增或關閉、職稱或地點變動、薪資變動,以及招募加速、招募凍結等衍生訊號。每筆紀錄都帶有來源資訊,包括來源網址、HTTP 狀態、擷取時間與信心值。
適用情境
適合長期監測多家公司的招募情況,用於招募或市場研究,或回答某家公司目前正在招募什麼職位。當你需要變化偵測而不是一次性的職缺查詢時更合適。
執行需求
透過 stdio 在本機執行,通常以 npx ats-jobs-mcp 啟動,因此需要 Node.js。未宣告任何身分驗證、API 金鑰或環境變數。狀態儲存在使用者家目錄下的本機檔案中,可用 ATS_MCP_STATE 變數覆寫,並需要存取公開招募系統端點的網路。另有付費託管版本。
安裝前請注意
它會寫入本機狀態檔案,以便在多次執行之間進行變化偵測。它只讀取公開的職缺看板端點,並在解析時移除招募人員的個人資料,但你查詢的網域會傳送給第三方招募系統服務。託管版本依處理的職缺數量計費,自行架設的伺服器免費。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ATS Jobs — open roles and hiring changes,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Greenhouse, Lever, Ashby, Workable, Teamtailor Jobs API

One API for six applicant tracking systems: Greenhouse, Lever, Ashby, Workable, Teamtailor and SmartRecruiters.

Give it a company website. It finds the job board itself, returns every open role, and on every run after that returns only what changed — roles opened, roles closed, titles moved, salaries changed — plus derived hiring signals.

json
{ "domains": ["stripe.com", "spotify.com", "pleo.io"] }

No board tokens. No ATS knowledge required. No browser.


Two ways to run it

Hosted on ApifySelf-hosted MCP server
Setupnonenpx ats-jobs-mcp
State between runsmanagedlocal file
Scheduling, retries, storageincludedyour own
Price$1 per 1,000 jobsfree
Linkapify.com/feedworks/ats-jobs-apithis repo, mcp/

The logic is the same code in both. Pick whichever fits.


What you get

EventMeaning
job_indexedBaseline: an open role captured on the first run
job_postedA new opening appeared
job_closedAn opening disappeared
job_changedTitle, location, department or employment type changed
salary_changedCompensation changed
hiring_acceleratingThis month's postings are 2× or more the recent average
first_role_in_functionFirst ever hire in sales, AI/ML, security, data — a new budget line opened
hiring_freezePostings dropped to zero after steady hiring

Every record carries provenance: source URL, HTTP status, fetch time, job count, truncation flag and a confidence value — so an agent can verify before it acts, instead of trusting a claim.


MCP server

bash
npx ats-jobs-mcp

Four tools, usable by any MCP client — Claude Desktop, Cursor, VS Code, your own agent:

ToolQuestion it answers
find_job_boardWhich ATS does this company use, and what is its board token?
list_jobsWhat roles are open right now?
detect_changesWhat changed since the last time I looked?
hiring_summaryWhat is this company hiring for — which functions, which locations?

Claude Desktop config:

json
{  "mcpServers": {    "ats-jobs": { "command": "npx", "args": ["-y", "ats-jobs-mcp"] }  }}

State lives in ~/.ats-jobs-mcp/state.json. Override with ATS_MCP_STATE.


Why it stays cheap to run continuously

Every source is polled with If-None-Match. When nothing changed, the ATS answers 304 with no body.

Measured on the hosted Actor at 512 MB:

PathCompute
Nothing changed (304)0.000344 CU per run
Baseline, 143 jobs0.001386 CU

That is why watching hundreds of companies every few hours costs cents rather than dollars — and why this project will never open a headless browser to read a job board.


What it deliberately does not do

  • No personal data. Recruiter names, emails and phone numbers are stripped at parse time and never stored.
  • No headless browser, no proxies. Only public ATS endpoints that answer with JSON.
  • No false layoffs. If a source response may be truncated by paging, job_closed events are suppressed — a paging artefact must never look like a company shutting down hiring.

Supported sources

greenhouse · lever · ashby · workable · teamtailor · smartrecruiters

Detection order: a link on the company careers page → the board token guessed from the domain → Workable short links resolved through their redirect.

Companies that cannot be resolved return a source_unresolved record explaining why, instead of failing silently.

Recruitee and Personio are not listed because they are not verified working. Personio currently answers 429 to non-browser clients; Recruitee endpoints did not resolve in testing. This project does not claim coverage it cannot deliver.


Repo layout

src/          Apify Actor: adapters, diff engine, derived signalsmcp/          MCP server — the same engine, self-hostedtools/        discovery utilities (domain → ATS).actor/       Apify manifests and schemas

MIT licensed. Contributions welcome, especially new ATS adapters — the interface is one url() and one parse() function per system, see src/adapters/index.js.

來源:README.md,提交 0534585

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分