hh-apply-suite: hh.ru cover letter generator

hh-apply-suite

An MCP server that parses an hh.ru vacancy, researches the candidate's GitHub, writes a 150-220 word cover letter, and preps 12 HR answers

  • 0 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • Runs a Python server that fetches a vacancy from the hh.ru API and repositories from the GitHub API
  • The user submits the application; the server does not connect to the hh.ru account
All reasons and checks
Russian stack

shekelstrong/hh-apply-suite

Install

Services

Manual install

git clone https://github.com/shekelstrong/hh-apply-suite.git && cd hh-apply-suite && pip install -r requirements.txt

Setup from the README.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Runs a Python server that fetches a vacancy from the hh.ru API and repositories from the GitHub API
  • The user submits the application; the server does not connect to the hh.ru account

This is third-party code. Review the repository files before installing.

What it does

Five tools form a pipeline: parse_vacancy parses a vacancy through hh.ru's official API, falling back to HTML parsing if the API is unavailable, returning the title, company, salary, requirements and ATS keywords. research_github ranks the candidate's repositories by stars and keyword match against the vacancy, returning the top 10. write_cover assembles a cover letter from a role-specific template (frontend, backend, ai, pm, fullstack), 150-220 words long, with 4-5 metric-backed bullets and no cliches like "extensive experience" or "eager to contribute." answer_hr returns a prepared answer for one of 12 HR question types: schedule, relocation, reason for leaving, salary, and others. ats_check checks a letter draft for length, the share of found ATS keywords, banned phrases, metrics in the bullets, and the signature format. There is no application-submission tool in the set: the letter and answers are prepared, and the user applies themselves.

Who it is for. For job seekers who decide themselves where and when to apply but want a ready draft cover letter and HR answers tailored to a specific hh.ru vacancy.

Good fit when

  • You need to quickly draft a cover letter for an hh.ru vacancy that reflects your GitHub profile
  • You need prepared answers to common HR questions about schedule, relocation, reason for changing jobs
  • You need to check a letter for length, cliches and ATS keyword match before sending it

Not a fit when

  • You need the tool to actually submit an application: there is no such tool in the set, only text preparation
  • You need answer_hr for a non-standard question: the 12 categories cover only common topics, with a generic fallback for the rest
  • You don't want to hand over your GitHub username for automatic repository analysis

Example request

Here's hh.ru/vacancy/123456, write a cover letter that reflects my GitHub profile vasiliy-dev

MCP

Transport
stdio
Authentication
not required

Environment variables

GITHUB_TOKEN secret
Raises the GitHub API rate limit from 60 to 5,000 requests per hour for research_github.

Limitations

The project comes from a single author, and the README reflects a specific candidate's (Vasiliy Nedopekin's) voice and style, so the letter templates are worth adapting to yourself. Without GITHUB_TOKEN, the GitHub API rate limit drops to 60 requests per hour instead of 5,000. The HTML vacancy parsing is a fallback for when the official API is unavailable and can break if hh.ru changes its markup.

How to disable. Remove the hh-apply-suite server from your MCP client configuration and delete the local repository copy.

FAQ

Does the server submit the application for me?

No, the set has only five text-preparation tools; the user presses the apply button on hh.ru themselves.

What if the GitHub profile is empty or unavailable?

research_github returns whatever it finds via the GitHub API, but without GITHUB_TOKEN the rate limit is capped at 60 requests per hour.

Discussion

No questions or reviews yet.

Russian stack

A Node.js and Playwright script suite that searches hh.ru vacancies, scores them with an LLM, drafts cover letters and opens the application in a browser

CLIBroad access2Repository stars
Russian stack

Job search automation for hh.ru: vacancy collection, LLM-scored CV matching, cover letters and applications

SkillBroad access199Repository stars
Russian stack

A browser-based MCP server for job search on hh.ru: resume-matched vacancy recommendations, applications and statuses

MCP serverBroad access3Repository stars
Russian stack

An MCP server for the employer side of the hh.ru and hh.kz API: your vacancies, applications, resume search, sourcing and webhooks through an OAuth app

MCP serverBroad access1Repository stars
Russian stack

An MCP server that emulates an hh.ru browser session via Playwright for search, AI vacancy scoring and automatic applications with a daily cap

MCP serverBroad access1Repository stars
Russian stack

An MCP server that aggregates vacancies from hh.ru and the public Greenhouse, Ashby, Lever, Workable and Bayt APIs into one format without HTML scraping

MCP serverExtended access1Repository stars

README in short

The README describes the five MCP tools in the hh.ru application pipeline with a call example for each, the project structure, and detailed cover-letter style rules: 150-220 words, one version only, metric-backed bullets, no filler phrases, and a specific signature format. SKILL.md adds a table of common mistakes and their causes and lists four internal source skills. MIT license.

README badge

Report a problem