Hh Mcp

io.github.theYahiaPublished by GitHub account theYahiav1.0.0Updated Oct 28, 2026

MCP server for hh.ru jobs API — vacancy search, salary stats, employers, regions. Public endpoints,

Overview

AI-generated overview

MCP server for the hh.ru jobs API, letting an assistant search vacancies and resumes, look up employers, regions and salary statistics.

What you can do
  • Search vacancies by keyword, region, role, industry, metro, salary, experience and work format, and fetch a vacancy card or similar vacancies
  • Search candidate resumes and read full resume details (requires an employer token with a paid resume database)
  • Search employers, read employer profiles and list their active vacancies
  • Look up reference data: region trees, professional roles, industries, metro stations, dictionaries, and autocomplete for positions, companies and areas
  • Get estimated salary distribution (median, P25/P75, min/max) for a role in a region, and validate the access token
When to use it
Useful when you want an assistant to answer job-market questions for Russia and the CIS directly — finding matching vacancies with salaries and experience, comparing pay across cities or roles, or researching employers — instead of returning a link to a search page.
Requirements
Runs locally via npx as a Node.js package, or in an optional HTTP mode on localhost. Vacancy, employer and reference lookups work without a token; resume search needs an OAuth token in HH_ACCESS_TOKEN from an employer account with a paid resume database subscription. An optional HH_USER_AGENT is recommended because hh.ru requires it.
Before you install
The token in HH_ACCESS_TOKEN is a credential; resume endpoints return candidate personal data and contacts, so handle results carefully. Resume access requires a paid subscription on the hh.ru side. Salary statistics are estimated from published vacancies with a biased sample, not official market data. If you expose the HTTP mode beyond localhost, add your own authentication and allowed hosts/origins.

Installation

In SourceWeft

  1. Open Hh Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

MCP-сервер для hh.ru API — 19 инструментов для ИИ-агента: вакансии, резюме, зарплаты

Если вы искали, как подключить hh.ru к Claude или другому ИИ-агенту, — этот сервер даёт агенту поиск по вакансиям и резюме, карточки работодателей, статистику зарплат и справочники hh.ru по России и СНГ. Спрашиваете «найди Python-вакансии в Москве от 250 000 ₽ на удалёнке» — агент возвращает готовый список с зарплатами и опытом, а не ссылку на выдачу. Поиск вакансий работает без токена; токен нужен только для базы резюме.

[npm] [CI] [License: MIT]

[Демонстрация: вопрос «найди Python-вакансии в Москве от 250 000 ₽ на удалёнке» — агент вызывает search_vacancies и отвечает списком вакансий]

По умолчанию ответы приходят компактными сводками, удобными для LLM — передайте raw: true любому инструменту поиска или карточки, чтобы получить полный JSON hh.ru.

Часть серии WWmcp от @theYahia.

Два режима

РежимЧто доступноНужен токен?
Без токенаПоиск вакансий, вакансия по ID, похожие вакансии, работодатели, статистика зарплат, регионы, роли, отрасли, метро, справочники, подсказки, проверка токенанет
С токеномВсё перечисленное + поиск резюме, резюме по IDда (HH_ACCESS_TOKEN)

Токен выдаётся на dev.hh.ru/admin. Важно: поиск резюме дополнительно требует аккаунт работодателя с оплаченной подпиской на базу резюме — токены соискателя и анонимные получают 403. Проверить возможности своего токена можно инструментом validate_token.

Установка

Claude Desktop

json
{  "mcpServers": {    "hh": {      "command": "npx",      "args": ["-y", "@theyahia/hh-mcp"],      "env": {        "HH_ACCESS_TOKEN": "optional-oauth-token"      }    }  }}

Claude Code

bash
claude mcp add hh -- npx -y @theyahia/hh-mcp# С токеном:claude mcp add hh -e HH_ACCESS_TOKEN=your-token -- npx -y @theyahia/hh-mcp

VS Code / Cursor

json
{  "servers": {    "hh": {      "command": "npx",      "args": ["-y", "@theyahia/hh-mcp"]    }  }}

Windsurf

json
{  "mcpServers": {    "hh": {      "command": "npx",      "args": ["-y", "@theyahia/hh-mcp"]    }  }}

Режим HTTP (Streamable HTTP)

bash
npx @theyahia/hh-mcp --http# илиHTTP_PORT=8080 npx @theyahia/hh-mcp --http

