MCP Server

hr

ru.meetslava/hr
Business & Operations Unavailable MCP 2025-11-25

What this MCP does

Supports recruiting workflows including candidate profiles, resumes, matching, assessments, interviews, messaging, references, and contact access.

ask_about_experience
Точечный вопрос про опыт кандидата: «работал ли с X?», «что делал в Y?». Сервер отдаёт релевантные данные — вывод формирует ассистент. / Ask a specific question about the candidate's background.
Input schema
{'type': 'object', 'required': ['question'], 'properties': {'question': {'type': 'string', 'description': 'Вопрос рекрутёра, до 1000 символов'}, 'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.'}}}
assessment
Тестовое задание кандидату. action=send — отправить (нужны title, body, recruiterContact; кандидат загрузит решение файлом); action=status — статус и ссылка на скачивание решения (нужен assessmentId). / Send a take-home assessment or check its status and download link.
Input schema
{'type': 'object', 'required': ['action'], 'properties': {'body': {'type': ['string', 'null'], 'default': None, 'description': 'Текст задания, до 5000 символов (send)'}, 'title': {'type': ['string', 'null'], 'default': None, 'description': 'Короткое название задания, до 200 символов (send)'}, 'action': {'type': 'string', 'description': 'Действие: send | status'}, 'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата. В личном режиме не обязательно: отправьте null или не передавайте параметр.'}, 'deadlineIso': {'type': ['string', 'null'], 'default': None, 'description': 'Опц. дедлайн в ISO-8601 UTC (send)'}, 'assessmentId': {'type': ['integer', 'null'], 'default': None, 'description': 'assessmentId из ответа send (status)'}, 'recruiterContact': {'type': ['string', 'null'], 'default': None, 'description': 'Контакт рекрутёра для вопросов (send)'}}}
get_conditions
На каких условиях кандидат готов выйти: зарплатные ожидания (base, бонус, equity, deal-breakers), срок выхода, формат работы, гео/таймзона, виза, релокация. lang: ru (по умолчанию) или en. / Candidate's terms: compensation expectations, notice period, work format, location, visa.
Input schema
{'type': 'object', 'properties': {'lang': {'type': ['string', 'null'], 'default': None, 'description': 'Язык: ru или en'}, 'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата. В личном режиме не обязательно: отправьте null или не передавайте параметр.'}}}
get_contacts
Прямые контакты кандидата (телефон, email, мессенджеры). Выдаются после того, как вы представились через recruiter_context. / Direct contacts; introduce yourself via recruiter_context first.
Input schema
{'type': 'object', 'properties': {'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.'}}}
get_faq
Ответы кандидата на типовые вопросы рекрутёров — проверьте здесь, прежде чем писать ему. / Candidate's answers to common recruiter questions.
Input schema
{'type': 'object', 'properties': {'lang': {'type': ['string', 'null'], 'default': None, 'description': 'Язык: ru или en'}, 'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.'}}}
get_profile
Визитка кандидата: имя, город, краткое описание + ссылки (GitHub, LinkedIn, сайт, образцы работ). Начните знакомство отсюда. lang: ru (по умолчанию) или en. / Candidate overview: name, city, summary, GitHub/LinkedIn/website links.
Input schema
{'type': 'object', 'properties': {'lang': {'type': ['string', 'null'], 'default': None, 'description': 'Язык: ru или en'}, 'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата. В личном режиме не обязательно: отправьте null или не передавайте параметр.'}}}
get_references
Рекомендации о кандидате от бывших коллег и руководителей (с их согласия) — trust-сигнал перед офером. / References from former colleagues and managers.
Input schema
{'type': 'object', 'properties': {'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.'}}}
get_resume
Полное резюме кандидата: опыт по местам работы, достижения, навыки. Начните отсюда, если нужна полная картина. / Full resume: work history, achievements, skills.
Input schema
{'type': 'object', 'properties': {'resumeId': {'type': ['integer', 'null'], 'default': None, 'description': 'ID резюме (из list_resumes). Если не указано — возвращается primary резюме кандидата.'}, 'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.'}}}
manage_interview
Назначить кандидату интервью и управлять им. action=propose — предложить слоты (нужны companyName, proposedSlots ISO-8601 UTC, channel, interviewType, recruiterContact); action=reschedule — заменить слоты (нужны conversationId, proposedSlots); action=cancel — отозвать приглашение (нужен conversationId). / Propose, reschedule or cancel an interview with the candidate.
Input schema
{'type': 'object', 'required': ['action'], 'properties': {'notes': {'type': ['string', 'null'], 'default': None, 'description': 'Заметки: что обсуждаем, кто на звонке (propose, опц.)'}, 'action': {'type': 'string', 'description': 'Действие: propose | reschedule | cancel'}, 'reason': {'type': ['string', 'null'], 'default': None, 'description': 'Причина отмены (cancel, опц.)'}, 'channel': {'type': ['string', 'null'], 'default': None, 'description': 'Канал связи: Zoom, Google Meet, Phone, ... (propose)'}, 'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата. В личном режиме не обязательно: отправьте null или не передавайте параметр.'}, 'companyName': {'type': ['string', 'null'], 'default': None, 'description': 'Название компании (propose)'}, 'interviewType': {'type': ['string', 'null'], 'default': None, 'description': 'Тип интервью: intro, technical, cultural, final (propose)'}, 'proposedSlots': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': "1-5 слотов в ISO-8601 UTC, напр. ['2026-07-17T15:00:00Z'] (propose/reschedule)"}, 'conversationId': {'type': ['integer', 'null'], 'default': None, 'description': 'conversationId треда интервью из message_candidate (reschedule/cancel)'}, 'durationMinutes': {'type': ['integer', 'null'], 'default': None, 'description': 'Длительность в минутах (propose/reschedule, опц.)'}, 'recruiterContact': {'type': ['string', 'null'], 'default': None, 'description': 'Контакт рекрутёра для подтверждения (propose)'}}}
match_vacancy
Вставьте текст описания вакансии — получите структурированную оценку соответствия: совпавшие навыки, сеньорность, условия выхода. / Paste a job description to evaluate candidate fit.
Input schema
{'type': 'object', 'required': ['vacancyText'], 'properties': {'lang': {'type': ['string', 'null'], 'default': None, 'description': 'Язык публичных секций: ru (по умолчанию) или en'}, 'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.'}, 'vacancyText': {'type': 'string', 'description': 'Текст описания вакансии, до 5000 символов'}}}
message_candidate
Переписка с кандидатом. Без параметров text/conversationId — список тредов; с conversationId — история треда; с text — отправить сообщение (кандидат отвечает в мессенджере). / Messaging: list threads, read a thread, or send a message.
Input schema
{'type': 'object', 'properties': {'text': {'type': ['string', 'null'], 'default': None, 'description': 'Текст сообщения, до 3000 символов. Не указан — режим чтения (треды/история)'}, 'subject': {'type': ['string', 'null'], 'default': None, 'description': 'Тема треда (обязательно при открытии нового треда), до 200 символов'}, 'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.'}, 'conversationId': {'type': ['integer', 'null'], 'default': None, 'description': 'Id существующего треда, чтобы дописать в него или прочитать историю'}, 'recruiterContact': {'type': ['string', 'null'], 'default': None, 'description': 'Контакт рекрутёра для ответа (обязателен при открытии нового треда)'}}}
recruiter_context
Представьтесь: компания, имя, роль. Кандидат увидит, кто им интересуется, а вам откроются контакты (get_contacts). Укажите email, под которым вошли. / Introduce yourself to unlock contacts.
Input schema
{'type': 'object', 'required': ['email'], 'properties': {'name': {'type': ['string', 'null'], 'default': None, 'description': 'Имя рекрутёра'}, 'role': {'type': ['string', 'null'], 'default': None, 'description': 'Роль/должность'}, 'email': {'type': 'string', 'description': 'Email рекрутёра (ключ лида)'}, 'notes': {'type': ['string', 'null'], 'default': None, 'description': 'Заметки: что ищете, контекст'}, 'company': {'type': ['string', 'null'], 'default': None, 'description': 'Компания'}, 'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.'}}}
send_vacancy
Отправить кандидату вакансию — первый шаг, если он вам подходит. В личном режиме кандидат один: параметр candidate указывать НЕ нужно. recruiterContact тоже можно не указывать — подставится ваш email из авторизации. Кандидат получит уведомление и сможет ответить. / Send a vacancy; candidate and recruiterContact are optional here.
Input schema
{'type': 'object', 'required': ['company', 'vacancyText'], 'properties': {'company': {'type': 'string', 'description': 'Название компании (для инлайн-отправки; при vacancyId игнорируется)'}, 'resumeId': {'type': ['integer', 'null'], 'default': None, 'description': 'ID резюме кандидата (из list_resumes). Если не указано — используется primary резюме.'}, 'candidate': {'type': ['string', 'null'], 'default': None, 'description': 'Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.'}, 'vacancyId': {'type': ['integer', 'null'], 'default': None, 'description': 'id сохранённой вакансии (из list_vacancies). Указан — берётся она + HR-профиль, инлайн-текст игнорируется'}, 'vacancyText': {'type': 'string', 'description': 'Описание вакансии до 3000 символов (для инлайн; при vacancyId игнорируется)'}, 'recruiterContact': {'type': ['string', 'null'], 'default': None, 'description': 'Контакт рекрутёра для ответа. Можно не указывать — возьмётся ваш email из авторизации.'}}}
Added
get_faq
Sept. 17, 2026, 12:54 p.m.
Added
get_conditions
Sept. 17, 2026, 12:54 p.m.
Added
get_resume
Sept. 17, 2026, 12:54 p.m.
Added
assessment
Sept. 17, 2026, 12:54 p.m.
Added
manage_interview
Sept. 17, 2026, 12:54 p.m.
Added
match_vacancy
Sept. 17, 2026, 12:54 p.m.
Added
get_profile
Sept. 17, 2026, 12:54 p.m.
Added
get_references
Sept. 17, 2026, 12:54 p.m.
Added
send_vacancy
Sept. 17, 2026, 12:54 p.m.
Added
message_candidate
Sept. 17, 2026, 12:54 p.m.
Added
ask_about_experience
Sept. 17, 2026, 12:54 p.m.
Added
get_contacts
Sept. 17, 2026, 12:54 p.m.
Added
recruiter_context
Sept. 17, 2026, 12:54 p.m.