hr

HR-инструменты: поиск кандидатов, оценка match, интервью, управление рекрутментом.

我該用這個嗎

品質與安全性

A
說明品質
92%
結構描述完整度
95%
命名品質
94%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(2)

  • LOWTool 'ask_about_experience' description lacks action verb在 ask_about_experience 中
  • LOWTool 'get_faq' description lacks action verb在 get_faq 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,238Token(工具定義)
~1.6 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.53%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "hr": {
      "url": "https://meetslava.ru/mcp"
    }
  }
}

遠端端點

https://meetslava.ru/mcpstreamable-http

它能做什麼

工具清單

工具(13)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
⚪recruiter_context(email, company, name, role, notes, ...)

Представьтесь: компания, имя, роль. Кандидат увидит, кто им интересуется, а вам откроются контакты (get_contacts). Укажите email, под которым вошли. / Introduce yourself to unlock contacts.

輸入結構描述

{
  "type": "object",
  "properties": {
    "email": {
      "description": "Email рекрутёра (ключ лида)",
      "type": "string"
    },
    "company": {
      "description": "Компания",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "name": {
      "description": "Имя рекрутёра",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "role": {
      "description": "Роль/должность",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "notes": {
      "description": "Заметки: что ищете, контекст",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "candidate": {
      "description": "Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "email"
  ]
}
🟢get_contacts(candidate)

Прямые контакты кандидата (телефон, email, мессенджеры). Выдаются после того, как вы представились через recruiter_context. / Direct contacts; introduce yourself via recruiter_context first.

輸入結構描述

{
  "type": "object",
  "properties": {
    "candidate": {
      "description": "Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}
⚪ask_about_experience(question, candidate)

Точечный вопрос про опыт кандидата: «работал ли с X?», «что делал в Y?». Сервер отдаёт релевантные данные — вывод формирует ассистент. / Ask a specific question about the candidate's background.

輸入結構描述

{
  "type": "object",
  "properties": {
    "question": {
      "description": "Вопрос рекрутёра, до 1000 символов",
      "type": "string"
    },
    "candidate": {
      "description": "Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "question"
  ]
}
🟡message_candidate(text, recruiterContact, subject, conversationId, candidate)

Переписка с кандидатом. Без параметров text/conversationId — список тредов; с conversationId — история треда; с text — отправить сообщение (кандидат отвечает в мессенджере). / Messaging: list threads, read a thread, or send a message.

輸入結構描述

{
  "type": "object",
  "properties": {
    "text": {
      "description": "Текст сообщения, до 3000 символов. Не указан — режим чтения (треды/история)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "recruiterContact": {
      "description": "Контакт рекрутёра для ответа (обязателен при открытии нового треда)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "subject": {
      "description": "Тема треда (обязательно при открытии нового треда), до 200 символов",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "conversationId": {
      "description": "Id существующего треда, чтобы дописать в него или прочитать историю",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "candidate": {
      "description": "Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}
🟡send_vacancy(company, vacancyText, recruiterContact, vacancyId, candidate, ...)

Отправить кандидату вакансию — первый шаг, если он вам подходит. В личном режиме кандидат один: параметр candidate указывать НЕ нужно. recruiterContact тоже можно не указывать — подставится ваш email из авторизации. Кандидат получит уведомление и сможет ответить. / Send a vacancy; candidate and recruiterContact are optional here.

輸入結構描述

{
  "type": "object",
  "properties": {
    "company": {
      "description": "Название компании (для инлайн-отправки; при vacancyId игнорируется)",
      "type": "string"
    },
    "vacancyText": {
      "description": "Описание вакансии до 3000 символов (для инлайн; при vacancyId игнорируется)",
      "type": "string"
    },
    "recruiterContact": {
      "description": "Контакт рекрутёра для ответа. Можно не указывать — возьмётся ваш email из авторизации.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "vacancyId": {
      "description": "id сохранённой вакансии (из list_vacancies). Указан — берётся она + HR-профиль, инлайн-текст игнорируется",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "candidate": {
      "description": "Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "resumeId": {
      "description": "ID резюме кандидата (из list_resumes). Если не указано — используется primary резюме.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "company",
    "vacancyText"
  ]
}
🟢get_references(candidate)

Рекомендации о кандидате от бывших коллег и руководителей (с их согласия) — trust-сигнал перед офером. / References from former colleagues and managers.

輸入結構描述

{
  "type": "object",
  "properties": {
    "candidate": {
      "description": "Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}
🟢get_profile(lang, candidate)

Визитка кандидата: имя, город, краткое описание + ссылки (GitHub, LinkedIn, сайт, образцы работ). Начните знакомство отсюда. lang: ru (по умолчанию) или en. / Candidate overview: name, city, summary, GitHub/LinkedIn/website links.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "description": "Язык: ru или en",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "candidate": {
      "description": "Slug кандидата. В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}
⚪match_vacancy(vacancyText, lang, candidate)

Вставьте текст описания вакансии — получите структурированную оценку соответствия: совпавшие навыки, сеньорность, условия выхода. / Paste a job description to evaluate candidate fit.

輸入結構描述

{
  "type": "object",
  "properties": {
    "vacancyText": {
      "description": "Текст описания вакансии, до 5000 символов",
      "type": "string"
    },
    "lang": {
      "description": "Язык публичных секций: ru (по умолчанию) или en",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "candidate": {
      "description": "Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "vacancyText"
  ]
}
🔴manage_interview(action, proposedSlots, companyName, channel, interviewType, ...)

Назначить кандидату интервью и управлять им. 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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "action": {
      "description": "Действие: propose | reschedule | cancel",
      "type": "string"
    },
    "proposedSlots": {
      "description": "1-5 слотов в ISO-8601 UTC, напр. ['2026-07-17T15:00:00Z'] (propose/reschedule)",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "default": null
    },
    "companyName": {
      "description": "Название компании (propose)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "channel": {
      "description": "Канал связи: Zoom, Google Meet, Phone, ... (propose)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "interviewType": {
      "description": "Тип интервью: intro, technical, cultural, final (propose)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "recruiterContact": {
      "description": "Контакт рекрутёра для подтверждения (propose)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "durationMinutes": {
      "description": "Длительность в минутах (propose/reschedule, опц.)",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "notes": {
      "description": "Заметки: что обсуждаем, кто на звонке (propose, опц.)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "conversationId": {
      "description": "conversationId треда интервью из message_candidate (reschedule/cancel)",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "reason": {
      "description": "Причина отмены (cancel, опц.)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "candidate": {
      "description": "Slug кандидата. В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "action"
  ]
}
🟡assessment(action, title, body, recruiterContact, deadlineIso, ...)

Тестовое задание кандидату. action=send — отправить (нужны title, body, recruiterContact; кандидат загрузит решение файлом); action=status — статус и ссылка на скачивание решения (нужен assessmentId). / Send a take-home assessment or check its status and download link.

輸入結構描述

{
  "type": "object",
  "properties": {
    "action": {
      "description": "Действие: send | status",
      "type": "string"
    },
    "title": {
      "description": "Короткое название задания, до 200 символов (send)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "body": {
      "description": "Текст задания, до 5000 символов (send)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "recruiterContact": {
      "description": "Контакт рекрутёра для вопросов (send)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "deadlineIso": {
      "description": "Опц. дедлайн в ISO-8601 UTC (send)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "assessmentId": {
      "description": "assessmentId из ответа send (status)",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "candidate": {
      "description": "Slug кандидата. В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "action"
  ]
}
🟢get_resume(candidate, resumeId)

Полное резюме кандидата: опыт по местам работы, достижения, навыки. Начните отсюда, если нужна полная картина. / Full resume: work history, achievements, skills.

輸入結構描述

{
  "type": "object",
  "properties": {
    "candidate": {
      "description": "Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "resumeId": {
      "description": "ID резюме (из list_resumes). Если не указано — возвращается primary резюме кандидата.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    }
  }
}
🟢get_conditions(lang, candidate)

На каких условиях кандидат готов выйти: зарплатные ожидания (base, бонус, equity, deal-breakers), срок выхода, формат работы, гео/таймзона, виза, релокация. lang: ru (по умолчанию) или en. / Candidate's terms: compensation expectations, notice period, work format, location, visa.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "description": "Язык: ru или en",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "candidate": {
      "description": "Slug кандидата. В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}
🟢get_faq(lang, candidate)

Ответы кандидата на типовые вопросы рекрутёров — проверьте здесь, прежде чем писать ему. / Candidate's answers to common recruiter questions.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "description": "Язык: ru или en",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "candidate": {
      "description": "Slug кандидата (из search_candidates). В личном режиме не обязательно: отправьте null или не передавайте параметр.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}

建議的提示詞

retrieve_data
Get details about [item] from hr
預期的工具: get_contacts
fetch_info
Fetch [information type] using hr
預期的工具: get_contacts

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本13 個工具
已驗證未記錄版本13 個工具