SkillTide Submit
Official description7 sourcesMCP servers8d ago
gzchenhao/openhire

gzchenhao/openhire

Job search over employer ATS APIs (Gre
View on GitHub ↗Direct link · no redirect page
Config template (adjust for your client)
claude mcp add openhire -- npx -y openhire
A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
10 ★ · gzchenhao/openhire · read from the repository page · (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list · type: MCP server
Harvest history
first seen 2026-10-09 · last seen 2026-10-16 · seen 32× · listed by 7 sources
Score
score 703 · 10 ★ · 7 sources · mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository gzchenhao/openhire;first catalogued 2026-10-09;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
Third-party quality signals

OpenHire · 开聘

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

> **A job-search radar for your AI assistant — first-party listings, every posting's real age, and your résumé never touches our servers.**
> 让 AI 助手替你盯岗的求职雷达:一手职位、岗位在架时长打分,简历不经过我们的服务器。
Real terminal output — install from PyPI, download the public index, search. No account, no signup.
> **Every number here is checkable.** Open-duration report
> (per-employer medians, named, monthly) · numbers.json
> (the provenance of every figure we quote, regenerated each refresh) ·
> raw report data.
> 我们引用的每个数字都能核:岗位在架时长月报 ·
> numbers.json
> **Is your company in here, and you did not put it here?**
> Your postings are in this index because your own careers page serves them publicly. We
> can measure how long a role has been open; we cannot see why, and a long-open role is a
> question, not a verdict. Claim your company — free,
> no payment, ever — and say why in your own words, or ask us to remove you and we will,
> without arguing.
> 贵公司被收录了、而且不是贵公司提交的?点这里认领,免费,
> 可以用自己的话解释,也可以直接要求我们移除。
三不原则 · Three things OpenHire never does
1. **不存简历 · No résumé, ever.** 简历留在你的电脑上。过网的只有一个你自己生成的匿名指纹和岗位号;协议里没有简历字段,多传一个 resume 参数会被拒绝,CI 测试钉死。
Your résumé stays on your machine. Only an anonymous, client-generated fingerprint and a job id ever cross the wire; the protocol has no résumé field, an extra resume argument is refused, and CI pins it.
2. **不刷假单 · Never applies for you.** 它只把你送到雇主自己的投递页,从不向任何 ATS 提交申请;连表单长什么样,我们的测试也只用一次普通 GET 看,到此为止。
It hands you the employer's own apply page and never submits anything to any ATS. Even our own tests only GET the form once and stop.
3. **不追踪 · No tracking.** 不埋点、不统计谁看了什么。服务器只记一条匿名授权(指纹 + 岗位号),没有你是谁;索引本身跑在你自己的机器上。
No analytics, no view counting, no telemetry. The server keeps one anonymous authorization record (fingerprint + job id) and nothing about who you are; the index itself runs on your machine.
还有一条不在这三条里,但同样锁死:**排序买不到**,它是(匹配度,新鲜度)的纯函数,见下文三条隐私红线。
One more that is locked the same way: ranking cannot be bought; it is a pure function of (match, freshness). See the three red lines below.
What your agent actually sees
You ask your assistant a question in plain language. It calls search_jobs, and every row comes
back carrying the employer's **real** posting date — so the agent can reason about staleness
instead of guessing.
> **You:** *Any senior Python roles that are actually still open? Skip the stale ones.*
> **Assistant:** *This one has been open 166 days with a ghost_score of 0.61 — I'd deprioritise it.
> Here are four posted in the last three weeks instead…*
ghost_score measures **how long a posting has been open**, not whether the employer still intends
to hire. A long-open role can equally mean "hard to fill". Treat it as a reason to ask, not a verdict.
---
An MCP server that turns **any** MCP-speaking assistant — Claude, 豆包 Doubao, DeepSeek (through
an MCP client such as Cherry Studio or Chatbox), Cursor, 腾讯 WorkBuddy, TRAE, Windsurf, Cline,
ChatGPT (through the hosted endpoint below) — into a private radar for
**AI / Infra, autonomous-driving and embodied-AI jobs** — pulled straight from **154 employers'**
own career sites and public ATS APIs (Greenhouse / Lever / Ashby / 北森 Beisen / Moka, plus
first-party employer career sites such as Li Auto's), across
the US, Europe **and China** (Waymo, Figure, Zoox — and Unitree, XPeng, UBTECH, Mech-Mind…).
**No account. No signup. No résumé upload. Ever.**
Three things a job board won't do for you:
- **Surfaces how long each role has really been open.** Every listing carries a ghost_score aged off the employer's
**real** posting date where the employer's system reports one (otherwise the day this index first
saw it, flagged date_signal): the "2 days ago" a board shows you can be 300 days old in the ATS.
- **Structural privacy, not a pinky-promise.** There is no résumé field in the protocol; a CI
test fails the build if anyone adds one. Matching runs on your machine — only an anonymous
fingerprint reaches the server.
- **Ranking you can't buy.** Order is a locked pure function of (match, freshness). No
sponsored slots, no bidding — the signature is frozen by a test.
This is the 「哨兵 / Sentinel」 reference implementation — see
design_handoff_openhire_v01/README.md for the full protocol spec.
---
Quickstart — under a minute
**Nothing to install, and no crawl to sit through.** Add this to your MCP client's config:
Then ask your assistant for a job. That is the whole setup. The server downloads the ~30 MB
public index by itself in the background on first start, so searches fill in within a couple
Source
awesome · https://github.com/gzchenhao/openhire
Browse by field
MCP servers
Traction
10 ★
added
yesterday

More in MCP servers

All 5,525 in MCP servers →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index