hh-mcp: 52 tools for hh.ru

hh-mcp

An MCP server with 52 tools over the official hh.ru API: vacancy search with no token, employer resumes and applications with one, and salary statistics

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

Extended access

Why this level

  • With an employer token it returns candidate resumes and application correspondence
  • There are no tools to submit applications or send messages, only reading, but the token should still be kept secret
All reasons and checks
Russian stack

andreytepaykin/hh-mcp

Install

Services

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/andreytepaykin-hh-mcp

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

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

  • With an employer token it returns candidate resumes and application correspondence
  • There are no tools to submit applications or send messages, only reading, but the token should still be kept secret

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

What it does

The server wraps the official hh.ru API (dev.hh.ru) in 52 tools. Without a token you get vacancy search by keyword, region, role, salary and experience, a vacancy card, similar and related vacancies, employer profiles and vacancies, salary statistics from listings, and every reference dictionary: regions, industries, metro stations, languages, skills. With an employer token (HH_ACCESS_TOKEN) you additionally get resume search, application cards, an ATS pipeline by stage, candidate messaging history and manager statistics. However, resume search and ATS further require a paid resume-database subscription, otherwise hh.ru returns 403. Responses default to compact LLM-friendly summaries; raw: true returns the full hh.ru JSON. A built-in limiter respects hh.ru's 5 requests-per-second cap and retries on 429 and 5xx with exponential backoff. There's a separate stateless HTTP mode with DNS-rebinding protection, plus a bundled Claude Code /job-search skill with a ready-made search-and-triage workflow.

Who it is for. For job seekers who search vacancies and compare salaries through an agent, and for recruiters with paid hh.ru access who want their application pipeline in chat.

Good fit when

  • You need to search hh.ru vacancies by salary, region and experience right from an agent, no token needed
  • You need a median salary estimate by role and region
  • You have an hh.ru employer token with a paid resume database and need to triage applications and candidate messages

Not a fit when

  • You need resume search or application triage but have no employer token with a paid resume-database subscription: hh.ru will return 403
  • You want the agent to submit applications or message candidates itself: there are no tools for that, only reading
  • You need salary statistics from the official paid data bank without a token and area_id: without them it falls back to an estimate from listings

Example request

Find remote Python developer jobs in Moscow from 300,000 rubles and show the median salary

MCP

Transport
stdio, http
Authentication
key is optional

Environment variables

HH_ACCESS_TOKEN secret
An hh.ru OAuth 2.0 bearer token needed for resumes, ATS and employer-scoped endpoints, issued at dev.hh.ru/admin.
HH_USER_AGENT
A custom HH-User-Agent that hh.ru requires, recommended format your-app/1.0 (you@example.com).
HH_MAX_SCAN_PAGES
Page limit for hh.ru when scanning filtered applications, defaults to 10.

Limitations

Based on @theyahia/hh-mcp, this is a reworked fork rather than an original idea. Resume search and ATS need not just an employer token but a paid resume-database subscription. Job-seeker and anonymous tokens get 403. The built-in limiter is shared per process, so in HTTP mode with multiple clients they share one 5-requests-per-second budget. HTTP mode listens on localhost only by default; exposing it externally requires configuring HH_ALLOWED_HOSTS, HH_ALLOWED_ORIGINS and authentication yourself.

How to disable. Run claude mcp remove hh in Claude Code, or remove the hh block from mcpServers in your client configuration.

FAQ

Is a token required for vacancy search?

No, vacancy search, cards, reference data and the listing-based salary estimate all work without a token.

Is a plain employer token enough for resume search?

No, it also requires a paid resume-database subscription, otherwise hh.ru returns 403 even with a valid token.

Discussion

No questions or reviews yet.

hh.ru MCP

hh-mcp

Russian stack

MCP server for the hh.ru API: vacancy and employer search, salary estimates, reference lists, resumes with employer access

MCP serverExtended access10Repository 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 lists all 52 tools by section (vacancies, resumes, ATS/applications, employers, reference data, salaries), a table of tokenless vs. token modes, install instructions for Claude Desktop, Claude Code, VS Code/Cursor, Windsurf and a separate HTTP mode, environment variables and demo prompts. It states the project is based on @theyahia/hh-mcp. MIT license.

README badge

Report a problem