@theyahia/hh-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Interface to bind in HTTP mode (default: 127.0.0.1). | 127.0.0.1 |
| PORT | No | Alternate port variable for HTTP mode (alias for HTTP_PORT). | 3000 |
| HTTP_PORT | No | Port for HTTP mode. | 3000 |
| HH_USER_AGENT | No | Custom HH-User-Agent (hh.ru requires it). Recommend your-app/1.0 (you@example.com). | |
| HH_ACCESS_TOKEN | No | OAuth 2.0 Bearer token. Required for resume endpoints (employer + paid resume DB). | |
| HH_ALLOWED_HOSTS | No | Comma-separated Host allow-list for HTTP mode (default: loopback). | |
| HH_ALLOWED_ORIGINS | No | Comma-separated Origin allow-list for HTTP mode. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_vacanciesA | Search job vacancies on hh.ru by keywords, region, professional role, industry, metro, salary, experience, employment form, work format, date range and labels. Returns a compact paginated summary (pass raw:true for full JSON). |
| get_vacancyB | Get full vacancy details: description, requirements, key skills, contacts, employer info. |
| get_similar_vacanciesB | Find vacancies similar to a given one. Useful for expanding a candidate's job search. |
| search_resumesA | Search candidate resumes by keywords, region, professional role, salary, experience. Requires an EMPLOYER OAuth token (HH_ACCESS_TOKEN) AND a paid hh.ru resume-database subscription — applicant/anonymous tokens get 403. |
| get_resumeA | Get full resume details: experience, education, skills, contacts. Requires an EMPLOYER OAuth token + paid resume-database access. |
| search_employersA | Search companies/employers on hh.ru by name. Returns company info and open vacancy count. |
| get_employerA | Get detailed employer profile: description, industries, website, vacancy count. |
| get_employer_vacanciesC | List active vacancies for a specific employer. |
| get_areasA | Get the full tree of regions and cities as |
| get_areas_subtreeA | Get the regions/cities subtree under one area id (e.g. 113=Russia) — lighter than the full /areas tree. |
| get_professional_rolesA | Get the tree of professional roles with IDs. Use to find role IDs for vacancy/resume search and salary stats. |
| get_industriesA | Get the tree of company industries with IDs. Use to find industry IDs for the search_vacancies |
| get_metroA | Get metro stations and lines with IDs for a city (city_id), or for all cities. Use to find metro IDs for the search_vacancies |
| get_dictionariesA | Get all reference dictionaries: currencies, employment types, schedules, experience levels, vacancy labels, and more. |
| validate_tokenA | Check whether HH_ACCESS_TOKEN is valid via /me and report the user role (applicant/employer). Use to diagnose resume-search access. |
| suggest_positionsA | Autocomplete job titles / professional roles. Returns matching role suggestions for partial input. |
| suggest_companiesB | Autocomplete company names. Returns matching employer suggestions for partial input. |
| suggest_areasA | Autocomplete region/city names. Returns matching area suggestions for partial input. |
| get_salary_statisticsA | Estimate salary distribution (median, P25/P75, min/max) for a professional role in a region by sampling posted vacancy salaries client-side. Biased sample (only vacancies that disclose salary) — not official market data. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Each tool targets a distinct resource or action: search/get for vacancies, resumes, employers, plus reference data and suggestions. Even similar tools like get_areas vs get_areas_subtree have clearly separated purposes.
All tool names follow a consistent verb_noun pattern in snake_case (search_vacancies, get_vacancy, suggest_areas). No mixing of conventions or vague verbs.
19 tools is on the higher end but well-justified for a comprehensive job API covering search, retrieval, suggestions, and reference data. Not excessive enough to be a problem.
The tool surface covers all major read-only operations for hh.ru: vacancy/resume/employer search and retrieval, similar vacancies, salary stats, and reference dictionaries. No obvious gaps for the intended purpose.