Odel
huntflow mcp

huntflow mcp

Local
@theyahia1TypeScriptMITUpdated 2mo ago

MCP server for HuntFlow ATS API — vacancies, candidates, applicants for recruiting.

@theyahia/huntflow-mcp

MCP-сервер для HuntFlow ATS API — вакансии, кандидаты, резюме, этапы, справочники, аккаунты. 14 инструментов, 2 скилла.

npm CI License: MIT

Часть серии Russian API MCP (50 серверов).

Установка

Claude Desktop (stdio)

{
  "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-mcp

Получение токена

Настройки HuntFlow → вкладка «API-токены» (API Tokens) → создать токен. Выданная пара включает access-токен (живёт ~7 дней) и refresh-токен (~14 дней). Сервер автоматически обновляет access-токен через POST /token/refresh при истечении и сохраняет ротированную пару в файл состояния (HUNTFLOW_TOKEN_FILE), переживая рестарты. Если задать только HUNTFLOW_TOKEN без refresh — сервер проработает до истечения access-токена (~7 дней), затем потребуется новый токен.

Переменные окружения

ПеременнаяОбяз.Описание
HUNTFLOW_TOKENдаAccess-токен (Настройки → API-токены)
HUNTFLOW_REFRESH_TOKENнетRefresh-токен — включает авто-обновление при 401
HUNTFLOW_TOKEN_FILEнетФайл для хранения ротированной пары (по умолчанию ~/.huntflow-mcp/token.json)
HUNTFLOW_BASE_URLнетПо умолчанию https://api.huntflow.ru/v2
HUNTFLOW_USER_AGENTнетUser-Agent (обязателен для API; есть дефолт)
HUNTFLOW_TIMEOUT_MSнетТаймаут запроса, мс (по умолчанию 10000)
HUNTFLOW_DISABLE_RATELIMITнет1 — отключить клиентский лимит 10 req/s
PORTнетПорт HTTP-сервера (по умолчанию 3000)
HUNTFLOW_HTTP_HOSTнетХост привязки HTTP (по умолчанию 127.0.0.1)
HUNTFLOW_HTTP_SECRETнетЕсли задан — требует Authorization: Bearer <secret> на /mcp
HUNTFLOW_ALLOWED_HOSTSнетСписок host:port для защиты от DNS-rebinding

Инструменты (14)

ИнструментОписание
list_accountsСписок доступных аккаунтов
list_vacanciesСписок вакансий (фильтры opened/state/mine, пагинация)
get_vacancyПолная информация о вакансии
search_applicantsПоиск кандидатов (q + фильтры vacancy/status/tag)
list_vacancy_applicantsКандидаты, прикреплённые к конкретной вакансии
get_applicantПолная информация о кандидате
get_applicant_resumesСписок резюме (external) кандидата
get_resumeПолное тело конкретного резюме (external)
list_stagesЭтапы воронки подбора (статусы вакансий)
list_coworkersСотрудники/рекрутеры аккаунта
list_sourcesСправочник источников кандидатов
list_rejection_reasonsСправочник причин отказа
list_divisionsСправочник подразделений
list_tagsСправочник тегов

Списочные инструменты возвращают курированный набор полей (экономия токенов) + structuredContent; передайте raw: true для полного сырого ответа. Пагинация — параметры page/count.

Скиллы (Prompts)

СкиллОписание
skill-applicantsКандидаты на вакансию — таблица с этапами и сводкой
skill-vacancy-statsСтатистика по вакансии — воронка, сроки, конверсия

Разработка

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