Skip to main content
Glama
jobwise

jobwise

by HadarAlfasi

JobWise

CI

エージェントネイティブなインターフェースを備えた求人検索。1つのエンジン、2つのサーフェス: 任意のAIエージェントが操作できるMCPサーバーと、次に予定されているWebアプリ。

JobWiseは公開ATS APIからオープンな求人を読み取り、あなたの履歴書と照合してスコアリングし、応募状況を追跡します。スコアリングは自己説明型で、スクレイピングは一切行いません。

ステータス: フェーズ0完了 — コアエンジンとMCPサーバー。次はWebアプリ。 ROADMAP.md を参照。

Why MCP

求人ツールは、UIをクリックする人間向けに作られています。そのため、人々がますます利用するエージェントからは見えません。

JobWiseはエンジンをModel Context Protocol経由で公開するため、アシスタントに*「今週は何に応募すべき?」*と尋ねると、実際のパイプラインを照会します — ブラウザも、コピー&ペーストも、開くのを忘れがちな別アプリも不要です。

Related MCP server: trackly-cli

Quickstart

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"

クライアントを再起動して、何に応募すべきか尋ねてください。

What a session looks like

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/ 内のサンプルトラッカーからのものです。)

Tools

Tool

回答内容

search_roles

「何に応募すべき?」 — スキャン、フィルタリング、ランキング、理由付き

pipeline_status

「検索の状況は?」 — ステージ別の件数、直近の動き

needs_attention

「何を追いかけるべき?」 — 沈黙した応募、終了したものを除外

record_event

「これを却下としてマーク」 — 追記のみのステータス変更

さらに jobwise://pipeline リソース: すべての応募とその完全な履歴。

record_event はローカルストアにのみ書き込みます。JobWiseは応募を送信したり、メッセージを送ったり、雇用主に連絡したりすることは決してありません。

Configuration

2つのファイル、どちらもプレーンなYAMLです。

config/boards.yml — スキャンする企業のボード。ボードごとに1エントリ。企業を追加するのは1行で、コード変更は不要です。

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

スキャン可能なボードを運営していることが確認されたイスラエルのテック雇用主でシードされています。あなたのものに置き換えてください — 企業のキャリアURLでスラッグを見つけてください (job-boards.greenhouse.io/SLUG、jobs.lever.co/SLUG、jobs.ashbyhq.com/SLUG)。

config/profile.yml — あなたの設定。例をコピーしてください:

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

場所のルール、対象の職種、履歴書のパスを設定します。config/profile.yml と my-resume.* はgitignoreされているため、実際の求人活動がバージョン管理に入ることはありません。

例が警告している1つの罠 — 実際の応募を犠牲にしたため: 場所の alwaysAllow は block の前に評価されます。そこに国を入れると、すべてのブロックルールが静かに適用されなくなります — 明示的に除外した都市からの求人を受け取ることになり、その理由を教えてくれるものはありません。自宅の都市に留めてください。回帰テストがこの動作を固定しています。

Coverage, honestly

JobWiseはGreenhouse、Lever、Ashbyを公開JSON APIを通じて読み取ります。キーも、スクレイピングも、レート制限の回避もありません。

それだけではありません。多くの大規模雇用主 — Comeetを利用するスタートアップ、Workday、iCIMS、または特注のキャリアページを利用する企業 — はスキャン可能なAPIを公開しておらず、この種のツールはそれらを見ることができません。 より多くのATSプラットフォームのサポートはロードマップにあります。そこにすでにリストされているものはすべてプレーンなHTTPです。

また、ATSプラットフォームは誰がそれらを使用しているかのインデックスを公開していないため、「すべてをスキャンする」ことは取得の問題ではなく発見の問題です。アプローチについてはロードマップを参照してください。

No scraping, by design

JobWiseは求人ボードをスクレイピングしませんし、今後もするつもりはありません。それは利用規約に反し、頻繁に壊れ、採用担当者を対象としたツールでは間違ったシグナルです。ユーザーが明示的に貼り付けた単一の公開求人を取得することは別の行為であり、計画されています。ボードを収穫することは計画されていません。

How it works

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

すべてのロジックは @jobwise/core にあります。サーフェスは翻訳とフォーマットを行う薄いアダプターです — いずれかに動作が現れた場合、それはコアに属します。

スコアリングは決定的で説明可能です。 5つの重み付きコンポーネント — タイトル、スキルの重複、シニア度、新しさ、自宅の場所 — それぞれが人間が読める理由とともにポイントを貢献します。モデル呼び出しも、APIキーもなく、同じ入力は常に同じスコアを与えます。これは意図的です: 将来のLLMベースのスコアリングが測定可能に打ち負かさなければならないベースラインであり、単に優れていると想定されるものではありません。

データのないコンポーネントはゼロをスコアするのではなく棄権するため、日付を公開しないボードは、よりおしゃべりなボードの下に静かにランク付けされることはありません。

応募履歴は追記のみです。 ステータスは保存されるのではなくイベントログから導出されるため、履歴が現在の状態と矛盾することはありません。修正は別のイベントであり、編集ではありません。

Development

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

スイートは fetch を完全にブロックします (test/no-network.ts)。そのため、ATSの障害がビルドを赤にすることはありません。プロバイダーテストは実際のレスポンスからキャプチャされたコミット済みフィクスチャに対して実行されます — node scripts/capture-fixtures.mjs で更新できます。

stdoutはJSON-RPCチャネルです。 core または mcp 内のどこかにある console.log はMCPストリームを破壊し、Webアプリは同じ行を喜んで許容します。テストはソースをスキャンしてビルドを失敗させ、統合テストは実際のサーバーを起動し、stdoutに書き込まれるすべての行が有効なJSON-RPCであることを検証します。

Credits

トラッカーインポーターは、Santiago Fernández de Valderramaによるcareer-opsのファイル形式を読み取るため、そのユーザーは1つのコマンドで既存の履歴をJobWiseにシードできます。JobWiseは別の作業であり、コードを共有していません。

License

MIT © Hadar Alfasi

Related MCP Connectors

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
    76 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    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.
    849 npm
    3
    MIT
  • A
    license
    C
    quality
    C
    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.
    83
    63 npm
    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