hh-cv-mcp: полный контур соискателя на hh.ru
hh-cv-mcp
MCP-сервер на cookie-сессии, который дает агенту поиск, отклики, переписку и скрытую аналитику резюме на hh.ru, без официального API
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- Инструменты apply, chat_send и cv_push пишут в живой аккаунт немедленно, без подтверждения или dry-run
- Доступ идет через cookie сессии, а не официальный API, что может нарушать правила hh.ru
- Cookie hhtoken это по сути ключ доступа к аккаунту и должен храниться как секрет
Установка
Ручная установка
python3 hh_client.py session --cookie 'hhtoken=...; _xsrf=...'Сохранение сессии из cookie залогиненного hh.ru, после простого копирования папки репозитория.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
После того как hh.ru закрыл публичный API для соискателей в декабре 2025 года, сервер восстанавливает тот же функционал через внутренний JSON, который сайт сам отдает браузеру по cookie залогиненной сессии, протокол задокументирован измерениями, а не официально. Два файла на чистом Python без сторонних зависимостей дают около тридцати инструментов: поиск и рекомендации вакансий, оценка вакансии и контакты работодателя, отклик и сопроводительное письмо, входящие и переписка, ведение резюме и его правка. Отдельно вытащены скрытые от соискателя данные: resume_scorecard показывает воронку показов и приглашений за 7 дней от самого hh, resume_views показывает, какие работодатели открывали резюме, resume_advice дает критику резюме от внутренней LLM hh, thread_read_state показывает, прочитано ли последнее сообщение. Одиннадцать инструментов записи выполняются сразу без подтверждения и dry-run: apply откликается, chat_send отправляет сообщение, cv_push перезаписывает живое резюме, единственная защита это честные MCP-аннотации readOnlyHint и destructiveHint для клиента.
Для кого. Для соискателей, которые готовы доверить агенту прямое управление своим аккаунтом hh.ru и понимают, что записи выполняются мгновенно без подтверждения.
Подходит, если
- Официальный API для соискателей закрыт, а нужен полный доступ: поиск, отклики, переписка, ведение резюме
- Нужна аналитика резюме, которую hh не показывает напрямую: воронка показов, кто смотрел резюме, критика от hh
- Вы сами добавили гейт подтверждения перед автономным агентом и понимаете, что делает каждый инструмент записи
Не подходит, если
- Не хотите использовать неофициальный доступ через cookie вместо задокументированного API: официального способа для соискателя сейчас просто нет
- Направляете это на полностью автономного агента без собственного гейта подтверждения: apply и chat_send сработают без спроса
- Нужно коммерческое использование: лицензия PolyForm Noncommercial разрешает только некоммерческое применение
Пример запроса к агенту
Покажи, какие работодатели смотрели мое резюме за последнюю неделю, и дай критику от hhОграничения
Исходники лицензированы PolyForm Noncommercial License 1.0.0, а не MIT: коммерческое использование требует отдельной лицензии по запросу issue. Протокол восстановлен наблюдением за сайтом, а не документацией hh, поэтому может сломаться при изменениях на стороне hh, для этого в тестах есть smoke.py на живой сессии. Cookie hhtoken живет несколько недель и требует повторного получения из DevTools браузера. У сервера буквально нет предохранителя на запись: 11 инструментов, включая apply, chat_send и cv_push, выполняются сразу, автор прямо советует ставить внешний гейт подтверждения для автономных LLM.
Как отключить. Удалите блок hh из mcpServers в конфигурации клиента и сотрите локальную копию репозитория вместе с файлом сессии .hh_session.json.
MCP
- Транспорт
- stdio
- Авторизация
- не нужна
| Переменные окружения | |
|---|---|
| HH_SESSION обязательная, секрет | Путь к файлу сессии с cookie hh.ru, создается командой session. |
| HH_CURRENCY | Валюта по умолчанию для записи зарплаты, RUR если не задано. |
Проверка безопасности
- Инструменты apply, chat_send и cv_push пишут в живой аккаунт немедленно, без подтверждения или dry-run
- Доступ идет через cookie сессии, а не официальный API, что может нарушать правила hh.ru
- Cookie hhtoken это по сути ключ доступа к аккаунту и должен храниться как секрет
Коротко о README
Двуязычный README объясняет, что hh закрыл публичный API для соискателей 15 декабря 2025 года, и описывает восстановленный по наблюдению протокол на cookie-сессии. Перечислены сценарии от авторизации до ведения резюме, отдельно выделены инструменты, показывающие скрытую от соискателя аналитику. Явно указано, что 11 инструментов записи выполняются без подтверждения, и дан совет ставить внешний гейт для автономных LLM. Есть таблица типовых ошибок и раздел тестов с фикстурами без сессии и живым smoke-тестом. Лицензия PolyForm Noncommercial 1.0.0.
Частые вопросы
Нужен ли официальный токен API hh.ru?
Нет, официальный API для соискателей закрыт с декабря 2025 года, сервер работает через cookie залогиненной сессии в браузере.
Может ли агент случайно откликнуться на вакансию?
Да, если не поставить собственный гейт подтверждения: apply и остальные 10 инструментов записи выполняются сразу без dry-run, это осознанное решение автора, а не недосмотр.
Похожие
Самостоятельно размещаемая база знаний с блочными ссылками и встроенным MCP-сервером для подключения AI-агентов к заметкам
CLI для всех API Google Workspace с выводом в JSON и набором скиллов для агентов: Drive, Gmail, Calendar, Sheets и другие
Локальный поиск по заметкам, документации и расшифровкам встреч в Markdown: ключевые слова, смысловой поиск и ранжирование, есть MCP
Менеджер задач для AI-разработки: разбирает PRD на задачи с зависимостями и ведет агента по ним через MCP или CLI