Skip to main content
Glama
HadarAlfasi

jobwise

by HadarAlfasi

JobWise

CI

以智能体原生界面进行求职。一个引擎,两个表面:一个任何 AI 智能体都可以驱动的 MCP 服务器,以及——接下来——一个 Web 应用。

JobWise 从公开的 ATS API 读取职位空缺,根据你的简历对它们进行评分,并跟踪你的申请。评分会自我解释,而且不进行任何网页抓取。

状态: 阶段 0 已完成——核心引擎和 MCP 服务器。Web 应用是下一步。请参阅 ROADMAP.md

为什么选择 MCP

求职工具是为通过 UI 点击操作的人类而构建的。这使得它们对人们日益依赖的智能体不可见。

JobWise 通过模型上下文协议暴露其引擎,因此你可以询问你的助手 “这周我应该申请什么?”,它会查询你真实的管道——无需浏览器、无需复制粘贴、无需记住打开单独的应用。

Related MCP server: trackly-cli

快速开始

git clone https://github.com/HadarAlfasi/jobwise.git
cd jobwise
npm ci
npm run build
npm run demo

npm run demo 扫描捆绑的职位板,根据示例简历进行筛选和排名,并打印最匹配的职位。无需配置、无需 API 密钥、无需注册任何内容。

然后将其接入你的智能体:

claude mcp add jobwise -s user -e JOBWISE_DIR="$PWD" -- node "$PWD/packages/mcp/build/index.js"

重新启动你的客户端,询问它你应该申请什么。

一次会话的样子

You:  What should I apply to this week?

      → search_roles { limit: 4 }

      42 matching role(s), showing 4:

      71  Payoneer — Team Lead R&D, CLM
          Ramat HaSharon, Tel Aviv District, Israel · posted 2026-08-19
          https://www.payoneer.com/careers/position/8146...
          · Title matches "Team Lead"
          · Seniority matches your target
          · Mentions 8 of your 31 skills: agile, go, kafka, microservices…

      70  Riskified — Software Engineering Manager
          Tel Aviv-Yafo, Gush Dan, Israel · posted 2026-08-11
          · Title matches "Software Engineer"
          · Seniority matches your target
          · Mentions 8 of your 31 skills: agile, aws, ci/cd, kubernetes…

You:  Anything I should be chasing?

      → needs_attention { silentForDays: 7 }

      2 application(s) quiet for 7+ days, longest first:

         30d  Northwind — Senior Backend Engineer   [applied]  id=app-northwind
         11d  Meridian Labs — Platform Team Lead    [applied]  id=app-meridian

You:  Meridian got back to me, I have a phone screen.

      → record_event { applicationId: "app-meridian", type: "interview",
                       note: "phone screen booked" }

      Recorded "interview" on Meridian Labs — Platform Team Lead.
      Status is now interview with 2 events on record.

(上面的职位来自捆绑职位板的真实列表;申请来自 fixtures/ 中的示例跟踪器。)

工具

工具

回答的问题

search_roles

“我应该申请什么?”——扫描、筛选、排名,并附上理由

pipeline_status

“我的求职进展如何?”——按阶段统计,最近有什么变动

needs_attention

“我应该跟进什么?”——已沉寂的申请,排除已终止的

record_event

“将此标记为已拒绝”——仅追加的状态更改

另外还有一个 jobwise://pipeline 资源:每个申请及其完整历史记录。

record_event 只写入你的本地存储。JobWise 永远不会提交申请、发送消息或联系雇主。

配置

两个文件,都是纯 YAML。

config/boards.yml — 要扫描的公司职位板。每个职位板一个条目;添加一家公司只需一行,无需更改代码。

boards:
  - { provider: greenhouse, slug: catonetworks, company: Cato Networks }
  - { provider: ashby,      slug: finout,       company: Finout }

它预置了经过验证可扫描职位板的以色列科技雇主。用你的替换它们——在公司的招聘 URL 中找到 slug(job-boards.greenhouse.io/SLUGjobs.lever.co/SLUGjobs.ashbyhq.com/SLUG)。

config/profile.yml — 你的偏好。复制示例:

cp config/profile.example.yml config/profile.yml

