Unified Jobs MCP Server

io.github.rezearcher由 GitHub 帳號 rezearcher 發布v0.3.0更新於 Oct 30, 2026

Dedup jobs feed across ATS, LinkedIn & HN, free. Metered comp & hiring-signal depth via x402/USDC.

發布方自己的服務:Core

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取商業與電商

概覽

AI 產生的概覽

遠端 MCP 伺服器,為助理提供跨 ATS 招募看板、LinkedIn 訪客搜尋與 Hacker News 徵才串的去重職缺資訊流。

可以做什麼
  • 在七個免金鑰的 ATS 平台上搜尋即時職缺,並依公司 slug 或網域自動辨識平台與 board token
  • 解析某家公司使用哪個招募系統及其 board token
  • 列出支援的 ATS 平台以及跨來源去重的實際行為
  • 取得付費 x402 通道詳情:託管的 10 個 ATS 搜尋、標準化薪酬、招募意圖訊號、公司資訊補齊與電子郵件可達性,含價格與付款流程
適用情境
適合助理需要取得當前跨公司職缺清單、又不想管理 API 金鑰時使用;也適合同一職缺出現在多個來源、需要合併成一筆紀錄的情況。查詢某公司招募看板前,也可先確認其使用的 ATS。
執行需求
遠端 streamable HTTP 端點;宣告無需帳號、API 金鑰或登入,資料來自免金鑰的公開端點。付費深度功能需要支援 x402 的用戶端,並持有 Base 上的 USDC 錢包。
安裝前請注意
付費工具說明按次以 Base 上的 USDC 由呼叫方錢包內嵌付款,啟用前請確認價格與付款握手流程。免費搜尋會把公司名稱、關鍵字與地點送往第三方 ATS、LinkedIn 與 Hacker News 端點,且 LinkedIn 訪客介面在雲端 IP 上可能被限流。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Unified Jobs MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.rezearcher%2Funified-jobs-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "unified-jobs": {
      "type": "http",
      "url": "https://assetfactory-jobs-x402.sigrunner.workers.dev/mcp/unified"
    }
  }
}

README

Unified Jobs MCP Server

A zero-dependency Model Context Protocol server that gives an AI agent one thing no single-source jobs tool does: a cross-source, deduplicated jobs feed. It queries applicant-tracking systems, the LinkedIn public guest search, and the Hacker News "Who is hiring?" thread, then collapses the same role seen on several sources into one canonical record — with a sources[] array and a union of the richest salary, longest description, and earliest post date. The agent gets a clean list instead of three overlapping ones plus a dedup problem of its own.

  • No API key, no account, no login. All data comes from keyless public endpoints.
  • Zero dependencies. Hand-rolled spec-conformant JSON-RPC 2.0 over stdio — no SDK, no transitive package tree in your agent's trust boundary. Installs and boots instantly under npx.
  • Public postings only. No member data, no PII beyond public job fields.

Install

Claude Desktop (claude_desktop_config.json) / Cursor / Cline / Continue:

json
{  "mcpServers": {    "unified-jobs": {      "command": "npx",      "args": ["-y", "github:rezearcher/unified-jobs-mcp"]    }  }}

Or run it directly:

bash
npx -y github:rezearcher/unified-jobs-mcp

Tools

search_unified_jobs

The cross-source feed. Pull one or more companies' ATS boards (companies[]), search LinkedIn (keywords + location), and/or the current HN thread — in a single call — and get back one deduplicated list. The same role on several sources merges into one record:

jsonc
{  "title": "Backend Software Engineer - Infrastructure",  "company": "Palantir",  "location": "United States",  "salary": "$135,000 - $200,000 / yr",  "posted_at": "2026-10-14T00:00:00.000Z",  "sources": [    { "source_platform": "lever",    "url": "https://jobs.lever.co/palantir/..." },    { "source_platform": "linkedin", "url": "https://www.linkedin.com/jobs/view/..." }  ],  "primary_url": "https://jobs.lever.co/palantir/...",  "merged": true}

Every result set reports dedup stats: raw_source_hits, canonical_jobs, cross_source_merges, collapsed, per_source_hits.

