Huntflow MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Huntflow MCP Server who is stuck at the tech interview stage?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP-сервер для Huntflow — вакансии, кандидаты и резюме ATS через ИИ
Если вы искали, как подключить Huntflow к нейросети, найти кандидата и прочитать его резюме не листая карточки в ATS — это оно. 14 инструментов и 2 скилла: вакансии, кандидаты, резюме, этапы подбора, справочники, аккаунты. Спрашиваете «кто застрял на этапе техинтервью» — получаете список, а не выгрузку в CSV.
Часть серии WWmcp (46 серверов).
Важно: в npm опубликована только устаревшая
@theyahia/huntflow-mcp@1.1.1. Она жёстко ходит наapi.huntflow.ai, игнорируетHUNTFLOW_BASE_URLиHUNTFLOW_REFRESH_TOKEN, поэтому с токеном отapi.huntflow.ruвсегда отвечает «неверный токен». Ставьте сервер из исходников (ниже).
Установка
Из исходников (рекомендуется)
git clone https://github.com/<your-github-user>/huntflow-mcp.git
cd huntflow-mcp
npm install # заодно собирает dist/ (скрипт prepare){
"mcpServers": {
"huntflow": {
"command": "node",
"args": ["C:/path/to/huntflow-mcp/dist/index.js"],
"env": {
"HUNTFLOW_TOKEN": "ваш-access-token",
"HUNTFLOW_REFRESH_TOKEN": "ваш-refresh-token",
"HUNTFLOW_BASE_URL": "https://api.huntflow.ru/v2"
}
}
}
}Без клонирования — прямо с GitHub: "command": "npx", "args": ["-y", "github:<your-github-user>/huntflow-mcp"].
HUNTFLOW_BASE_URL: https://api.huntflow.ru/v2 (по умолчанию) или https://api.huntflow.ai/v2 —
это разные системы, токен действует только на той, где он выпущен.
Claude Desktop (stdio, npm — после публикации ≥ 1.2.1)
{
"mcpServers": {
"huntflow": {
"command": "npx",
"args": ["-y", "@theyahia/huntflow-mcp"],
"env": {
"HUNTFLOW_TOKEN": "ваш-access-token",
"HUNTFLOW_REFRESH_TOKEN": "ваш-refresh-token"
}
}
}
}Streamable HTTP
HUNTFLOW_TOKEN=ваш-токен npx @theyahia/huntflow-mcp --http
# POST /mcp, GET /health на 127.0.0.1:3000 (PORT=...)Smithery
npx @smithery/cli install @theyahia/huntflow-mcpRelated MCP server: PeopleBox ATS MCP Server
Получение токена
Настройки HuntFlow → вкладка «API-токены» (API Tokens) → создать токен. Выданная пара включает access-токен (живёт ~7 дней) и refresh-токен (~14 дней). Сервер автоматически обновляет access-токен через POST /token/refresh при истечении и сохраняет ротированную пару в файл состояния (HUNTFLOW_TOKEN_FILE), переживая рестарты. Если задать только HUNTFLOW_TOKEN без refresh — сервер проработает до истечения access-токена (~7 дней), затем потребуется новый токен.
Переменные окружения
Переменная | Обяз. | Описание |
| да | Access-токен (Настройки → API-токены) |
| нет | Refresh-токен — включает авто-обновление при 401 |
| нет | Файл для хранения ротированной пары (по умолчанию |
| нет | По умолчанию |
| нет |
|
| нет |
|
| нет | User-Agent (обязателен для API; есть дефолт) |
| нет | Таймаут запроса, мс (по умолчанию 10000) |
| нет |
|
| нет | Порт HTTP-сервера (по умолчанию 3000) |
| нет | Хост привязки HTTP (по умолчанию |
| нет | Если задан — требует |
| нет | Список host:port для защиты от DNS-rebinding |
Инструменты (23)
Чтение (14)
Инструмент | Описание |
| Список доступных аккаунтов |
| Список вакансий (фильтры |
| Полная информация о вакансии |
| Поиск кандидатов ( |
| Кандидаты, прикреплённые к конкретной вакансии |
| Полная информация о кандидате |
| Список резюме (external) кандидата |
| Полное тело конкретного резюме (external) |
| Этапы воронки подбора (статусы вакансий) |
| Сотрудники/рекрутеры аккаунта |
| Справочник источников кандидатов |
| Справочник причин отказа |
| Справочник подразделений |
| Справочник тегов |
Запись (9)
Меняют данные в Huntflow от имени владельца токена. Удаления нет. Отключаются целиком через HUNTFLOW_READ_ONLY=1.
Инструмент | Описание |
| Создать кандидата |
| Изменить поля кандидата (только переданные) |
| Прикрепить кандидата к вакансии на этап |
| Перевести кандидата на другой этап (отказ с причиной, найм) |
| Комментарий в ленту кандидата |
| Задать теги кандидата (заменяет весь список) |
| Создать вакансию |
| Изменить поля вакансии (только переданные) |
| Закрыть / приостановить / возобновить вакансию |
Списочные инструменты возвращают курированный набор полей (экономия токенов) + structuredContent; передайте raw: true для полного сырого ответа. Пагинация — параметры page/count.
Скиллы (Prompts)
Скилл | Описание |
| Кандидаты на вакансию — таблица с этапами и сводкой |
| Статистика по вакансии — воронка, сроки, конверсия |
Разработка
npm install
npm test # vitest
npm run typecheck # tsc --noEmit
npm run lint # eslint
npm run format # prettier --write
npm run dev # tsx src/index.ts
npm run build # tscЛицензия
MIT
Available Tools
23 toolsadd_applicant_commentA
Добавить комментарий в ленту кандидата (по вакансии или личную заметку).
Inputs: comment (required), account_id (required), applicant_id (required), vacancy_id.
add_applicant_to_vacancyC
Прикрепить кандидата к вакансии на указанный этап подбора.
Inputs: status_id (required), account_id (required), vacancy_id (required), applicant_id (required), +4 more.
change_applicant_statusA
Перевести кандидата на другой этап подбора по вакансии (в т.ч. отказ с причиной или найм).
Inputs: status_id (required), account_id (required), vacancy_id (required), applicant_id (required), +4 more.
create_applicantA
Создать кандидата в базе. Перед созданием проверьте через search_applicants, что его ещё нет.
Inputs: account_id (required), email, money, phone, +6 more.
create_vacancyD
Создать вакансию.
Inputs: position (required), account_id (required), body, money, +9 more.
get_applicantCRead-only
Полная информация о кандидате.
Inputs: account_id (required), applicant_id (required).
get_applicant_resumesCRead-only
Резюме кандидата (все прикреплённые external).
Inputs: account_id (required), applicant_id (required), raw. Returns: page, count, items, total, +2 more
get_resumeBRead-only
Полное тело конкретного резюме (external) кандидата.
Inputs: account_id (required), external_id (required), applicant_id (required).
get_vacancyCRead-only
Полная информация о вакансии.
Inputs: account_id (required), vacancy_id (required).
list_accountsCRead-only
Список доступных аккаунтов HuntFlow.
Inputs: raw. Returns: page, count, items, total, +2 more
list_coworkersCRead-only
Сотрудники/рекрутеры аккаунта.
Inputs: account_id (required), raw, page, count. Returns: page, count, items, total, +2 more
list_divisionsCRead-only
Справочник подразделений (отделов).
Inputs: account_id (required), raw. Returns: page, count, items, total, +2 more
list_rejection_reasonsCRead-only
Справочник причин отказа.
Inputs: account_id (required), raw. Returns: page, count, items, total, +2 more
list_sourcesCRead-only
Справочник источников кандидатов.
Inputs: account_id (required), raw. Returns: page, count, items, total, +2 more
list_stagesCRead-only
Этапы воронки подбора (статусы вакансий).
Inputs: account_id (required), raw. Returns: page, count, items, total, +2 more
list_tagsCRead-only
Справочник тегов аккаунта.
Inputs: account_id (required), raw. Returns: page, count, items, total, +2 more
list_vacanciesBRead-only
Список вакансий в HuntFlow (по умолчанию открытые).
Inputs: account_id (required), raw, mine, page, +3 more. Returns: page, count, items, total, +2 more
list_vacancy_applicantsCRead-only
Кандидаты, прикреплённые к конкретной вакансии.
Inputs: account_id (required), vacancy_id (required), raw, page, +2 more. Returns: page, count, items, total, +2 more
search_applicantsARead-only
Поиск кандидатов по имени/email/телефону и фильтрам (вакансия, этап, тег).
Inputs: account_id (required), q, raw, tag, +4 more. Returns: page, count, items, total, +2 more
set_applicant_tagsAIdempotent
Задать теги кандидата. Заменяет весь список тегов — передавайте и те, что нужно сохранить.
Inputs: tag_ids (required), account_id (required), applicant_id (required).
set_vacancy_stateC
Закрыть, приостановить или возобновить вакансию.
Inputs: action (required), account_id (required), vacancy_id (required), date, +3 more.
update_applicantBIdempotent
Изменить поля кандидата (имя, контакты, должность, зарплата). Меняются только переданные поля.
Inputs: account_id (required), applicant_id (required), email, money, +7 more.
update_vacancyAIdempotent
Изменить поля вакансии (название, зарплата, описание, приоритет). Меняются только переданные поля.
Inputs: account_id (required), vacancy_id (required), body, money, +8 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 23 tools
Most tools target clearly distinct resources/actions, and descriptions clarify overlaps such as search_applicants versus list_vacancy_applicants. A few pairs (get_applicant_resumes vs get_resume, list_vacancies vs get_vacancy) are close but still distinguishable.
Tool names consistently use snake_case with predictable verb_noun patterns: list_, get_, search_, create_, update_, add_, change_, set_. The few noun-only variants still fit the same readable convention.
At 23 tools the surface is somewhat heavy, but the ATS domain has many legitimate entities and reference lists. Each tool appears to serve a distinct workflow rather than being redundant.
Core applicant and vacancy workflows are well covered: search, get, create, update, attach to vacancy, move stage, comment, tags, and vacancy state. Gaps exist around deletion and richer comment/resume management, but the main lifecycle is usable.
Maintenance
Related MCP Connectors
AI resume triage for recruiters. Query your candidate pool from Claude or ChatGPT.
Recruitment ATS + CRM for agencies: candidates, jobs, pipeline and outreach, with your permissions.
Query professional profiles, search candidates, and get AI-powered summaries and job fit analysis.
Recruiting tools for candidate sourcing, enrichment, ATS workflows, campaigns, and outreach.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with BambooHR's API through natural language queries. Provides access to employee data, time off management, company files, and HR operations with comprehensive tools for workforce management.108 npm1MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables interaction with the PeopleBox Applicant Tracking System (ATS) to manage candidates, positions, and recruitment pipelines. It provides tools for searching candidate profiles, adding notes, and tracking application timelines through natural language interfaces.-
- AlicenseCqualityBmaintenanceIntegrates with HuntFlow ATS to manage vacancies, candidates, resumes, and recruitment stages via 7 tools and 2 skill prompts.1437 npm1MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to fetch and structure job postings from major ATS platforms (Greenhouse, Lever, Ashby, etc.) directly, eliminating copy-paste and context loss.90 npm1MIT