hh-mcp: работодательский API hh.ru и hh.kz

hh-mcp

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

MCP-сервер

Высокий риск

Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.

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

  • Может пригласить кандидата и отправить сообщение от имени работодателя (hh_employer_negotiations invite, message_send)
  • Просмотр резюме тратит платный контакт работодателя, ошибка в вызове стоит денег
  • OAuth-токены работодателя дают широкий доступ к вакансиям, откликам и резюме кандидатов
Все причины и проверки
Российский стек

mardanaltynbekov1104/hh-mcp

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add mcp/mardanaltynbekov1104-hh-mcp

Определит агенты на машине, проверит риск и зафиксирует версию.

Другие способы установки

У записи высокий риск, поэтому установки в один клик нет. Посмотрите код и добавьте конфиг вручную.

Выполните в терминале

claude mcp add --transport stdio --env 'HH_CLIENT_ID=<ваш HH_CLIENT_ID>' --env 'HH_CLIENT_SECRET=<ваш HH_CLIENT_SECRET>' --env 'HH_USER_AGENT=<значение HH_USER_AGENT>' hh -- npx tsx /Users/you/apps/hh-mcp/src/index.ts

Или добавьте в файл .mcp.json, в проекте

{
  "mcpServers": {
    "hh": {
      "command": "npx",
      "args": [
        "tsx",
        "/Users/you/apps/hh-mcp/src/index.ts"
      ],
      "env": {
        "HH_CLIENT_ID": "<ваш HH_CLIENT_ID>",
        "HH_CLIENT_SECRET": "<ваш HH_CLIENT_SECRET>",
        "HH_USER_AGENT": "<значение HH_USER_AGENT>"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers.

Ключи и настройки

HH_CLIENT_IDсекрет, обязательная
HH_CLIENT_SECRETсекрет, обязательная
HH_USER_AGENTобязательная

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Добавьте в файл ~/.cursor/mcp.json, для всех проектов

{
  "mcpServers": {
    "hh": {
      "command": "npx",
      "args": [
        "tsx",
        "/Users/you/apps/hh-mcp/src/index.ts"
      ],
      "env": {
        "HH_CLIENT_ID": "<ваш HH_CLIENT_ID>",
        "HH_CLIENT_SECRET": "<ваш HH_CLIENT_SECRET>",
        "HH_USER_AGENT": "<значение HH_USER_AGENT>"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Для одного проекта тот же блок кладут в .cursor/mcp.json.

Ключи и настройки

HH_CLIENT_IDсекрет, обязательная
HH_CLIENT_SECRETсекрет, обязательная
HH_USER_AGENTобязательная

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Выполните в терминале

code --add-mcp '{"name":"hh","type":"stdio","command":"npx","args":["tsx","/Users/you/apps/hh-mcp/src/index.ts"],"env":{"HH_CLIENT_ID":"<ваш HH_CLIENT_ID>","HH_CLIENT_SECRET":"<ваш HH_CLIENT_SECRET>","HH_USER_AGENT":"<значение HH_USER_AGENT>"}}'

Или добавьте в файл .vscode/mcp.json, в проекте

{
  "servers": {
    "hh": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "tsx",
        "/Users/you/apps/hh-mcp/src/index.ts"
      ],
      "env": {
        "HH_CLIENT_ID": "<ваш HH_CLIENT_ID>",
        "HH_CLIENT_SECRET": "<ваш HH_CLIENT_SECRET>",
        "HH_USER_AGENT": "<значение HH_USER_AGENT>"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа servers.

Ключи и настройки

HH_CLIENT_IDсекрет, обязательная
HH_CLIENT_SECRETсекрет, обязательная
HH_USER_AGENTобязательная

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Выполните в терминале

codex mcp add hh --env 'HH_CLIENT_ID=<ваш HH_CLIENT_ID>' --env 'HH_CLIENT_SECRET=<ваш HH_CLIENT_SECRET>' --env 'HH_USER_AGENT=<значение HH_USER_AGENT>' -- npx tsx /Users/you/apps/hh-mcp/src/index.ts

Или добавьте в файл ~/.codex/config.toml, для всех проектов

[mcp_servers.hh]
command = "npx"
args = ["tsx", "/Users/you/apps/hh-mcp/src/index.ts"]
env = { HH_CLIENT_ID = "<ваш HH_CLIENT_ID>", HH_CLIENT_SECRET = "<ваш HH_CLIENT_SECRET>", HH_USER_AGENT = "<значение HH_USER_AGENT>" }

Если файл уже есть, допишите блок в конец.

Ключи и настройки

HH_CLIENT_IDсекрет, обязательная
HH_CLIENT_SECRETсекрет, обязательная
HH_USER_AGENTобязательная

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Выполните в терминале

gemini mcp add -s user -e 'HH_CLIENT_ID=<ваш HH_CLIENT_ID>' -e 'HH_CLIENT_SECRET=<ваш HH_CLIENT_SECRET>' -e 'HH_USER_AGENT=<значение HH_USER_AGENT>' hh npx tsx /Users/you/apps/hh-mcp/src/index.ts

Или добавьте в файл ~/.gemini/settings.json, для всех проектов

{
  "mcpServers": {
    "hh": {
      "command": "npx",
      "args": [
        "tsx",
        "/Users/you/apps/hh-mcp/src/index.ts"
      ],
      "env": {
        "HH_CLIENT_ID": "<ваш HH_CLIENT_ID>",
        "HH_CLIENT_SECRET": "<ваш HH_CLIENT_SECRET>",
        "HH_USER_AGENT": "<значение HH_USER_AGENT>"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers.

Ключи и настройки

HH_CLIENT_IDсекрет, обязательная
HH_CLIENT_SECRETсекрет, обязательная
HH_USER_AGENTобязательная

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Добавьте в файл ~/.config/devin/mcp_config.json, для всех проектов

{
  "mcpServers": {
    "hh": {
      "command": "npx",
      "args": [
        "tsx",
        "/Users/you/apps/hh-mcp/src/index.ts"
      ],
      "env": {
        "HH_CLIENT_ID": "<ваш HH_CLIENT_ID>",
        "HH_CLIENT_SECRET": "<ваш HH_CLIENT_SECRET>",
        "HH_USER_AGENT": "<значение HH_USER_AGENT>"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers. В легаси Cascade конфиг MCP лежит в ~/.codeium/windsurf/mcp_config.json.

Ключи и настройки

HH_CLIENT_IDсекрет, обязательная
HH_CLIENT_SECRETсекрет, обязательная
HH_USER_AGENTобязательная

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Бывший Windsurf.

Добавьте в файл cline_mcp_settings.json, для всех проектов

{
  "mcpServers": {
    "hh": {
      "command": "npx",
      "args": [
        "tsx",
        "/Users/you/apps/hh-mcp/src/index.ts"
      ],
      "env": {
        "HH_CLIENT_ID": "<ваш HH_CLIENT_ID>",
        "HH_CLIENT_SECRET": "<ваш HH_CLIENT_SECRET>",
        "HH_USER_AGENT": "<значение HH_USER_AGENT>"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Файл настроек открывается в Cline: вкладка MCP Servers, кнопка Configure MCP Servers.

Ключи и настройки

HH_CLIENT_IDсекрет, обязательная
HH_CLIENT_SECRETсекрет, обязательная
HH_USER_AGENTобязательная

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Добавьте в файл .roo/mcp.json, в проекте

{
  "mcpServers": {
    "hh": {
      "command": "npx",
      "args": [
        "tsx",
        "/Users/you/apps/hh-mcp/src/index.ts"
      ],
      "env": {
        "HH_CLIENT_ID": "<ваш HH_CLIENT_ID>",
        "HH_CLIENT_SECRET": "<ваш HH_CLIENT_SECRET>",
        "HH_USER_AGENT": "<значение HH_USER_AGENT>"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers.

Ключи и настройки

HH_CLIENT_IDсекрет, обязательная
HH_CLIENT_SECRETсекрет, обязательная
HH_USER_AGENTобязательная

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Форк Roo Code, папки .roo те же.

Добавьте в файл opencode.json, в проекте

{
  "mcp": {
    "hh": {
      "type": "local",
      "command": [
        "npx",
        "tsx",
        "/Users/you/apps/hh-mcp/src/index.ts"
      ],
      "environment": {
        "HH_CLIENT_ID": "<ваш HH_CLIENT_ID>",
        "HH_CLIENT_SECRET": "<ваш HH_CLIENT_SECRET>",
        "HH_USER_AGENT": "<значение HH_USER_AGENT>"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcp.

Ключи и настройки

HH_CLIENT_IDсекрет, обязательная
HH_CLIENT_SECRETсекрет, обязательная
HH_USER_AGENTобязательная

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Добавьте в файл ~/.config/zed/settings.json, для всех проектов

{
  "context_servers": {
    "hh": {
      "command": "npx",
      "args": [
        "tsx",
        "/Users/you/apps/hh-mcp/src/index.ts"
      ],
      "env": {
        "HH_CLIENT_ID": "<ваш HH_CLIENT_ID>",
        "HH_CLIENT_SECRET": "<ваш HH_CLIENT_SECRET>",
        "HH_USER_AGENT": "<значение HH_USER_AGENT>"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа context_servers.

Ключи и настройки

HH_CLIENT_IDсекрет, обязательная
HH_CLIENT_SECRETсекрет, обязательная
HH_USER_AGENTобязательная

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Добавьте в файл .codeassistant/mcp.json, в проекте

{
  "mcpServers": {
    "hh": {
      "command": "npx",
      "args": [
        "tsx",
        "/Users/you/apps/hh-mcp/src/index.ts"
      ],
      "env": {
        "HH_CLIENT_ID": "<ваш HH_CLIENT_ID>",
        "HH_CLIENT_SECRET": "<ваш HH_CLIENT_SECRET>",
        "HH_USER_AGENT": "<значение HH_USER_AGENT>"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers.

Ключи и настройки

HH_CLIENT_IDсекрет, обязательная
HH_CLIENT_SECRETсекрет, обязательная
HH_USER_AGENTобязательная

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Понадобится: Node.js

Сверено с репозиторием 25 сент. 2026, коммит 69e389a.

Текст для агента

Создай OAuth-приложение работодателя на dev.hh.kz/admin или dev.hh.ru/admin, склонируй репозиторий, выполни npm install, заполни HH_CLIENT_ID, HH_CLIENT_SECRET и HH_USER_AGENT в .env, подключи сервер по stdio, вызови hh_auth action=get_auth_url, авторизуйся и передай код в hh_auth action=exchange_code.

Другие способы из описания автора
git clone https://github.com/mardanaltynbekov1104/hh-mcp.git ~/apps/hh-mcp && cd ~/apps/hh-mcp && npm install && cp .env.example .env

Установка из README, дальше нужно вписать HH_CLIENT_ID, HH_CLIENT_SECRET и HH_USER_AGENT.

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

Что делает

Девять инструментов покрывают более 70 действий официального работодательского API HeadHunter (hh.kz и hh.ru используют общее API). hh_auth ведет OAuth-флоу от ссылки авторизации до сохранения токенов в ~/.hh-mcp/tokens.json с правами 600 и автообновления по истечении. hh_employer_vacancies управляет своими вакансиями: список активных, архивных и скрытых, CRUD, архивирование, продление, черновики, статистика и посетители. hh_employer_negotiations читает и двигает отклики по этапам, отправляет сообщения кандидатам, приглашает кандидата на вакансию (invite) и хранит шаблоны сообщений. hh_employer_resumes ищет резюме по платной подписке, получение конкретного резюме требует явного confirm: true, потому что тратит платный контакт, здесь же CRUD сохраненных поисков и заметок команды о кандидате. hh_webhooks подписывает на события вроде нового отклика в реальном времени. Публичные части (справочники, подсказки, оценка зарплаты) работают без OAuth.

Для кого. Для HR-менеджеров и рекрутеров в аккаунте работодателя hh.kz или hh.ru, которым нужно вести вакансии, отклики и сорсинг кандидатов из агента.

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

  • Нужно вести свои вакансии, отклики и переписку с кандидатами через агента
  • Нужен сорсинг: поиск резюме по подписке и приглашение подходящих кандидатов
  • Нужны вебхуки на новые отклики или изменения статуса в реальном времени

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

  • Вы соискатель, а не работодатель: README прямо говорит, что applicant-side пока только в roadmap
  • Нет OAuth-приложения работодателя на dev.hh.kz или dev.hh.ru: без client_id и client_secret employer-инструменты не работают
  • Не готовы платить за просмотр резюме: get резюме требует confirm: true, потому что тратит платный контакт

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

Покажи новые отклики по вакансии 12345678 и предложи ответ кандидату с приглашением на интервью в Zoom

Ограничения

Версия 0.1, автор сам называет это employer-side MVP. Applicant-side, вебхуки без публичного HTTPS-приемника и удобная дистрибуция вроде Railway или DXT в roadmap, а не готовы. hh_webhooks требует собственный публичный HTTPS-URL для приема событий, который нужно поднимать отдельно. Открытие конкретного резюме тратит платный контакт работодателя, ошибиться с confirm: true недешево.

Как отключить. Удалите блок hh из mcpServers в конфигурации клиента и файл ~/.hh-mcp/tokens.json с сохраненными токенами.

MCP

Транспорт
stdio, http
Авторизация
OAuth
Переменные окружения
Переменные окружения
HH_CLIENT_ID
обязательная, секрет
OAuth client id с dev.hh.kz или dev.hh.ru, нужен для employer-инструментов.
HH_CLIENT_SECRET
обязательная, секрет
OAuth client secret того же приложения.
HH_USER_AGENT
обязательная
Строка User-Agent с контактным email, hh.kz и hh.ru требуют ее в заголовке.

Проверка безопасности

  • Может пригласить кандидата и отправить сообщение от имени работодателя (hh_employer_negotiations invite, message_send)
  • Просмотр резюме тратит платный контакт работодателя, ошибка в вызове стоит денег
  • OAuth-токены работодателя дают широкий доступ к вакансиям, откликам и резюме кандидатов

Коротко о README

README перечисляет девять инструментов с более чем 70 действиями работодательского API HeadHunter, дает таблицу с уровнем авторизации для каждого, шаги установки и OAuth-флоу с сохранением токенов, конфигурацию для Claude Code, Claude Desktop, Cursor, Continue и Cline, а также HTTP-режим для claude.ai-коннектора. Приведены развернутые примеры вызовов: поиск вакансий, отклики, приглашение кандидата, поиск и просмотр резюме, заметки о кандидате, подписка на вебхуки. В roadmap новый chat API, биллинг, applicant-side и хостинг на Railway. Лицензия MIT.

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

Работает ли сервер для соискателя, а не работодателя?

Нет, это employer-side MVP, инструменты для соискателя в roadmap на версию 0.2+.

Почему получение резюме требует отдельного подтверждения?

Потому что просмотр конкретного резюме тратит платный контакт работодателя, поэтому инструмент требует явный confirm: true.

Официальный

Самостоятельно размещаемая база знаний с блочными ссылками и встроенным MCP-сервером для подключения AI-агентов к заметкам

MCP-серверСредний риск46,5 тыс.Звезды репозитория
Выбор редакции

CLI для всех API Google Workspace с выводом в JSON и набором скиллов для агентов: Drive, Gmail, Calendar, Sheets и другие

CLIВысокий риск31,2 тыс.Звезды репозитория
Выбор редакции

Локальный поиск по заметкам, документации и расшифровкам встреч в Markdown: ключевые слова, смысловой поиск и ранжирование, есть MCP

CLIСредний рискБез VPN30,1 тыс.Звезды репозитория
Выбор редакции

Менеджер задач для AI-разработки: разбирает PRD на задачи с зависимостями и ведет агента по ним через MCP или CLI

MCP-серверСредний риск28,1 тыс.Звезды репозитория
Foxx AIhh-mcp: работодательский API hh.ru и hh.kz

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.