huntflow-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Порт HTTP-сервера (по умолчанию 3000) | 3000 |
| HUNTFLOW_TOKEN | Yes | API-токен (Настройки → API) | |
| HUNTFLOW_BASE_URL | No | По умолчанию https://api.huntflow.ru/v2. Для международного аккаунта — https://api.huntflow.ai/v2 | https://api.huntflow.ru/v2 |
| HUNTFLOW_USER_AGENT | No | Заголовок User-Agent (HuntFlow его требует). Дефолт huntflow-mcp/<версия> (+repo); рекомендуется указать контактный email |
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
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_accountsB | List of available HuntFlow accounts. |
| list_vacanciesC | List of vacancies (open/all), with pagination. |
| get_vacancyC | Full information about a vacancy. |
| list_applicantsA | Account applicants filtered by vacancy and/or status (stage). Pagination: page, count≤30. For "applicants for vacancy X" pass vacancy. |
| search_applicantsC | Text search for applicants (name/email/resume). Pagination: page, count≤100. The q parameter actually filters results. |
| get_applicantC | Full applicant card (external[], links[]). |
| get_applicant_resumeA | Applicant resume (CV) with body. external_id is taken from get_applicant → external[].id. |
| list_stagesC | Recruitment funnel stages (vacancy statuses): code → name. |
| list_rejection_reasonsC | Directory of rejection reasons: code → name. |
| list_account_sourcesA | Applicant resume sources (e.g. "RG", "HeadHunter"): id → name/type. Use the numeric id for create_applicant → externals[].account_source and update_applicant_external. |
| list_applicant_commentsB | Comments about an applicant (log, by default only type=COMMENT). Pagination page/count≤100. |
| add_applicant_commentA | Add a comment to an applicant (WRITE operation: creates a log entry; it cannot be edited or deleted via the API). |
| create_applicantA | Create an applicant card (WRITE operation: POST /applicants). first_name+last_name are required. Resume — as text (externals[].data.body) and/or file IDs from upload_resume. Repeating creates a DUPLICATE (no idempotency) — check doubles[] in the response. |
| attach_applicant_to_vacancyA | Attach an applicant to a vacancy and place them on a funnel stage (WRITE operation). vacancy + status (stage ID from list_stages) are required. For rejection — rejection_reason; for hiring — fill_quota + employment_date. |
| upload_resumeA | Upload a resume file (WRITE operation: multipart). Source: file_path (local path) OR content_base64+file_name. parse=true parses the CV (returns text/fields/photo). Put the id from the response into create_applicant → externals[].files / photo. |
| update_applicant_externalA | Update an EXISTING resume (external) of an applicant (WRITE operation: PUT). Set the source (account_source from list_account_sources), resume text (body) and/or files. external_id comes from get_applicant → external[].id. NOTE: there is no API to ADD a new resume to an applicant created without one — attach the resume at creation via create_applicant → externals[]. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| skill-applicants | Applicants for a vacancy — show all applicants attached to the specified vacancy. |
| skill-vacancy-stats | Vacancy statistics — funnel, timing, conversion. |
| skill-vacancy-analytics | Vacancy analytics: days in progress, applicants at customer-facing stages, timing of CV submission to the client. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Each tool has a distinct purpose: listing sources, accounts, vacancies, applicants, stages, rejection reasons, comments; getting details; creating/appending data. No two tools overlap in functionality, and descriptions clearly differentiate similar operations like list_applicants vs search_applicants.
All tool names follow a consistent verb_noun pattern in snake_case, using verbs like list, get, search, add, create, attach, upload, update. No mixing of conventions, making it predictable for agents.
16 tools cover the core recruitment workflow: accounts, vacancies, applicants, resumes, comments, stages, and rejection reasons. This is well-scoped for an ATS integration, not excessive nor sparse.
Coverage includes listing and creating applicants, uploading resumes, and attaching to vacancies, but missing updates for applicants and vacancies, no deletion operations, and no way to add a resume post-creation. These are notable gaps that could cause agent failures.