ats-mcp-server: вакансии из hh.ru и систем найма

ats-mcp-server

MCP-сервер, который собирает вакансии из hh.ru и публичных API Greenhouse, Ashby, Lever, Workable и Bayt в едином формате без парсинга HTML

MCP-сервер

Низкий риск

Низкий уровень ставим, когда запись в основном дает агенту инструкции и справочные материалы.

Почему такой уровень

  • Только читает публичные вакансии и не подает отклики от имени пользователя
  • Локальная база и поиск работают на инфраструктуре пользователя, наружу отправляются только запросы к API источников
Все причины и проверки
Российский стек

alexvozhak/ats-mcp-server

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add mcp/ats-mcp-server

Определит агенты на машине, проверит риск и зафиксирует версию.

Другие способы установки

Собрано автоматически, проверьте перед установкой.

Выполните в терминале

claude mcp add --transport stdio --env 'API_KEY=<ваш API_KEY>' --env NODE_ENV=production ats-mcp-server -- node

Или добавьте в файл .mcp.json, в проекте

{
  "mcpServers": {
    "ats-mcp-server": {
      "command": "node",
      "args": [],
      "env": {
        "API_KEY": "<ваш API_KEY>",
        "NODE_ENV": "production"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers.

Ключи и настройки

API_KEYсекрет, обязательная
API ключ для доступа к провайдерам
ANOTHER_KEYсекрет, необязательная
Дополнительный секретный ключ

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Установить в Cursor

Кнопка откроет агент и предложит добавить сервер. Если ничего не произошло, скопируйте конфиг ниже.

Добавьте в файл ~/.cursor/mcp.json, для всех проектов

{
  "mcpServers": {
    "ats-mcp-server": {
      "command": "node",
      "args": [],
      "env": {
        "API_KEY": "<ваш API_KEY>",
        "NODE_ENV": "production"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Для одного проекта тот же блок кладут в .cursor/mcp.json.

Ключи и настройки

API_KEYсекрет, обязательная
API ключ для доступа к провайдерам
ANOTHER_KEYсекрет, необязательная
Дополнительный секретный ключ

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Установить в VS Code

Кнопка откроет агент и предложит добавить сервер. Если ничего не произошло, скопируйте конфиг ниже.

Выполните в терминале

code --add-mcp '{"name":"ats-mcp-server","type":"stdio","command":"node","args":[],"env":{"API_KEY":"<ваш API_KEY>","NODE_ENV":"production"}}'

Или добавьте в файл .vscode/mcp.json, в проекте

{
  "servers": {
    "ats-mcp-server": {
      "type": "stdio",
      "command": "node",
      "args": [],
      "env": {
        "API_KEY": "<ваш API_KEY>",
        "NODE_ENV": "production"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа servers.

Ключи и настройки

API_KEYсекрет, обязательная
API ключ для доступа к провайдерам
ANOTHER_KEYсекрет, необязательная
Дополнительный секретный ключ

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Выполните в терминале

codex mcp add ats-mcp-server --env 'API_KEY=<ваш API_KEY>' --env NODE_ENV=production -- node

Или добавьте в файл ~/.codex/config.toml, для всех проектов

[mcp_servers.ats-mcp-server]
command = "node"
args = []
env = { API_KEY = "<ваш API_KEY>", NODE_ENV = "production" }

Если файл уже есть, допишите блок в конец.

Ключи и настройки

API_KEYсекрет, обязательная
API ключ для доступа к провайдерам
ANOTHER_KEYсекрет, необязательная
Дополнительный секретный ключ

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Выполните в терминале

gemini mcp add -s user -e 'API_KEY=<ваш API_KEY>' -e NODE_ENV=production ats-mcp-server node

Или добавьте в файл ~/.gemini/settings.json, для всех проектов

{
  "mcpServers": {
    "ats-mcp-server": {
      "command": "node",
      "args": [],
      "env": {
        "API_KEY": "<ваш API_KEY>",
        "NODE_ENV": "production"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers.

Ключи и настройки

API_KEYсекрет, обязательная
API ключ для доступа к провайдерам
ANOTHER_KEYсекрет, необязательная
Дополнительный секретный ключ

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Добавьте в файл ~/.config/devin/mcp_config.json, для всех проектов

{
  "mcpServers": {
    "ats-mcp-server": {
      "command": "node",
      "args": [],
      "env": {
        "API_KEY": "<ваш API_KEY>",
        "NODE_ENV": "production"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers. В легаси Cascade конфиг MCP лежит в ~/.codeium/windsurf/mcp_config.json.

Ключи и настройки

API_KEYсекрет, обязательная
API ключ для доступа к провайдерам
ANOTHER_KEYсекрет, необязательная
Дополнительный секретный ключ

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Бывший Windsurf.

Добавьте в файл cline_mcp_settings.json, для всех проектов

{
  "mcpServers": {
    "ats-mcp-server": {
      "command": "node",
      "args": [],
      "env": {
        "API_KEY": "<ваш API_KEY>",
        "NODE_ENV": "production"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Файл настроек открывается в Cline: вкладка MCP Servers, кнопка Configure MCP Servers.

Ключи и настройки

API_KEYсекрет, обязательная
API ключ для доступа к провайдерам
ANOTHER_KEYсекрет, необязательная
Дополнительный секретный ключ

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Добавьте в файл .roo/mcp.json, в проекте

{
  "mcpServers": {
    "ats-mcp-server": {
      "command": "node",
      "args": [],
      "env": {
        "API_KEY": "<ваш API_KEY>",
        "NODE_ENV": "production"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers.

Ключи и настройки

API_KEYсекрет, обязательная
API ключ для доступа к провайдерам
ANOTHER_KEYсекрет, необязательная
Дополнительный секретный ключ

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Форк Roo Code, папки .roo те же.

Добавьте в файл opencode.json, в проекте

{
  "mcp": {
    "ats-mcp-server": {
      "type": "local",
      "command": [
        "node"
      ],
      "environment": {
        "API_KEY": "<ваш API_KEY>",
        "NODE_ENV": "production"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcp.

Ключи и настройки

API_KEYсекрет, обязательная
API ключ для доступа к провайдерам
ANOTHER_KEYсекрет, необязательная
Дополнительный секретный ключ

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Добавьте в файл ~/.config/zed/settings.json, для всех проектов

{
  "context_servers": {
    "ats-mcp-server": {
      "command": "node",
      "args": [],
      "env": {
        "API_KEY": "<ваш API_KEY>",
        "NODE_ENV": "production"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа context_servers.

Ключи и настройки

API_KEYсекрет, обязательная
API ключ для доступа к провайдерам
ANOTHER_KEYсекрет, необязательная
Дополнительный секретный ключ

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Добавьте в файл .codeassistant/mcp.json, в проекте

{
  "mcpServers": {
    "ats-mcp-server": {
      "command": "node",
      "args": [],
      "env": {
        "API_KEY": "<ваш API_KEY>",
        "NODE_ENV": "production"
      }
    }
  }
}

Если файл уже есть, добавьте сервер внутрь ключа mcpServers.

Ключи и настройки

API_KEYсекрет, обязательная
API ключ для доступа к провайдерам
ANOTHER_KEYсекрет, необязательная
Дополнительный секретный ключ

Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.

Понадобится: Node.js

Сверено с репозиторием 26 сент. 2026, коммит db46d22.

Текст для агента

Склонируй https://github.com/alexvozhak/ats-mcp-server, выполни npm ci, скопируй .env.example в .env и заполни ключи, подними Meilisearch командой docker compose up -d, собери проект npm run build и запусти npm start, затем вызывай search_all или search_hh для поиска вакансий.

Другие способы из описания автора
npm ci && cp .env.example .env && docker compose up -d && npm run build && npm start

Полная установка из README: зависимости, инфраструктура Meilisearch, сборка и запуск.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Каждый источник вакансий подключен отдельным провайдером с общим интерфейсом: четыре системы найма (ATS) по их публичным API и два джоб-борда, hh.ru и ближневосточный Bayt. Инструмент search_all ищет по всем источникам сразу, search_hh ищет только по hh.ru, get_job_details отдает детали по идентификатору, get_stats считает статистику по собранным вакансиям, а exclude_jobs и unexclude_job скрывают или возвращают вакансии в выдаче. Данные хранятся в SQLite, поиск построен на Meilisearch, для hh.ru используется отдельная типизированная Zod-схема ответов hh API. Добавить новый источник, по словам автора, значит написать один класс-провайдер.

Для кого. Для соискателей и разработчиков рекрутинговых инструментов, которым нужен один MCP вместо отдельного парсинга каждого джоб-борда и ATS.

Подходит, если

  • Нужно искать вакансии сразу в нескольких источниках, включая hh.ru, одним запросом
  • Нужны структурированные данные о вакансии без разбора HTML-страницы
  • Нужно собирать статистику или вести локальный список исключенных вакансий

Не подходит, если

  • Нужен только hh.ru: сервер шире, чем нужно, и требует поднимать инфраструктуру Meilisearch и Docker
  • Нужен поиск резюме, отклики или другие функции работодателя на hh.ru: сервер работает только на поиск вакансий
  • Нужна стабильная библиотека: часть кода лежит в src/poc как эксперименты по отдельным провайдерам

Пример запроса к агенту

Найди вакансии Python-разработчика в Москве на hh.ru и в международных ATS одновременно

Ограничения

Проект версии 0.1.0 от одного автора. Для работы нужна инфраструктура: Docker Compose с Meilisearch, переменные окружения в .env для источников. Часть провайдеров (Bayt) собирается через Crawlee/Playwright, а не только через API, что более хрупко к изменениям сайта. Код экспериментальных проверок провайдеров вынесен в отдельную папку src/poc и в основной сервер не входит.

Как отключить. Остановите сервер (npm run mcp:stop или docker compose down) и уберите его из конфигурации MCP клиента.

MCP

Транспорт
stdio
Авторизация
не нужна

Проверка безопасности

  • Только читает публичные вакансии и не подает отклики от имени пользователя
  • Локальная база и поиск работают на инфраструктуре пользователя, наружу отправляются только запросы к API источников

Коротко о README

README описывает MCP-сервер, агрегирующий вакансии из публичных API систем найма и джоб-бордов, включая hh.ru, без парсинга HTML. Перечислены пять инструментов MCP, стек (TypeScript, Node.js 24, MCP SDK, Zod, SQLite, Meilisearch, Vitest) и шаги установки через npm и Docker Compose. Отдельно упомянуты экспериментальные проверки провайдеров в src/poc. Лицензия MIT.

Частые вопросы

Можно ли искать только по hh.ru?

Да, инструмент search_hh ищет исключительно по hh.ru, а search_all объединяет все подключенные источники.

Нужен ли Docker для запуска?

Да, поиск построен на Meilisearch, который поднимается через docker compose up -d вместе с сопутствующими сервисами.

Официальный

Самостоятельно размещаемая база знаний с блочными ссылками и встроенным MCP-сервером для подключения AI-агентов к заметкам

MCP-серверСредний риск46,5 тыс.Звезды репозитория
Выбор редакции

CLI для всех API Google Workspace с выводом в JSON и набором скиллов для агентов: Drive, Gmail, Calendar, Sheets и другие

CLIВысокий риск31,2 тыс.Звезды репозитория
Выбор редакции

Локальный поиск по заметкам, документации и расшифровкам встреч в Markdown: ключевые слова, смысловой поиск и ранжирование, есть MCP

CLIСредний рискБез VPN30,1 тыс.Звезды репозитория
Выбор редакции

Менеджер задач для AI-разработки: разбирает PRD на задачи с зависимостями и ведет агента по ним через MCP или CLI

MCP-серверСредний риск28,1 тыс.Звезды репозитория
Foxx AIats-mcp-server: вакансии из hh.ru и систем найма

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.