Эндпоинт: http://localhost:3000/mcp (POST) · Проверка состояния: http://localhost:3000/health (GET)

HTTP-режим stateless, по умолчанию слушает 127.0.0.1 с включённой защитой от DNS-rebinding. Чтобы открыть его наружу, задайте HOST=0.0.0.0, добавьте свой host/origin в HH_ALLOWED_HOSTS / HH_ALLOWED_ORIGINS и поставьте перед ним собственную аутентификацию.

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

ПеременнаяОбяз.Описание
HH_ACCESS_TOKENнетBearer-токен OAuth 2.0. Нужен для эндпоинтов резюме (работодатель + оплаченная база резюме).
HH_USER_AGENTнетСвой HH-User-Agent (hh.ru его требует). Рекомендуемый формат: your-app/1.0 ([email protected]).
HTTP_PORT / PORTнетПорт HTTP-режима (по умолчанию 3000).
HOSTнетИнтерфейс привязки в HTTP-режиме (по умолчанию 127.0.0.1).
HH_ALLOWED_HOSTSнетСписок разрешённых Host через запятую для HTTP-режима (по умолчанию loopback).
HH_ALLOWED_ORIGINSнетСписок разрешённых Origin через запятую для HTTP-режима.

См. .env.example.

Инструменты (19)

Любой инструмент поиска или карточки принимает raw: true — тогда вернётся полный JSON hh.ru вместо компактной сводки.

Вакансии

ИнструментОписаниеТокен?
search_vacanciesПоиск по ключевым словам, региону, профессиональной роли, отрасли, метро, работодателю, зарплате, опыту, формату работы и типу занятости, периоду (period или date_from/date_to), меткам и полю поиска, с сортировкой и пагинациейнет
get_vacancyПолная карточка вакансии: описание, требования, ключевые навыки, контактынет
get_similar_vacanciesНайти вакансии, похожие на заданнуюнет

Резюме (токен работодателя + оплаченная база резюме)

ИнструментОписаниеТокен?
search_resumesПоиск резюме кандидатов по ключевым словам, региону, роли, зарплате, опытуда
get_resumeПолное резюме: опыт, образование, навыки, контактыда

Работодатели

ИнструментОписаниеТокен?
search_employersПоиск компаний по названию и регионунет
get_employerПрофиль работодателя: описание, отрасли, сайт, число вакансийнет
get_employer_vacanciesАктивные вакансии конкретного работодателянет

Справочники и подсказки

ИнструментОписаниеТокен?
get_areasДерево регионов и городов (id — название)нет
get_areas_subtreeРегионы и города внутри одного региона — легче, чем всё деревонет
get_professional_rolesДерево профессиональных ролей с IDнет
get_industriesДерево отраслей компаний с IDнет
get_metroСтанции и линии метро с ID по городунет
get_dictionariesВсе справочные данные: валюты, типы занятости, графики, опыт, меткинет
suggest_positionsАвтодополнение названий должностейнет
suggest_companiesАвтодополнение названий компанийнет
suggest_areasАвтодополнение названий регионов и городовнет

Зарплаты и аккаунт

ИнструментОписаниеТокен?
get_salary_statisticsОценочное распределение зарплат (медиана, P25/P75, мин/макс) по роли в регионе, посчитанное по зарплатам опубликованных вакансий. Выборка смещённая, это не официальные данные рынка.нет
validate_tokenПроверить, действителен ли HH_ACCESS_TOKEN (через /me), и показать роль аккаунтанет

Ограничение частоты запросов

Встроенный лимитер соблюдает ограничение API hh.ru — 5 запросов в секунду. Автоматический повтор с экспоненциальной задержкой на ошибках 429 и 5xx (до 3 попыток). Учтите: лимитер общий на процесс, поэтому в общем HTTP-режиме все клиенты делят один бюджет 5 запросов/сек.

Демо-промпты

Найди удалённые вакансии Python-разработчика в Москве от 300 000 рублей
Покажи все открытые вакансии Яндекса и дай статистику зарплат по основным ролям
Сравни зарплаты Senior Backend в Москве и Санкт-Петербурге и предложи вакансии, похожие на самую высокооплачиваемую

Разработка

bash
git clone https://github.com/theYahia/hh-mcp.gitcd hh-mcpnpm installnpm run buildnpm test

Справочник API

Лицензия

MIT


Часть WWmcp · Telegram: @vhodvai

Source: README.md at commit 1091209

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts