hh-relay: публичный релей поиска hh.ru

hh-relay

Read-only relay поверх api.hh.ru: сам получает OAuth-токен приложения, отдает поиск и карточку вакансии через MCP и ChatGPT Actions без ключей

MCP-сервер

Низкий риск

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

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

  • Только два read-only инструмента поиска и карточки вакансии, доступа к личным данным аккаунта нет
  • Публичный сервер размещен у автора, запросы клиента уходят на его сторону
Все причины и проверки
Российский стек

syrenny/hh-relay

Установка

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

npx skillfoxx add mcp/hh-relay

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

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

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

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

claude mcp add --transport http hh-relay https://hh-relay.vercel.app/mcp

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

{
  "mcpServers": {
    "hh-relay": {
      "type": "http",
      "url": "https://hh-relay.vercel.app/mcp"
    }
  }
}

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

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

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

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

{
  "mcpServers": {
    "hh-relay": {
      "url": "https://hh-relay.vercel.app/mcp"
    }
  }
}

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

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

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

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

code --add-mcp '{"name":"hh-relay","type":"http","url":"https://hh-relay.vercel.app/mcp"}'

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

{
  "servers": {
    "hh-relay": {
      "type": "http",
      "url": "https://hh-relay.vercel.app/mcp"
    }
  }
}

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

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

codex mcp add hh-relay --url https://hh-relay.vercel.app/mcp

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

[mcp_servers.hh-relay]
url = "https://hh-relay.vercel.app/mcp"

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

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

gemini mcp add -s user -t http hh-relay https://hh-relay.vercel.app/mcp

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

{
  "mcpServers": {
    "hh-relay": {
      "httpUrl": "https://hh-relay.vercel.app/mcp"
    }
  }
}

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

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

{
  "mcpServers": {
    "hh-relay": {
      "serverUrl": "https://hh-relay.vercel.app/mcp"
    }
  }
}

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

Бывший Windsurf.

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

{
  "mcpServers": {
    "hh-relay": {
      "type": "streamableHttp",
      "url": "https://hh-relay.vercel.app/mcp"
    }
  }
}

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

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

{
  "mcpServers": {
    "hh-relay": {
      "type": "streamable-http",
      "url": "https://hh-relay.vercel.app/mcp"
    }
  }
}

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

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

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

{
  "mcp": {
    "hh-relay": {
      "type": "remote",
      "url": "https://hh-relay.vercel.app/mcp"
    }
  }
}

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

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

{
  "context_servers": {
    "hh-relay": {
      "url": "https://hh-relay.vercel.app/mcp"
    }
  }
}

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

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

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

Подключи опубликованный сервер https://hh-relay.vercel.app/mcp как удаленный MCP без авторизации, либо подними свой экземпляр: экспортируй HH_CLIENT_ID и HH_CLIENT_SECRET одобренного приложения hh.ru, выполни uv sync --all-groups и uv run uvicorn hh_relay.app:app, затем вызывай search_vacancies и get_vacancy.

Другие способы из описания автора
{
  "mcpServers": {
    "hh-relay": {
      "url": "https://hh-relay.vercel.app/mcp"
    }
  }
}

Публичный опубликованный сервер, авторизация не нужна.

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

Что делает

hh.ru требует у клиентов OAuth 2.0 Client Credentials для доступа к своему официальному API, поэтому relay сам хранит client_id и client_secret одобренного приложения hh.ru на сервере и получает application token, а публичные клиенты relay авторизацию не проходят вовсе. REST-эндпоинты GET /api/vacancies/search (до 50 уникальных вакансий за последние 24 часа, с фильтром по региону и опыту) и GET /api/vacancies/{id} отдают нормализованные данные, а поле description с недоверенным HTML от hh.ru явно помечено как требующее безопасной обработки на стороне клиента. Отдельный stateless MCP-эндпоинт /mcp дает два read-only инструмента: search_vacancies и get_vacancy. Ошибки от hh.ru (403, 429, смена схемы ответа) превращаются в стабильные коды вроде upstream_forbidden или upstream_structure_changed, а в логи попадает только путь запроса и тип исключения, без токенов и поискового текста. В комплекте два готовых скилла: поиск python-вакансий и подготовка сопроводительного письма по карточке вакансии через тот же MCP.

Для кого. Для разработчиков ChatGPT Actions и MCP-клиентов, которым нужен публичный поиск вакансий hh.ru без собственной регистрации приложения и OAuth-обвязки.

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

  • Нужен поиск и карточка вакансии hh.ru без регистрации собственного приложения и получения OAuth-ключей
  • Нужен стабильный формат ошибок вместо разбора кодов и структуры ответа api.hh.ru напрямую
  • Нужны готовые скиллы поиска python-вакансий и черновика сопроводительного письма

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

  • Нужны личные данные аккаунта: отклики, резюме, переписка. Relay работает только с публичным поиском вакансий по application token
  • Нужно больше 50 вакансий за один поиск или глубже последних 24 часов: relay сознательно ограничивает выдачу
  • Нужен собственный физически изолированный сервер, а не общий публичный https://hh-relay.vercel.app

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

Найди вакансии Python FastAPI в Москве с опытом 1-3 года за последние сутки

Ограничения

Лицензия в репозитории не указана. Нужно одобренное приложение hh.ru с client_id и client_secret, чтобы поднять собственный экземпляр, README прямо предупреждает не передавать их в публичные endpoint'ы и не класть в Git. Поиск ограничен последними 24 часами и 50 уникальными вакансиями за раз. Поле creation_time всегда пустое, потому что официальный API не отдает отдельное подтвержденное значение.

Как отключить. Уберите блок hh-relay из конфигурации MCP клиента или из настроек Custom GPT Action.

MCP

Транспорт
http
Авторизация
не нужна
Переменные окружения
Переменные окружения
HH_CLIENT_ID
обязательная, секрет
Client ID одобренного приложения hh.ru, нужен только для собственного экземпляра relay.
HH_CLIENT_SECRET
обязательная, секрет
Client Secret того же приложения hh.ru.

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

  • Только два read-only инструмента поиска и карточки вакансии, доступа к личным данным аккаунта нет
  • Публичный сервер размещен у автора, запросы клиента уходят на его сторону

Коротко о README

README описывает FastAPI relay для Custom GPT Action и MCP, который сам получает application token по OAuth 2.0 Client Credentials и отдает поиск вакансий hh.ru. Перечислены REST-эндпоинты с примерами curl, полный список кодов ошибок upstream, раздел про MCP для ChatGPT с публичным адресом без авторизации и шаги деплоя на Vercel с переменными окружения. Тесты используют обезличенные fixtures и не обращаются к hh.ru.

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

Нужен ли пользователю ключ hh.ru, чтобы искать вакансии?

Нет, публичные клиенты relay не проходят авторизацию вовсе, ключи хранит только сам relay.

Может ли relay откликнуться на вакансию или показать мои личные данные?

Нет, у него только два read-only инструмента поиска и карточки вакансии по application token, доступа к личному кабинету нет.

Официальный

Самостоятельно размещаемая база знаний с блочными ссылками и встроенным 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 AIhh-relay: публичный релей поиска hh.ru

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