Skip to main content
Glama
jnot807

recruitee-mcp

by jnot807

Recruitee MCP

Claude 안에서 Recruitee / Tellent 파이프라인을 작업하세요. 역할을 조회하고, 지원자와 그에 대해 이미 기록된 모든 정보를 읽고, 소싱한 인물을 추가하고, 면접 평가를 작성할 수 있습니다 — 대화를 떠날 필요 없이요.

이 도구는 여러분의 컴퓨터에서 여러분의 Recruitee API 토큰으로 실행되므로, 기록되는 모든 것은 여러분의 이름으로 작성되며, 직접 클릭한 것과 똑같이 처리됩니다.


할 수 있는 일

열네 개의 도구. 아홉 개는 읽기, 다섯 개는 쓰기이며, 모든 쓰기 도구는 실행 전에 정확히 무엇을 할지 보여줍니다.

읽기

도구

제공 내용

rt_list_offers

역할 목록과 각각의 id, 상태, 지원자 수. 제목으로 선택적으로 필터링할 수 있습니다.

rt_get_stages

한 역할의 파이프라인 단계와 각 단계의 실시간 인원 수.

rt_offer_candidates

한 역할의 모든 지원자 — 단계, 불합격 여부, 평점. 회사 전체가 아닌 해당 역할에만 국한됩니다.

rt_get_candidate

전체 기록: 연락처 정보, 태그, 속해 있는 모든 역할, 지원 답변.

rt_search_candidates

이름으로 한 사람을 찾습니다.

rt_source_candidates

전체 데이터베이스 검색, 이력서 텍스트 포함 — 아래 참조.

rt_get_rating_scale

계정에 설정된 평점 척도. 판정을 추측하지 않도록 합니다.

rt_get_evaluations

지원자에 대한 모든 평가 — 평점, 메모, 단계, 평가자, 날짜 — 하나의 목록으로 평탄화.

rt_get_notes

지원자에게 이미 달린 메모, 최신순.

지원 답변은 한마디 할 가치가 있습니다: 급여 기대치 같은 것은 역할별로 반환됩니다. 세 곳에 지원한 사람은 그 질문에 세 번 답했기 때문에, 평탄한 목록으로는 그 답변들을 구분할 수 없습니다.

쓰기

도구

기능

rt_create_candidate

인물을 생성하고 한 번에 역할에 배치합니다. 이메일, 전화, 링크, 태그, 자기소개 블록, 유입 경로, 첨부 파일을 받습니다. 기본적으로 Sourced 단계에 배치됩니다.

rt_submit_evaluation

한 역할에 대해 엄지 평점과 근거를 지원자에게 기록합니다 — 프로필의 Evaluation 탭.

rt_set_stage

지원자를 그들이 속한 역할 중 하나의 다른 단계로 이동합니다. 불합격 배치를 거부하므로, 누구도 재자격화할 수 없습니다.

rt_attach_file

로컬 파일을 기존 지원자에게 첨부하며, 선택적으로 이력서로 지정할 수 있습니다.

rt_add_note

공개 또는 비공개 메모를 추가합니다. 판정이 아닌 맥락용 — 통화 요약, 소싱 근거, 요약.

쓰기 동작 방식

이름을 받지, id를 받지 않습니다. "Dana Whitfield", "Regional Sales Manager". 이름이 두 사람과 일치하면 하나를 고르는 대신 멈추고 목록을 보여줍니다 — 잘못된 사람에게 판정을 기록하는 것이 여기서 실제로 중요한 실패이기 때문입니다.

모든 쓰기는 먼저 미리보기를 보여줍니다. 첫 호출은 기록될 내용을 정확히 반환하며 아무것도 기록하지 않습니다. 승인한 후에만 실제로 기록됩니다. 새 지원자의 경우 미리보기에서 중복 확인도 실행하고 누락된 세부 정보를 알려주므로, 기록이 생긴 후가 아니라 생기기 전에 알 수 있습니다.

평가는 지원자의 실제 현재 단계에 대해 기록됩니다. 그것이 평가가 의미하는 바입니다. 의도적으로 재정의할 수는 있지만, 직접 알아낼 필요는 없습니다.

문단이 유지됩니다. Recruitee의 메모 필드는 일반 텍스트를 받지만 인터페이스는 그 텍스트를 HTML로 렌더링하므로, 문단으로 작성된 메모는 그대로 두면 한 덩어리의 연속 텍스트가 됩니다. 줄바꿈은 전달 과정에서 변환되고, 텍스트는 먼저 이스케이프되므로 작성 중 우연히 들어간 <가 삼켜지거나 렌더링되지 않습니다.

평점은 확인되며, 반올림되지 않습니다. 유효한 값은 구성된 척도에 따라 다릅니다 — 4점 엄지 척도에는 "중립"이 없고, 5점 척도에는 있습니다. 척도에 없는 값은 조용히 이웃 값으로 바뀌지 않고 거부됩니다.


