mcpField
H
hh-mcp

hh-mcp

本地服务
github.com/theYahia商业与营销57 周前更新

关于 hh-mcp

hh-mcp 将 hh.ru 招聘 API 接入 AI Agent,支持搜索职位和雇主、查看薪资统计;配置符合条件的雇主令牌后,还可搜索简历。

主要功能

  1. 01按多种条件搜索职位
  2. 02获取职位和雇主资料
  3. 03使用雇主令牌搜索简历
  4. 04查看估算薪资分布
  5. 05浏览地区和参考数据
  6. 06返回精简摘要或原始 JSON

适用场景

  1. 01按职位和薪资查找远程工作
  2. 02查看雇主发布的在招职位
  3. 03比较不同地区的估算薪资
  4. 04在具备相应权限时搜索候选人简历

MCP 相关

该服务将 hh.ru API 操作作为 MCP 工具提供,包括职位、雇主、薪资、参考数据和可选的简历功能。支持 stdio 和 Streamable HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"theyahia-hh": {
"command": "npx",
"args": [
"-y",
"@theyahia/hh-mcp"
],
"env": {
"API_KEY": "<API_KEY>"
}
}
}
}
启动命令npx -y @theyahia/hh-mcp
需要配置的环境变量
API_KEY密钥API key for the service

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@theyahia/hh-mcp1.0.0

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
areanumber否Код региона (1=Москва, 2=СПб)
textstring否Ключевые слова для поиска
salarynumber否Желаемая зарплата
currencystring否Валюта зарплаты
per_pageinteger否Количество на странице
employmentenum否Тип занятостиfull | part | project | volunteer | probation
experienceenum否Опыт работыnoExperience | between1And3 | between3And6 | moreThan6

README 原文English

来自项目 README

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
{
  "mcpServers": {
    "hh": {
      "command": "npx",
      "args": ["-y", "@theyahia/hh-mcp"],
      "env": {
        "HH_ACCESS_TOKEN": "optional-oauth-token"
      }
    }
  }
}
Claude Code
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
{
  "servers": {
    "hh": {
      "command": "npx",
      "args": ["-y", "@theyahia/hh-mcp"]
    }
  }
}
Windsurf
{
  "mcpServers": {
    "hh": {
      "command": "npx",
      "args": ["-y", "@theyahia/hh-mcp"]
    }
  }
}
Режим HTTP (Streamable HTTP)
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 в Москве и Санкт-Петербурге и предложи вакансии, похожие на самую высокооплачиваемую

Разработка

git clone https://github.com/theYahia/hh-mcp.git
cd hh-mcp
npm install
npm run build
npm test

Справочник API

Лицензия

MIT


Часть WWmcp · Telegram: @vhodvai

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。