Skip to main content
Glama
VovikP

ats-jobs-mcp

by VovikP

Greenhouse, Lever, Ashby, Workable, Teamtailor Jobs API

Один API для шести систем отслеживания кандидатов: Greenhouse, Lever, Ashby, Workable, Teamtailor и SmartRecruiters.

Передайте ему сайт компании. Он сам находит доску вакансий, возвращает все открытые позиции и при каждом последейющем запуске возвращает только изменения — появившиеся вакансии, закрытые вакансии, изменившиеся названия, изменившиеся зарплаты — плюс производные сигналы найма.

{ "domains": ["stripe.com", "spotify.com", "pleo.io"] }

Никаких токенов доски вакансий. Никакого знания ATS. Никакого браузера.


Два способа запуска

Hosted on Apify

Self-hosted MCP server

Setup

none

npx ats-jobs-mcp

State between runs

managed

local file

Scheduling, retries, storage

included

your own

Price

$1 per 1,000 jobs

free

Link

apify.com/feedworks/ats-jobs-api

this repo, mcp/

Логика — это один и тот же код в обоих случаях. Выбирайте, что подходит.


Related MCP server: jd-intel-mcp

Что вы получаете

Событие

Значение

job_indexed

Базовое: открытая позиция зафиксирована при первом запуске

job_posted

Появилась новая вакансия

job_closed

Вакансия исчезла

job_changed

Изменились название, локация, отдел или тип занятости

salary_changed

Изменилась компенсация

hiring_accelerating

Публикаций в этом месяце в 2 и более раз больше, чем недавнее среднее

first_role_in_function

Первый наём в новой функции: продажи, AI/ML, безопасность, данные — открыта новая бюджетная строка

hiring_freeze

Публикации упали до нуля после стабильного найма

Каждая запись несёт происхождение: URL источника, HTTP-статус, время получения, количество вакансий, флаг обрезки и значение confidence — чтобы агент мог проверить данные, прежде чем действовать, а не верить утверждению.


MCP-сервер

npx ats-jobs-mcp

Четыре инструмента, пригодных для любого MCP-клиента — Claude Desktop, Cursor, VS Code или собственный агент:

Инструмент

На какой вопрос отвечает

find_job_board

Какую ATS использует компания и какой у неё токен доски вакансий?

list_jobs

Какие позиции открыты прямо сейчас?

detect_changes

Что изменилось с прошлой проверки?

hiring_summary

На какие функции и в каких локациях компания нанимает?

Конфигурация Claude Desktop:

{
  "mcpServers": {
    "ats-jobs": { "command": "npx", "args": ["-y", "ats-jobs-mcp"] }
  }
}

Состояние хранится в ~/.ats-jobs-mcp/state.json. Переопределяется через ATS_MCP_STATE.


Почему это дёшево при постоянном запуске

Каждый источник опрашивается с заголовком If-None-Match. Когда ничего не изменилось, ATS отвечает 304 без тела ответа.

Замеры на размещённом Actor на 512 МБ:

Сценарий

Вычисления

Ничего не изменилось (304)

0.000344 CU за запуск

Базовый запуск

0.001386 CU

Вот почему отслеживать десятки компаний каждую пару часов стоит центы, а не доллары, — и почему этот проект никогда не откроет headless-браузер ради чтения доски вакансий.


Чего он намеренно не делает

  • Никаких персональных данных. Имена, эл. почты и телефоны рекрутеров вырезаются на этапе разбора и никогда не сохраняются.

  • Никакого headless-браузера, никаких прокси. Только публичные ATS-эндпоинты, отвечающие JSON.

  • Никакого ложного сокращения. Если ответ источника может быть обрезан, события job_closed подавляются — артефакт обрезки никогда не должен выглядеть как остановка найма.


Поддерживаемые источники

greenhouse · lever · ashby · Tadween workable · teamtailor · smartrecruiters

Порядок определения: ссылка на career-странице компании → токен доски, угаданный по домену → Workable короткие ссылки, резолвящиеся через их редирект.

Компании, которые не удалось определить, возвращают запись source_unresolved с объяснением причины, а не неотметно падают.

Recruitee и Personio не перечислены, потому как их работа не подтверждена. Personio сейчас отвечает 429 не-браузерным клиентам; Recruitee не удалось определить в тестах. Этот проект не заявляет покрытого того, чего не умеет.


Структура репозитория

src/          Apify Actor: adapters, diff engine, derived signals
mcp/          MCP server — the same engine, self-hosted
tools/        discovery utilities (domain → ATS)
.actor/       Apify manifests and schemas

Лицензия MIT. Приветствуются доработки, особенно новые ATS-адаптеры — интерфейс состоит из одной функции url() и одной функции parse() для каждой системы, см. src/adapters/index.js.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to fetch and structure job postings from major ATS platforms (Greenhouse, Lever, Ashby, etc.) directly, eliminating copy-paste and context loss.
    651 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to pull live job listings from major ATS platforms (Greenhouse, Lever, Ashby, Workable), Hacker News hiring threads, and detect hiring signals on company career pages.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables querying open job postings directly from company applicant-tracking systems (Greenhouse, Ashby, Lever), finding a company's job board, listing and comparing roles, and accessing salary data, all without scraping or API keys.
    3
    33 PyPI
    1
    MIT