Related MCP server: Recruitee MCP Server

자체 데이터베이스에서 소싱

rt_source_candidates는 Candidates 화면이 실행하는 것과 동일한 검색을 실행합니다. 이는 rt_search_candidates와 다른 것입니다: 그쪽은 이름을 매칭하고, 이쪽은 모든 것, 이력서 텍스트 포함을 불리언 연산자로 매칭합니다.

query: "renewals AND churn"
query: "(SaaS OR B2B) AND \"net revenue retention\" NOT \"vice president\""

회사마다 직함이 일관되지 않고, 어떤 사람이 실제로 한 일은 이력서에 적혀 있기 때문에 이것이 중요합니다. 직함을 검색하는 것보다 증거를 검색하는 것이 낫습니다.

필터는 결합됩니다: offer, excludeOffer, jobStatus, stage, status, tags, sources. excludeOffer가 이 도구를 검색 상자가 아닌 소싱 도구로 만드는 핵심입니다 — 역할에 이미 있는 사람들을 결과에서 제외하여 인력을 보충할 때 사용합니다.

모든 결과는 왜 매칭되었는지 — HTML이 제거된 실제 문장 — 와 그 사람이 이미 속해 있는 모든 역할을 단계와 함께, 거절된 경우 그 사유까지 포함하여 제공합니다. 마지막 부분은 장식이 아닙니다: 기존 ATS의 대부분은 한 번은 거절된 적이 있습니다. 2년 전의 "지역이 안 맞음"은 오늘은 해당하지 않을 수 있지만, "평가 탈락"은 여전히 유효합니다. 아무도 그 정보 없이 새로운 발견으로 제시되어서는 안 됩니다.

필터 구성이 과해 보이는 이유

/search/new/candidates는 인식하지 못하는 것은 조용히 무시하고 오류 대신 필터링되지 않은 결과를 반환합니다. 그럴듯하지만 심각하게 잘못된 답을 얻는 네 가지 방법이 있으며, 모두 실제 계정으로 확인되었습니다:

실수

API가 하는 일

알 수 없는 엔티티 이름

전체 데이터베이스 반환

not_in 대신 nin

전체 데이터베이스 반환

알 수 없는 정렬

조용히 관련성 순으로 대체

같은 엔티티에 대한 두 개의 필터 객체

두 번째가 첫 번째를 대체

마지막 것이 가장 교묘합니다: 역할과 직무 상태를 두 개의 객체로 보내면 해당 직무 상태를 가진 모든 사람이 반환되고, 역할 필터가 삭제되었다는 어떤 표시도 없습니다. 그래서 엔티티에 대한 모든 제약은 단일 객체로 병합되고, 호출자가 제공한 키는 API에 도달하지 않습니다 — 이름은 실제 API에 대해 검증된 어휘에 매핑되며, 그 밖의 것은 예외를 던집니다.

반대로 잘못된 은 안전합니다: 0을 반환하며, 읽는 사람에게 명백히 잘못된 것으로 보입니다. 0 결과에는 실제 단계 이름도 함께 반환되므로, 오타가 난 단계와 빈 단계를 구분할 수 있습니다.

node sourcing-test.js는 위 네 가지 실수 각각을 클라이언트가 거부하는지 포함하여 모든 것을 검사합니다.

설정

5분, 한 번만 하면 됩니다. Node 18 이상(node -v로 확인)과 Claude Code 또는 Claude 데스크톱 앱이 필요합니다.

1. 설치

npm install

2. 자신의 API 토큰 생성

Recruitee에서: Settings → Apps and plugins → API tokens, Personal API tokens 탭에 머물러 + Add token을 클릭합니다. 비밀번호를 요구한 후 값을 한 번 보여줍니다.

그 화면에 있는 동안 상단의 Current company details 패널에서 회사를 확인하세요. 숫자 ID 또는 subdomain 중 아무거나 작동합니다.

이것은 여러분의 토큰이어야 하며, 공유 토큰이 아니어야 합니다. Recruitee 토큰은 생성한 사람으로 작동하므로, 여러분의 토큰으로 작성된 평가는 여러분의 것으로 표시됩니다 — 그것이 핵심입니다. 채팅, 이메일, 티켓에 절대 붙여넣지 마세요.

3. 저장

npm run set-token -- <paste-your-token-here> <your-company>

나중에 토큰을 교체하려면 npm run set-token -- <new-token> — 회사는 기억됩니다.

session/token.json에 기록되며, 사용자 본인만 읽을 수 있고 gitignore됩니다. 환경 변수 RECRUITEE_API_TOKEN이 파일을 덮어쓰므로, 비밀번호 관리자에 보관하고 싶다면 그렇게 할 수 있습니다.

