ati-hh-mcp: MCP-сервер для API hh.ru

ati-hh-mcp

Все 135 операций публичного API hh.ru как наборы инструментов: вакансии, отклики, чаты и резюме, запись только с confirm=true

  • 0 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Широкий доступ

Почему такой уровень

  • Токен hh.ru открывает отклики, чаты и резюме, а наборы работодателя еще и вакансии с данными соискателей
  • Изменения доступны инструментам, их защищает только аргумент `confirm=true`
Все причины и проверки
Российский стек

timur-ai/ati-hh-mcp

Установка

Сервисы

Ручная установка

{"mcpServers":{"hh":{"command":"uvx","args":["--from","git+https://github.com/timur-ai/ati-hh-mcp","ati-hh-mcp","serve","--transport","stdio"],"env":{"HH_TOKEN":"YOUR_HH_TOKEN","HH_UA_EMAIL":"you@example.com"}}}}

Нужен uv; тот же блок подходит Cursor в `.cursor/mcp.json`.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Токен hh.ru открывает отклики, чаты и резюме, а наборы работодателя еще и вакансии с данными соискателей
  • Изменения доступны инструментам, их защищает только аргумент `confirm=true`

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

MCP-сервер собирает каждую операцию публичной спецификации OpenAPI hh.ru, всего 135, в сгруппированные наборы инструментов для агентов. По умолчанию включены 62 инструмента: справочники, подсказки, поиск вакансий, отклики и приглашения, чаты, просмотр резюме и профиль `/me`. Шесть наборов работодателя и расширенный набор включаются переменной `HH_TOOLSETS`. Личный режим работает по stdio, командный по HTTP с ключами сервера и входом через OAuth. Токен задают переменной `HH_TOKEN`, заголовком запроса или входом OAuth. Любое изменение требует явного аргумента `confirm=true`; запросы чтения троттлятся и повторяются при ответе 429, изменения сервер не повторяет сам. Ошибки приходят со структурным кодом hh.ru и русским описанием.

Для кого. Соискателям, рекрутерам и HR-командам, которые ведут поиск вакансий, отклики и переписку на hh.ru через Claude Code, Claude Desktop или Cursor.

Подходит, если

  • Агент должен найти вакансии по зарплате, региону и роли и показать похожие
  • Отклики и приглашения нужно разобрать списком, а ответы на них подготовить в чате
  • Рекрутер ищет резюме по 52 параметрам и ведет сохраненные поиски
  • Командный сервер на Docker должен раздавать доступ к hh.ru нескольким людям по ключам

Не подходит, если

  • Нужна публикация вакансий без ручной проверки: любое изменение идет только с `confirm=true`
  • Нужны данные других job-сайтов: сервер знает только hh.ru
  • Сервер будет открыт в сеть без TLS: он говорит по обычному HTTP

Пример запроса к агенту

Найди вакансии Python-разработчика в Москве от 250 тысяч и покажи отклики, на которые ответили приглашением

MCP

Транспорт
stdio, http
Авторизация
OAuth

Переменные окружения

HH_TOKEN секрет
Токен hh.ru для авторизованных вызовов
HH_UA_EMAIL
Почта для заголовка User-Agent запросов к hh.ru
HH_TOOLSETS
Список включенных наборов инструментов
MCP_API_KEYS секрет
Ключи доступа к серверу в режиме HTTP

Ограничения

Для авторизованных вызовов нужен токен hh.ru или зарегистрированное приложение OAuth; справочники, подсказки и поиск вакансий работают без токена. Наборы работодателя выключены по умолчанию. Запуск идет из git-репозитория через `uvx`, нужны Python от 3.10 до 3.14 или Docker. В режиме HTTP сервер говорит открытым HTTP, поэтому для сети нужны обратный прокси с TLS, привязка контейнера к `127.0.0.1` и один рабочий процесс. Расширенный набор опирается на недокументированные методы hh.ru.

Как отключить. Уберите блок `hh` из конфигурации клиента, остановите контейнер командой `docker compose down` и отзовите токен в кабинете hh.ru.

Частые вопросы

Нужен ли токен hh.ru для поиска вакансий?

Нет: справочники, подсказки и поиск вакансий работают без токена, а для откликов, чатов и профиля токен нужен.

Как включить инструменты работодателя?

Перечислить наборы в `HH_TOOLSETS`; переменная заменяет список по умолчанию целиком, а набор `auth` включен всегда.

Может ли агент отправить сообщение без моего ведома?

Нет: любое изменение идет только с аргументом `confirm=true`, а повторов изменений сервер не делает.

Как авторизоваться в hh.ru?

Тремя способами: статичный токен в `HH_TOKEN`, токен в заголовке каждого запроса и вход через OAuth с зарегистрированным приложением hh.ru.

Какие версии Python поддерживаются?

От 3.10 до 3.14: матрица CI покрывает каждую минорную версию. Альтернатива без Python на хосте — Docker Compose.

Обсуждение

Вопросов и отзывов пока нет.

Российский стек

MCP-сервер с 52 инструментами по официальному API hh.ru: поиск вакансий без токена, резюме и отклики работодателя с токеном, статистика зарплат

MCP-серверРасширенный доступ

hh.ru MCP

hh-mcp

Российский стек

MCP-сервер для API hh.ru: поиск вакансий и работодателей, оценка зарплат, справочники, резюме при доступе работодателя

MCP-серверРасширенный доступ10Звезды репозитория
Российский стек

MCP-сервер для работодательской части API hh.ru и hh.kz: свои вакансии, отклики, поиск резюме, сорсинг и вебхуки через OAuth-приложение

MCP-серверШирокий доступ1Звезды репозитория
Российский стек

MCP-сервер на FastMCP с 43 инструментами hh.ru: вход через OAuth официального Android-приложения, без регистрации своего приложения на dev.hh.ru

MCP-серверШирокий доступ
Российский стек

MCP-сервер поиска работы на hh.ru через браузер: рекомендованные вакансии по резюме, отклики и статусы

MCP-серверШирокий доступ3Звезды репозитория
Российский стек

Read-only relay поверх api.hh.ru: сам получает OAuth-токен приложения, отдает поиск и карточку вакансии через MCP и ChatGPT Actions без ключей

MCP-серверРасширенный доступ

Коротко о README

Документация описывает быстрый старт через `uvx` и Docker Compose, настройку Claude Desktop и Cursor, таблицу наборов инструментов, три способа авторизации и двухуровневую схему поиска. Охват проверен метатестом по спецификации, покрытие тестами заявлено от 95 процентов.

Бейдж для README

Сообщить о проблеме