Recruitee MCP by usefulapi
Search Recruitee candidates, jobs, pipelines and interviews, and add notes, tags and tasks.
Connect it
Settings → Connectors → Add custom connector
URL: https://recruitee.usefulapi.io/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://recruitee.usefulapi.io/mcp{
"mcpServers": {
"recruitee": {
"url": "https://recruitee.usefulapi.io/mcp"
}
}
}claude mcp add --transport http recruitee https://recruitee.usefulapi.io/mcp{
"servers": {
"recruitee": {
"type": "http",
"url": "https://recruitee.usefulapi.io/mcp"
}
}
}22 tools, verified live
recruitee_get_current_userread-onlyFetch the Recruitee user the API token belongs to — name, email, role, role abilities and company id. A cheap way to confirm the token and company id are right. Recruitee: GET /c/{company_id}/admin.
recruitee_list_team_membersread-onlyList the company's team members (memberships): admin_id, role, whether they are a recruiter or hiring manager, and the jobs they can access. Use admin_id values for task assignees and filters. User names/emails are in the `references` array. Recruitee: GET /c/{company_id}/memberships.
recruitee_search_candidatesread-onlySearch the company's candidates with Recruitee's candidate search (the same engine as the app's filters). `query` is a free-text search across name, emails, phones, tags, sources, job assignments, current stage, cover letter and CV content. `filters` accepts Recruitee filter objects verbatim, e.g. {"field":"created_at","gte":1548975600} (Unix seconds), {"field":"has_cv","eq":true}, {"filter":"tags
recruitee_list_candidatesread-onlyList candidates, newest first, optionally narrowed to one job, a name/job search, qualified or disqualified only, specific ids, or those created after a date. Paginate with limit + offset (next offset = offset + limit). Recruitee: GET /c/{company_id}/candidates.
recruitee_get_candidateread-onlyFetch one candidate's full profile: contact details, sources, tags, cover letter, CV URL, custom fields, ratings, and `placements` — one per job they are on, each with its placement id and current stage. The placement id is what recruitee_move_candidate_stage needs. Recruitee: GET /c/{company_id}/candidates/{id}.
recruitee_list_candidate_notesread-onlyList the notes on a candidate's profile, with replies, author admin_id and visibility. Recruitee: GET /c/{company_id}/candidates/{candidate_id}/notes.
recruitee_list_offersread-onlyList the company's jobs (Recruitee calls them offers) with id, title, status, slug, department_id, recruiter_id, hiring_manager_id and pipeline_template_id. Filter by status, department, location, recruiter, hiring manager, tag and more; add heavy fields with `include` (e.g. counters for candidate counts, description, salary, location_ids). Paginated with limit + page (default 1000 per page); `met
recruitee_get_offerread-onlyFetch one job or talent pool by id with its full details: description, requirements, location, salary, employment type, candidate counters and pipeline_template_id. Recruitee: GET /c/{company_id}/offers/{id}.
recruitee_get_pipeline_templateread-onlyFetch a pipeline template with its ordered stages (id, name, group, category). A job's `pipeline_template_id` (from recruitee_list_offers / recruitee_get_offer) names its pipeline; the stage ids here are what recruitee_move_candidate_stage takes. Recruitee: GET /c/{company_id}/pipeline_templates/{id}.
recruitee_list_departmentsread-onlyList the company's departments with their ids and job counts. Recruitee: GET /c/{company_id}/departments.
recruitee_list_tagsread-onlyList the company's candidate tags with ids and usage counts. Tag ids are used in recruitee_search_candidates filters. Recruitee: GET /c/{company_id}/tags.
recruitee_list_disqualify_reasonsread-onlyList the company's configured disqualification reasons (id, name, position). Useful for reading why candidates were disqualified. Recruitee: GET /c/{company_id}/disqualify_reasons.
recruitee_list_tasksread-onlyList recruiting tasks (title, description, due date, completed, candidate_id). With candidate_id, lists that candidate's tasks (Recruitee: GET /c/{company_id}/candidates/{candidate_id}/tasks — only `status` applies). Otherwise lists company tasks with scope, assignee, sorting and paging (Recruitee: GET /c/{company_id}/tasks).
recruitee_list_interview_eventsread-onlyList scheduled interview events (candidate_id, offer_id, stage_id, start time, duration, location, attendees). Defaults to upcoming events for the whole company; narrow by candidate, date range or interviewer. Recruitee: GET /c/{company_id}/interview/events.
recruitee_list_evaluationsread-onlyList interview results — evaluations (rating + note) and questionnaire scorecards — optionally for one candidate or by selected reviewers. Recruitee: GET /c/{company_id}/interview/results.
recruitee_create_candidatecan modifyWRITE: add a candidate manually (as if a recruiter added them in the app — no auto-confirmation email is sent), optionally assigning them straight to one or more jobs in the job's default stage. Recruitee: POST /c/{company_id}/candidates.
recruitee_update_candidatecan modifyWRITE: update a candidate's name or contact details. Only the fields you pass change; list fields (emails, phones, links) REPLACE the existing list, so pass the full list you want. Recruitee: PATCH /c/{company_id}/candidates/{id}.
recruitee_add_candidate_notecan modifyWRITE: add a note to a candidate's profile, visible to the team. Recruitee: POST /c/{company_id}/candidates/{candidate_id}/notes.
recruitee_add_candidate_tagscan modifyWRITE: add one or more tags to a candidate (existing tags are reused by name; new names create new tags). Recruitee: POST /c/{company_id}/candidates/{candidate_id}/tags.
recruitee_assign_candidate_to_offercan modifyWRITE: put an existing candidate on a job (or talent pool) — creates a placement in the pipeline's first stage. Pass exactly one of offer_id or talent_pool_id. Recruitee: POST /c/{company_id}/placements.
recruitee_move_candidate_stagecan modifyWRITE: move a candidate to another stage of a job's pipeline. Takes the PLACEMENT id (from recruitee_get_candidate → placements[].id, one per job) and the destination stage id (from recruitee_get_pipeline_template). Moving to a 'hired' stage also requires work_location_id. Stage automations configured in Recruitee may run. Undo by moving back. Recruitee: PATCH /c/{company_id}/placements/{id}/chang
recruitee_create_taskcan modifyWRITE: create a recruiting task, optionally about a candidate, assigned to team members (admin ids from recruitee_list_team_members), with an optional due date. Recruitee: POST /c/{company_id}/tasks.
Alternatives in Search & Research
Compare →
Fireflies.aiOfficialA
Search and analyze meeting transcripts, summaries, soundbites and analytics from Fireflies.ai
SKSui Knowledge Base (kapa.ai)A
Semantic search across Sui documentation and knowledge sources, powered by kapa.ai
DIDiscoA
Find novel, statistically validated patterns in tabular data — hypothesis-free.
ODOrchestKit Docs MCPA
Read-only MCP server for the OrchestKit docs: full-text search + Markdown fetch. No auth.
SSSEO SkillA
Free Google Search Console MCP: your real GSC, Google Analytics and keyword data for AI agents.
GitHitsA
Search public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.