关于 hh-mcp
hh-mcp 将 hh.ru 招聘 API 接入 AI Agent,支持搜索职位和雇主、查看薪资统计;配置符合条件的雇主令牌后,还可搜索简历。
主要功能
- 01按多种条件搜索职位
- 02获取职位和雇主资料
- 03使用雇主令牌搜索简历
- 04查看估算薪资分布
- 05浏览地区和参考数据
- 06返回精简摘要或原始 JSON
适用场景
- 01按职位和薪资查找远程工作
- 02查看雇主发布的在招职位
- 03比较不同地区的估算薪资
- 04在具备相应权限时搜索候选人简历
MCP 相关
该服务将 hh.ru API 操作作为 MCP 工具提供,包括职位、雇主、薪资、参考数据和可选的简历功能。支持 stdio 和 Streamable HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| area | number | 否 | Код региона (1=Москва, 2=СПб) |
| text | string | 否 | Ключевые слова для поиска |
| salary | number | 否 | Желаемая зарплата |
| currency | string | 否 | Валюта зарплаты |
| per_page | integer | 否 | Количество на странице |
| employment | enum | 否 | Тип занятостиfull | part | project | volunteer | probation |
| experience | enum | 否 | Опыт работыnoExperience | between1And3 | between3And6 | moreThan6 |
README 原文English
来自项目 READMEREADME 暂无中文译文,以下为英文原文;中文介绍见上方。
MCP-сервер для hh.ru API — 19 инструментов для ИИ-агента: вакансии, резюме, зарплаты
Если вы искали, как подключить hh.ru к Claude или другому ИИ-агенту, — этот сервер даёт агенту поиск по вакансиям и резюме, карточки работодателей, статистику зарплат и справочники hh.ru по России и СНГ. Спрашиваете «найди Python-вакансии в Москве от 250 000 ₽ на удалёнке» — агент возвращает готовый список с зарплатами и опытом, а не ссылку на выдачу. Поиск вакансий работает без токена; токен нужен только для базы резюме.
По умолчанию ответы приходят компактными сводками, удобными для 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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。