fieldnotes
companiesATS companies: bare slug ("stripe"), domain ("stripe.com"), or "platform:token" ("lever:palantir", "workday:tenant.wd5:Site"). ATS + token auto-detected for slugs/domains.
keywords, locationLinkedIn search (and keywords also filters HN).
sourcessubset of ["ats","linkedin","hn"]. Default: all three.
maxPerSourcecap rows per source before merge (default 25, max 200).
maxResultscap canonical records after merge (optional).
remoteOnly, dedupe, includeDescriptionbooleans; dedupe defaults on.

search_hn_hiring

Just the current month's Hacker News "Ask HN: Who is hiring?" thread, normalized into the same schema. The monthly thread id is auto-discovered (it rotates on the 1st of every month) and each free-text post header is parsed into structured fields. Optional query / remoteOnly filters.

list_sources

The source families, how to address ATS companies, and exactly how the cross-source dedup behaves. No network call.

get_premium_access

The metered depth endpoints beyond the free reads above — a normalized cross-ATS compensation layer and a per-company hiring-intent signal — served pay-per-call over x402 (USDC on Base, no account/API key; the caller's wallet pays the 402 inline, a few tenths of a cent per call). Returns the base URL, each endpoint's path + price + what it adds, and the payment handshake. No network call, no payment. Free preview first: https://assetfactory-jobs-x402.sigrunner.workers.dev/jobs/preview?companies=stripe.com.

Sources

familycoveragekeyless
atsGreenhouse, Lever, Ashby, SmartRecruiters, Workday, Recruitee, Workable✅
linkedinpublic guest job search (keywords + location)✅ (rate-limited on cloud IPs → degrades open)
hn"Who is hiring?" current-month thread✅

Every source is wrapped so a single source failing (e.g. LinkedIn's guest endpoint rate-limiting a cloud IP) never fails the whole call — you get the sources that did return. The hosted metered version adds Indeed and rotating residential proxies for volume.

How the dedup works

  • Canonical key: company | title | city, with legal suffixes stripped but seniority and role qualifiers kept — so Backend - Infrastructure and Backend - Defense stay distinct.
  • Merge: scalar fields are first-non-null in source-rank order; salary is taken whole from the single richest source (kept internally consistent); posted_at is the earliest; description is the longest; sources[] accumulates every origin.
  • Degrade open: a row with no derivable key is emitted as its own record with merged: false — never silently dropped.

Maintenance

A GitHub Actions smoke workflow runs a real MCP client handshake plus a live cross-source pull on every push and daily. The ATS and HN families gate it; LinkedIn is advisory (cloud-IP rate limits). A genuine upstream shape change fails the roundtrip and opens a tracking issue automatically — the feed is kept working, not left to rot.

License

MIT © Grey Ridge Signals Group LLC

來源:README.md,提交 0b6a6a9

工具

4

search_jobs

Fetch live, normalized open job postings for one or more companies across 7 keyless ATS platforms (Greenhouse, Lever, Ashby, SmartRecruiters, Workday, Recruitee, Workable). Platform and board token are auto-detected from a bare slug or domain. Returns a unified schema: title, company, location, remote, url, source_platform, posted_at. Free. Derived layers (normalized comp, hiring-intent) and a hosted 10-ATS feed are metered — call get_premium_access.

輸入參數companies必填maxPerCompanyincludeDescription

resolve_company

Resolve which applicant-tracking system a company uses and its board token, from a bare slug or domain. Returns {platform, token, via}. Free.

輸入參數company必填

list_platforms

List the supported ATS platforms this feed auto-detects and normalizes. Free.

無需輸入參數。

get_premium_access

Return the paid x402 rail: the metered depth layers (hosted 10-ATS search, normalized compensation, per-company hiring-intent signal, company enrichment, email deliverability) with exact prices (USDC on Base), the pay-to address, and how the 402 flow works. No account; an x402-aware client pays inline from the agent's wallet.

無需輸入參數。

版本歷史

3
  1. v0.3.0最新Oct 30, 2026
  2. v0.2.0Oct 30, 2026
  3. v0.1.0Oct 29, 2026

評分

已滿足適用檢查項的 100%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Unified 整合