4. 작동 확인

npm run check

authenticated: true와 몇 개의 역할이 보이면 됩니다.

5. Claude에 연결

이 폴더 안에서 실행한 후 Claude를 재시작하세요:

claude mcp add recruitee -- node "$PWD/server.js"

Claude 데스크톱 앱을 사용하시나요? Settings → Developer → Edit Config를 열고 실제 절대 경로(pwd로 확인)로 다음을 추가하세요:

{
  "mcpServers": {
    "recruitee": {
      "command": "node",
      "args": ["/absolute/path/to/recruitee-mcp/server.js"]
    }
  }
}

그런 다음 Claude에게 물어보세요: "Recruitee의 공개 역할을 나열해 줘".


사용 예시

You: Regional Sales Manager 파이프라인에 누가 있나요?

You: Dana Whitfield를 찾아봐 — 급여로 뭘 적었고, 이미 어떤 평가가 있나?

You: 그 역할에 그녀 평가를 작성해 줘. 긍정: 갱신과 확장에 강하고, 9명 팀을 이끌었으며, PLG 경험은 없음.

Claude 평점, 메모, 역할, 단계를 보여주고 아무것도 기록하지 않습니다.

You: 네, 보내세요.


의도적으로 할 수 없는 것

Recruitee API 토큰은 생성한 사람의 권한을 정확히 가집니다 — 문서에는 "해당 사용자의 이름으로 웹 또는 모바일 애플리케이션에서와 동일한 작업을 수행할 수 있다"고 명시되어 있습니다. 발급할 수 있는 읽기 전용 토큰은 없습니다.

그래서 절제는 이 코드에 있습니다. 불합격 처리, 재자격화, 삭제, 숨김, 익명화는 모두 실제로 존재하고 문서화된 엔드포인트이지만, 이 서버는 구현하지 않습니다. 플래그 뒤에 숨겨진 것도, 주석 처리된 것도 아닙니다 — 아예 없으므로 어떤 지시, 프롬프트, 버그도 도달할 수 없습니다. 지원자 거절은 UI에서 직접 내리는 결정으로 남습니다.

단계 이동만 허용됩니다. rt_set_stage는 지원자를 한 역할의 파이프라인을 따라 진행시킵니다. 이는 판단이 아니라 장부 기록이며, 여기서 진행할 수 없는 파이프라인은 다른 곳에서 추적하는 것과 어긋나게 됩니다. 경계선은 불합격 처리에 그어져 있으며 문서화만 된 것이 아니라 강제됩니다: 이미 불합격된 배치는 거부됩니다. 단계를 변경하면 그 사람이 재자격화되기 때문입니다 — 장부 기록 호출의 부작용으로 누군가의 거절을 뒤집는 일을 방지합니다.

npm run smoke는 매 실행마다 다음 속성을 검증합니다: 파괴적 도구가 노출되지 않음, 단계 이동기가 불합격 배치를 거부하고 한 역할에 국한됨, 모든 쓰기가 확인 게이트를 광고함. 마지막 검사는 이름 패턴 목록이 아닌 도구 스키마에서 쓰기를 파생합니다 — 이전 버전은 새 도구를 조용히 놓치고 rt_set_stage를 전혀 테스트하지 않고 통과시켰습니다.


알아두면 좋은 것들

새 후보자는 "Sourced"에 배치됩니다. Recruitee의 create 엔드포인트는 항상 사람들을 "Applied"에 넣기 때문에, 소싱한 모든 사람이 실제 지원자들 사이에 분류될 수 있습니다. 그래서 생성 직후에 이동시키며, 이동이 실패하면 알려줍니다. stage를 전달하면 이를 덮어쓸 수 있습니다 — 실제로 지원한 사람은 "Applied", 이미 진행 중인 사람은 이후 단계를 지정하면 됩니다. 이후에 이동하려면 rt_set_stage를 사용하세요.

CV 설정은 기존 CV를 대체합니다. Recruitee의 set_as_cv는 CV를 추가하는 것이 아니라 슬롯을 교체하고 이전 파일을 일반 첨부 파일로 강등시킵니다. 따라서 rt_attach_filereplaceCv를 전달하지 않는 한 이미 CV가 있는 후보자에게 CV를 설정하는 것을 거부합니다 — 파일로 존재하는 CV는 누군가의 결정이며, 이를 덮어쓴 흔적은 첨부 파일 목록의 추가 행 하나뿐입니다.

평가(evaluation)는 사용자 명의로 기록됩니다. "You evaluated"로 표시되어 직접 클릭한 것과 구분할 수 없습니다. 하지 않았거나 읽지 않은 대화에 대해 평가를 작성하지 마세요. 판단이 동료로부터 온 것이라면 메모에 그 사실을 명시하세요.

귀속(attribution)은 역방향으로는 신뢰할 수 없습니다. 어떤 API 토큰을 통해 작성된 것은 모두 해당 토큰 소유자에게 귀속됩니다. 따라서 누군가 동기화한 평가의 리뷰어는 실제 인터뷰를 진행한 사람이 아니라 동기화한 사람일 수 있습니다. 메모에 보통 실제 평가자를 명시합니다.

설문지 스코어카드는 지원되지 않습니다. 일반 평점 카드만 지원됩니다. API 문서는 모든 응답에 질문별 답변을 포함하지만 요청 본문에는 절대 포함하지 않으므로, 쓰기 형식은 실제 제출을 관찰해야만 파악할 수 있습니다. 계정에서도 문제가 되지 않을 수 있습니다: 인터뷰 단계를 거친 사람들에 대해 /results/scorecards가 비어 있다면 일반 평점 카드가 사용 중이며 누락된 것이 없다는 뜻입니다. 누군가 설문지 경로에 투자하기 전에 확인해 볼 가치가 있습니다.


작동 환경

이것은 로컬 stdio MCP 서버입니다 — Claude가 사용자 머신에서 프로세스로 실행하며, 토큰은 절대 머신을 벗어나지 않습니다.

  • Claude Code (터미널, 데스크톱 앱, IDE 확장) ✅

  • Claude 데스크톱 앱 ✅

  • 브라우저의 claude.ai ❌ — HTTPS로 접근 가능한 원격 MCP 서버에만 연결되므로, 이 서버를 호스팅하고 모든 사용자의 Recruitee 토큰을 해당 호스트에 저장해야 합니다.


구성

변수

용도

RECRUITEE_API_TOKEN

저장된 토큰 대신 환경 변수의 토큰 사용

RECRUITEE_COMPANY_ID

저장된 회사 대신 환경 변수의 회사 사용

문제 해결

표시되는 내용

조치 방법

"No Recruitee API token"

3단계가 실행되지 않았거나 다른 폴더에서 실행되었습니다. 여기로 cdnpm run check를 시도하세요.

"authenticated": false

토큰이 잘못 입력되었거나 폐기되었습니다. 새 토큰을 생성하고 3단계를 다시 수행하세요.

Claude가 도구를 인식하지 못함

Claude를 제대로 다시 시작하세요 — 창을 닫는 것이 아니라 완전히 종료하세요. 5단계가 이 폴더 안에서 실행되었는지 확인하세요.

"That name matches two candidates"

의도된 동작입니다. Recruitee에서 해당 인물을 열고 URL 끝의 숫자를 Claude에게 알려주세요.

기타 모든 경우

npm run smoke를 실행하고 출력된 내용을 보내주세요.

개발

npm run smoke     # self-check: tool list, no destructive tools, confirm gates, one live read
npm run sourcing  # 20 checks on the search filters, including the four silent-failure modes
npm run check     # prove the token
npm start         # run the server directly (it speaks JSON-RPC on stdin/stdout)

문서가 아닌 탐색을 통해 발견한 두 가지 구현 참고 사항:

  • 파일 업로드는 문서화되어 있지 않습니다. 참조 문서에는 서버 측 path를 담은 JSON 본문이 설명되어 있지만, 그 path를 얻는 방법은 설명되어 있지 않습니다. 파일 부분 이름을 attachment[file]로 지정한 일반 multipart POST가 작동합니다 — 단순한 file은 500을 반환하며, 후보자 id를 쿼리 매개변수로 전달하면 아무에게도 연결되지 않은 첨부 파일이 생성됩니다. 파일을 CV 슬롯으로 승격하면 새 id와 생성된 파일 이름으로 대체되므로, 업로드는 방금 업로드된 id가 아닌 후보자의 CV URL을 기준으로 검증됩니다.

  • /search/new/candidates는 자체 쿼리 매개변수를 무시하고 회사의 모든 레코드를 반환하므로, 이름 검색은 대신 /candidates?query=를 사용합니다. 파이프라인 단계는 단계별로 그룹화된 /offers/{id}/placements에서 가져오며, 역할에 사용 가능한 템플릿을 단계 없이 나열하는 /offers/{id}/pipeline_templates에서는 가져오지 않습니다.

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables extraction and analysis of candidate profiles from Recruitee recruitment pipelines, optimized for LLM evaluation with clean, bias-free data.
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Connects your Ashby recruiting data to Claude, enabling natural language queries and management of candidates, applications, jobs, interviews, offers, and team information.
    36
    MIT
  • F
    license
    B
    quality
    C
    maintenance
    Enables Claude to manage Zoho Recruit ATS operations including candidates, jobs, interviews, analytics, email, and AI-assist through natural language.
    20

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jnot807/recruitee-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server