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
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
Install
- Works in
- Services
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/andreytepaykin-hh-mcpDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended 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 salaryMCP
- Transport
- stdio, http
- Authentication
- key is optional
Environment variables
HH_ACCESS_TOKENsecret- 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.
Related
All hh.ru toolshh.ru MCP
hh-mcp
MCP server for the hh.ru API: vacancy and employer search, salary estimates, reference lists, resumes with employer access
All 135 public hh.ru API operations as toolsets: vacancies, responses, chats and resumes, writes only with confirm=true
A browser-based MCP server for job search on hh.ru: resume-matched vacancy recommendations, applications and statuses
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
HH.ru MCP Server: browser auto-apply
HH.ru MCP Server
An MCP server that emulates an hh.ru browser session via Playwright for search, AI vacancy scoring and automatic applications with a daily cap
ats-mcp-server: jobs from hh.ru and ATS platforms
ats-mcp-server
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
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.