HH MCP Server
A browser-based MCP server for job search on hh.ru: resume-matched vacancy recommendations, applications and statuses
High risk
We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.
Why this level
- Can submit job applications on your behalf with a cover letter
- Uses browser automation on a real hh.ru account, which may go against the service's rules
Install
Manual install
cd hh-mcp-server
uv sync
uv run playwright install chromium
uv run hh-mcp-server --loginThe last command opens a browser to log into your hh.ru account; the session is saved to ~/.hh-mcp/profile/state.json.
This is third-party code. Review the repository files before installing.
What it does
The server drives your own hh.ru account via Playwright and gives the agent nine tools: vacancy search by keywords, city, salary, experience and schedule; fetching hh.ru's own algorithm-matched vacancies for a specific resume (up to 1000 via paginated calls); vacancy details; a list and full content of your resumes; applying to a vacancy with a cover letter and answers to an employer's required questions in a two-step flow; tracking sent application statuses; an employer info card; and closing the session. Authorization happens once via a browser window, after which the session is saved to a file on disk.
Who it is for. For job seekers who want to search and apply on hh.ru directly from Claude Code without switching to a browser.
Good fit when
- You need vacancies precisely matched to a specific resume via hh.ru's own algorithm, not just keywords
- You need to answer an employer's required application questions right from the agent
- You need to track the status of already sent applications without visiting the site
Not a fit when
- You do not want to authorize by opening a browser on your own hh.ru account
- You need the official hh.ru API, not browser automation
- You are not willing to let the agent apply on your behalf even with a two-step confirmation
Example request
Show vacancies recommended for my resume and apply to the first one, answering the salary expectations questionLimitations
It needs Python 3.12+ and the uv package manager. It works through Playwright browser automation, not the official hh.ru API, so site changes can break its selectors. The session is stored in a ~/.hh-mcp/profile/state.json file on disk.
How to disable. Remove the hh block from .claude/settings.json and delete the ~/.hh-mcp/profile/state.json session file.
MCP
- Transport
- stdio, http
- Authentication
- not required
Security check
- Can submit job applications on your behalf with a cover letter
- Uses browser automation on a real hh.ru account, which may go against the service's rules
README in short
The Russian README describes nine MCP tools with call examples, including the two-step application flow with employer questions and paginated recommended-vacancy collection up to 1000 results. It shows install via uv sync, account login with --login saving the session to a file, three run modes (stdio, visible browser for debugging, HTTP), and a project layout across drivers, scraping and tools.
FAQ
How does the server handle an employer's required questions?
A first apply_to_vacancy call with no question_answers returns the list of questions, and a second call with answers sends the application.
Why is get_recommended_vacancies better than keyword search?
It uses the same algorithm as hh.ru's Recommended vacancies page, factoring in experience, skills and job title from the resume rather than just query text.
Related
A self-hosted knowledge base with block-level references and a built-in MCP server for connecting AI agents to your notes
A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more
Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server
A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI