jobwise
JobWise
Поиск работы с нативным интерфейсом для агентов. Один движок, две поверхности: MCP сервер, которым может управлять любой ИИ-агент, и — далее — веб-приложение.
JobWise читает открытые вакансии из публичных ATS API, оценивает их по вашему резюме и отслеживает ваши отклики. Оценка объясняет себя, и ничего не скрейпится.
Статус: Фаза 0 завершена — ядро движка и MCP-сервер. Веб-приложение — далее. См. ROADMAP.md.
Зачем MCP
Инструменты для поиска работы созданы для человека, кликающего по интерфейсу. Это делает их невидимыми для агентов, с которыми люди всё чаще работают.
JobWise предоставляет свой движок через Model Context Protocol, поэтому вы можете спросить своего ассистента «на что мне откликнуться на этой неделе?», и он обратится к вашему реальному конвейеру — без браузера, без копипаста, без отдельного приложения, о котором нужно помнить.
Related MCP server: trackly-cli
Быстрый старт
git clone https://github.com/HadarAlfasi/jobwise.git
cd jobwise
npm ci
npm run build
npm run demonpm 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/.)
Инструменты
Инструмент | На какой вопрос отвечает |
| «На что мне откликнуться?» — сканирует, фильтрует, ранжирует с пояснениями |
| «Где мой поиск?» — подсчёт по этапам, что сдвинулось последним |
| «За чем мне следить?» — отклики, затихшие без ответа, без завершённых |
| «Отметить как отклонённый» — добавляет событие без перезаписи истории |
Плюс ресурс jobwise://pipeline: каждое отклик с полной историей.
record_event пишет только в ваш локальный стор. JobWise никогда не отправляет отклики, не пишет сообщения и не связывается с работодателем.
Конфигурация
Два файла, оба в простом YAML.
config/boards.yml — доски компаний для сканирования. Одна запись на доску; добавить компанию — одна строка, без изменения кода.
boards:
- { provider: greenhouse, slug: catonetworks, company: Cato Networks }
- { provider: ashby, slug: finout, company: Finout }Поставляется с проверенными израильскими tech-работодателями, у которых есть сканируемая доска. Замените их на свои — найдите слаг в 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, так что ваш реальный поиск работы никогда не попадёт в систему контроля версий.
Одна ловушка, о которой предупреждает пример, потому что она стоила реальных откликов:
alwaysAllowвычисляется доblock. Поместите туда страну — и каждое правилоblockмолча перестанет применяться: вы получите вакансии из городов, которые явно исключили, и ничего не укажет на причину. Держите его для своего родного города. Регрессионный тест фиксирует это поведение.
Охват, честно
JobWise читает Greenhouse, Lever и Ashby через их публичные JSON API. Без ключей, без скрейпинга, без обхода лимитов.
Это не всё. Многие крупные работодатели — стартапы на Comeet, компании на Workday, iCIMS или с собственными страницами карьеры — не предоставляют сканируемого 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Набор тестов блокирует fetch целиком (test/no-network.ts), так что сбой ATS не может остановить сборку. Тесты провайдеров запускаются на зафиксированных данных, полученных из реальных ответов; обновите их с помощью node scripts/capture-fixtures.mjs.
stdout — это JSON-RPC канал. Любой console.log в core или mcp ломает поток MCP, и веб-приложение с радостью потерпит то же самое. Тест сканирует исходники и роняет сборку на любой console.log; интеграционный тест поднимает реальный сервер и проверяет, что каждая строка в stdout — валидный JSON-RPC.
Благодарности
Импортёр трекера читает формат файлов career-ops Сантьяго Фернандеса де Вальдеррамы, так что пользователи могут перенести свою историю в JobWise одной командой. JobWise — отдельный проект и не делит с ним код.
Лицензия
MIT © Hadar Alfasi
This server cannot be installed
Maintenance
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
- AlicenseAqualityBmaintenanceEnables 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.4812MIT

trackly-cliofficial
AlicenseNot gradedqualityAmaintenanceMCP 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,0933MIT- AlicenseNot gradedqualityDmaintenanceAn 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.331AGPL 3.0
- AlicenseNot gradedqualityCmaintenanceAn 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
Related MCP Connectors
AI job search MCP — fact-checked jobs, application tracker, alerts. ChatGPT, Claude, Cursor.
Job platform for AI agents. Track tech jobs from companies that match your stack.
Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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