设置你的位置规则、目标职位和简历路径。config/profile.ymlmy-resume.* 已被 gitignore,因此你真实的求职信息永远不会进入版本控制。

示例警告过一个陷阱,因为它曾让真实的申请付诸东流:位置 alwaysAllowblock 之前被评估。如果你在那里放一个国家,每个阻止规则都会静默失效——你会得到来自你明确排除的城市的职位,却没有任何提示。请将其限制在你的家庭城市。一个回归测试固定了此行为。

覆盖率,坦诚地说

JobWise 通过其公共 JSON API 读取 Greenhouse、Lever 和 Ashby。无需密钥、无需抓取、无需速率限制技巧。

但这并不是全部。许多大型雇主——使用 Comeet 的初创公司,以及使用 Workday、iCMS 或定制招聘页面的公司——不暴露可扫描的 API,任何此类工具都无法看到它们。 对更多 ATS 平台的支持在路线图中;其中列出的都是纯 HTTP 的。

ATS 平台也不发布谁在使用它们的索引,因此“扫描所有内容”是一个发现问题,而不是获取问题。方法请参阅路线图。

不进行网页抓取,这是设计使然

JobWise 不抓取招聘网站,也不会。这违反其服务条款,会不断出问题,而且对于面向招聘人员的工具来说,这是错误的信号。获取用户明确粘贴的单个公开职位发布是另一种行为,已在计划中;而抓取整个职位板则不是。

工作原理

  Greenhouse ┐
  Lever      ├──▶  @jobwise/core  ──┬──▶  MCP server   (agents drive it)
  Ashby      ┘   fetch · normalize  └──▶  web app      (next)
  your resume ─▶ match · track

所有逻辑都在 @jobwise/core 中。表面层是翻译和格式化的薄适配器——如果行为出现在其中一个中,它就应该属于核心。

评分是确定性的且可解释的。 五个加权组件——职位、技能重叠、资历、时效性、家庭位置——每个都贡献分数并附有可读的理由。没有模型调用、没有 API 密钥,相同的输入总是给出相同的分数。这是刻意的:这是任何未来基于 LLM 的评分必须可衡量地超越的基线,而不是被假定为更好。

没有数据的组件弃权而不是得零分,因此不发布日期的职位板不会悄悄排在更健谈的职位板之下。

申请历史是仅追加的。 状态从事件日志中派生,而不是存储,因此历史永远不会与当前状态不一致。更正是另一个事件,而不是编辑。

开发

npm run build      # compile both packages
npm run typecheck  # includes test files
npm test           # 204 tests, no network
npm run demo       # end-to-end against live boards

该套件完全阻止 fetchtest/no-network.ts),因此 ATS 中断永远不会导致构建失败。提供程序测试针对从真实响应捕获的已提交 fixtures 运行——使用 node scripts/capture-fixtures.mjs 刷新它们。

stdout 是 JSON-RPC 通道。 coremcp 中任何位置的 console.log 都会破坏 MCP 流,而 Web 应用会愉快地容忍同一行代码。一个测试会扫描源代码并在构建时失败,而集成测试会生成真实的服务器,并断言它写入 stdout 的每一行都是有效的 JSON-RPC。

致谢

跟踪器导入器读取 career-ops(作者:Santiago Fernández de Valderrama)的文件格式,因此其用户可以使用一条命令将现有历史记录导入 JobWise。JobWise 是独立的工作,与其不共享任何代码。

许可证

MIT © Hadar Alfasi

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables searching over 1 million enriched job listings from 20,000+ companies directly from MCP-compatible AI tools. Provides tools for job search, company profiles, and AI-powered similar job recommendations with real-time data updates.
    4
    81
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for job search and application tracking, enabling AI agents to search jobs, get details, manage applications, and find contacts across 128K+ jobs and 1,900+ companies.
    1,093
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables AI-assisted job search workflows including job discovery, application tracking, resume evaluation, and cover letter generation, with support for multiple job sources and scheduled scraping.
    33
    1
    AGPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that exposes job-search and application-management capabilities to compatible AI clients, enabling discovery of vacancies, drafting of tailored application materials, and coordinated human-approved submissions.
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HadarAlfasi/jobwise'

If you have feedback or need assistance with the MCP directory API, please join our Discord server