HH MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@HH MCP Server search for senior backend vacancies in Moscow"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HH MCP Server
MCP-сервер для автоматизации работы с hh.ru через браузерную автоматизацию (Playwright).
Возможности
Поиск вакансий — по ключевым словам, городу, зарплате, опыту, графику (удалёнка/офис/гибрид)
Просмотр деталей вакансий — полное описание, требования, стек, условия
Управление резюме — просмотр списка и содержимого своих резюме
Отклики на вакансии — с сопроводительным письмом и ответами на вопросы работодателя
Отслеживание откликов — статусы всех отправленных откликов
Информация о работодателях — карточка компании
Related MCP server: HeadHunter API MCP Server
Требования
Python 3.12+
uv (менеджер пакетов)
Установка
cd hh-mcp-server
uv sync
uv run playwright install chromiumАвторизация
Перед первым использованием нужно авторизоваться на hh.ru:
uv run hh-mcp-server --loginОткроется браузер — войдите в свой аккаунт hh.ru. Сессия сохранится в ~/.hh-mcp/profile/state.json.
Запуск
Как MCP-сервер (stdio, для Claude Code)
uv run hh-mcp-serverС видимым браузером (для отладки)
uv run hh-mcp-server --no-headlessHTTP-транспорт
uv run hh-mcp-server --transport streamable-http --port 8766Настройка в Claude Code
Добавьте в .claude/settings.json:
{
"mcpServers": {
"hh": {
"command": "/path/to/uv",
"args": ["run", "--directory", "/path/to/hh-mcp-server", "hh-mcp-server"]
}
}
}MCP-инструменты
Инструмент | Описание |
| Поиск вакансий по ключевым словам (keywords, area, salary, experience, schedule) |
| Подходящие вакансии для резюме (алгоритм hh.ru, до 1000 вакансий) |
| Детали вакансии по ID |
| Список резюме пользователя |
| Полное содержимое резюме |
| Отклик на вакансию (с письмом и ответами на вопросы) |
| Статусы откликов |
| Информация о компании |
| Закрытие браузера и сохранение сессии |
Рекомендованные вакансии
Инструмент get_recommended_vacancies использует алгоритм hh.ru для подбора вакансий на основе резюме (аналог страницы "Подходящие вакансии"):
get_recommended_vacancies(
resume_id="0fe69243ff063cb4720039ed1f574b71676a55",
max_pages=50 # до 1000 вакансий (20 на страницу)
)Это значительно точнее, чем keyword search — hh.ru анализирует опыт, навыки и должность из резюме.
Отклик на вакансию (двухшаговый flow)
Некоторые вакансии имеют обязательные вопросы от работодателя:
Первый вызов без
question_answers— возвращает список вопросовВторой вызов с
question_answers— отправляет отклик
# Шаг 1: получить вопросы
apply_to_vacancy(vacancy_id="12345")
# → {"status": "questions_required", "questions": [...]}
# Шаг 2: отправить с ответами
apply_to_vacancy(
vacancy_id="12345",
resume_id="abc123",
cover_letter="Текст письма",
question_answers={"task_123_text": "Ответ на вопрос"}
)Структура проекта
hh_mcp_server/
├── cli_main.py # CLI точка входа (--login, --no-headless, --transport)
├── server.py # FastMCP сервер, регистрация инструментов
├── constants.py # URL, пути, маппинги (города, графики, опыт)
├── exceptions.py # Кастомные исключения
├── drivers/
│ └── browser.py # Playwright: контекст, страница, сохранение сессии
├── tools/
│ ├── vacancy.py # Инструменты поиска и просмотра вакансий
│ ├── apply.py # Инструмент отклика на вакансию
│ ├── resume.py # Инструменты работы с резюме
│ ├── employer.py # Информация о работодателе
│ └── responses.py # Отслеживание откликов
├── scraping/
│ ├── selectors.py # CSS-селекторы для парсинга hh.ru
│ ├── extractor.py # Утилиты извлечения данных со страниц
│ ├── apply.py # Логика отклика (cookies, вопросы, письмо, submit)
│ └── resume.py # Парсинг страниц резюме
└── utils/
└── auth.py # Авторизация (login flow, проверка сессии)Логирование
uv run hh-mcp-server --log-level DEBUGУровни: DEBUG, INFO, WARNING (по умолчанию), ERROR.
Available Tools
9 toolsapply_to_vacancyApply to VacancyA
Apply to a vacancy on hh.ru.
Two-pass flow for vacancies with questions:
First call without question_answers -> returns questions list
Second call with question_answers filled -> submits application
Args: vacancy_id: hh.ru vacancy ID resume_id: Resume ID to use (from get_my_resumes) cover_letter: Cover letter text question_answers: Dict mapping question label to answer text
Inputs: vacancy_id (required), resume_id, cover_letter, question_answers. Returns: object
close_sessionClose SessionA
Close the browser session and save state.
Inputs: no named parameters. Returns: object
get_employer_infoGet Employer InfoB
Get company/employer information.
Args: employer_id: hh.ru employer ID
Inputs: employer_id (required). Returns: object
get_my_resumesGet My ResumesA
Get list of user's resumes on hh.ru.
Inputs: no named parameters. Returns: result
get_recommended_vacanciesGet Recommended VacanciesA
Get vacancies recommended by hh.ru for a specific resume.
Uses hh.ru's matching algorithm to find vacancies that best fit the resume. This is equivalent to the "Подходящие вакансии" page.
Args: resume_id: Resume ID from get_my_resumes (e.g., "0fe69243ff063cb4720039ed1f574b71676a55") max_pages: Maximum pages to load (1-50, default 5, 20 vacancies per page)
Inputs: resume_id (required), max_pages. Returns: object
get_responsesGet My ResponsesA
Get list of user's job applications/responses on hh.ru.
Inputs: no named parameters. Returns: object
get_resumeGet ResumeA
Get full resume content.
Args: resume_id: Resume ID (from get_my_resumes)
Inputs: resume_id (required). Returns: object
get_vacancy_detailsGet Vacancy DetailsA
Get full details of a specific vacancy.
Args: vacancy_id: hh.ru vacancy ID (e.g., "12345678")
Inputs: vacancy_id (required). Returns: object
search_vacanciesSearch VacanciesA
Search for vacancies on hh.ru.
Args: keywords: Search keywords (e.g., "QA Automation Engineer") area: Location filter (e.g., "москва", "россия") salary_from: Minimum salary salary_to: Maximum salary experience: Experience level (no_experience, 1-3, 3-6, 6+) schedule: Work schedule (remote, office, hybrid, flexible, shift) max_pages: Maximum pages to load (1-10, default 3)
Inputs: keywords (required), area, schedule, max_pages, +3 more. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool has a clearly distinct purpose: searching vacancies, getting details, applying, managing resumes, employer info, and responses. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., search_vacancies, get_resume, apply_to_vacancy). No mixing of styles.
9 tools are well-scoped for a job application platform, covering all core operations without being excessive or too sparse.
The tool set covers the essential job search and application workflow. Minor gaps like resume creation/editing are absent but can be handled externally.
Maintenance
Related MCP Connectors
Automate your job search: find jobs, upload a resume, apply automatically, and track applications.
Job applications done for you: check applications and interviews, get prep, apply to a job by URL.
Auto-Apply That Ends on an Interview. AI job search, tailored resumes, job application tracker.
Analyze job listings against your resume, track applications, and generate cover letters.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search job vacancies, manage resumes, and apply to jobs on HeadHunter (hh.ru), Russia's largest job search platform. Includes OAuth 2.0 integration for secure job applications and an automated vacancy hunter agent with intelligent matching.37MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to access and manage HeadHunter job platform data, including vacancies, resumes, negotiations, and employer settings via 167+ tools.124 npm5MIT
- FlicenseNot gradedqualityDmaintenanceEnables searching for jobs in Russia and remote positions from AI assistants using multiple job platforms (hh.ru, Trudvsem, SuperJob, and remote job aggregators).1-
- AlicenseAqualityBmaintenanceEnables searching and retrieving job vacancies, resumes, employers, and salary statistics from the hh.ru API (Russia/CIS) via 19 tools, with optional token access for resume search.19115 npm10MIT