HH MCP Server
Click on "Install 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 Serversearch 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: LinkedIn 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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/iraguzov/hh-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server