# 100Hires

Official MCP server for 100Hires ATS: candidates, jobs, applications, interviews, messages.

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y smithery mcp add 100hires/mcp-server

# Browse available tools
npx -y smithery tool list 100hires/mcp-server

# Get full schema for a tool
npx -y smithery tool get 100hires/mcp-server hires_list_candidates

# Call a tool
npx -y smithery tool call 100hires/mcp-server hires_list_candidates '{}'
```

## Direct MCP Connection

Endpoint: `https://mcp-server--100hires.run.tools`

## Tools (130)

- `hires_list_candidates` — List candidates with optional filters. Supports filtering by job, stage, email, name, LinkedIn, and date ranges. Return…
- `hires_create_candidate` — Create a new candidate profile. Optionally link to a job/stage and attach a CV. Used for imports, inbound forms, and en…
- `hires_get_candidate` — Get full candidate data including application summaries by candidate ID or alias.
- `hires_update_candidate` — Update candidate fields, profile answers, and optional CV. Used for bi-directional sync from ATS, CRM, sourcing, or enr…
- `hires_delete_candidate` — Permanently delete a candidate by ID or alias.
- `hires_list_candidate_tags` — List all tags assigned to a candidate. Useful for segmentation and audience-based automations.
- `hires_add_candidate_tags` — Add one or more tags to a candidate. Used for campaign tagging, qualification labels, and source attribution.
- `hires_remove_candidate_tag` — Remove a specific tag from a candidate.
- `hires_batch_add_tags` — Add tags to multiple candidates in one request (max 100). Returns per-item results with partial success support.
- `hires_batch_remove_tags` — Remove tags from multiple candidates in one request (max 100). Returns per-item results with partial success support.
- `hires_list_candidate_files` — List all files attached to a candidate (resumes and other documents). Each entry has uuid, absolute download url (use B…
- `hires_upload_candidate_file` — Upload a file for a candidate using a base64 payload. Used for resume ingestion, portfolio uploads, and document attach…
- `hires_get_candidate_resume` — Get the primary resume for a candidate. Returns uuid, absolute download url (use Bearer auth), relative_time, file meta…
- `hires_list_candidate_activities` — List timeline activities for a candidate (comments, stage moves, AI responses, etc.). Supports filtering by event type.
- `hires_disqualify_candidate` — Disqualify a candidate from all active applications. Optionally provide rejection reason IDs. Returns affected applicat…
- `hires_list_candidate_interviews` — List all interviews for a candidate across all applications. Useful for timeline views and scheduling conflict detectio…
- `hires_list_candidate_messages` — List email and messaging history for a candidate. Use is_scheduled=1 to filter only pending scheduled messages.
- `hires_send_candidate_message` — Schedule an email message to a candidate. If scheduled_at is omitted, the message is scheduled for 15 minutes after cre…
- `hires_list_applications` — List applications across all accessible jobs. Supports filtering by candidate, job, stage, status, AI score range, and …
- `hires_create_application` — Create an application by linking an existing candidate to a job. Use for sourcing workflows and manual application inge…
- `hires_get_application` — Get full application details including stage, status, and rejection context. Recommended before mutating stage transiti…
- `hires_update_application` — Update application fields such as stage, disqualification flag, and CV. For explicit stage transitions prefer hires_mov…
- `hires_delete_application` — Permanently delete an application. This removes it from all list and view queries.
- `hires_move_application` — Move an application to a specific pipeline stage. Use this for explicit stage transitions in workflow orchestration. Yo…
- `hires_advance_application` — Advance an application to the next pipeline stage according to workflow order. No stage_id needed -- the system determi…
- `hires_hire_application` — Mark an application as hired. This is the finalization step in a hiring workflow. The application status changes to 'hi…
- `hires_reject_application` — Reject an application with an optional rejection reason. Use GET /taxonomy/rejection-reasons to list available reason I…
- `hires_unreject_application` — Undo a rejection and reopen a previously rejected application. The status returns to active and rejected_at is cleared.
- `hires_transfer_application` — Transfer an application to another job. A new application is created on the target job. Optionally specify a stage on t…
- `hires_get_ai_score` — Get the structured AI score for an application, including per-criterion scores, justifications, and follow-up questions…
- `hires_list_application_attachments` — List all file attachments linked to an application (resumes, cover letters, documents). Returns file metadata and downl…
- `hires_upload_application_attachment` — Upload a file attachment to an application. Provide the file as base64-encoded data. Commonly used for signed documents…
- `hires_list_application_evaluations` — List all filled evaluation forms for an application. Each evaluation includes the evaluator, summary score (strong-yes …
- `hires_create_interview` — Schedule a new interview for an application. Provide start/end times as Unix timestamps and a list of interviewer user …
- `hires_batch_move_applications` — Move multiple applications to a pipeline stage in one request. Returns per-item results with partial success support. M…
- `hires_batch_reject_applications` — Reject multiple applications in one request with an optional rejection reason. Returns per-item results with partial su…
- `hires_list_jobs` — List jobs with optional filters by status, date range, department, or search query. Returns paginated results. Use for …
- `hires_create_job` — Create a job with taxonomy, location, salary, and workflow configuration. Primary endpoint for programmatic job publish…
- `hires_get_job` — Get full details of a job by ID or alias. Use `include` to load related workflow, hiring team, or pipeline stages data.
- `hires_update_job` — Update mutable job attributes. Only send fields you want to change. Preserves domain-level validation rules.
- `hires_delete_job` — Delete a job. Use to align archived/removed positions across integrated platforms.
- `hires_set_job_status` — Change job status via dedicated endpoint. Recommended for publish/unpublish/archive transitions and status automation w…
- `hires_list_job_boards` — Get current board publication state for a specific job. Returns which job boards the job is published to. Useful for di…
- `hires_publish_to_job_board` — Activate selected job boards for a job. Sets boards to activation queue state. Use for controlled multi-board publishin…
- `hires_remove_from_job_board` — Deactivate selected board publications for a job. Stops the job from being listed on specified boards.
- `hires_batch_job_boards` — Get board publication states for multiple jobs in one request. Optimized for batch monitoring and management UIs.
- `hires_batch_publish_to_boards` — Activate board publication for multiple jobs in one request. Use for bulk job distribution workflows.
- `hires_batch_remove_from_boards` — Deactivate board publication for multiple jobs in one request. Use for bulk depublishing workflows.
- `hires_list_hiring_team` — List users currently assigned to a job's hiring team. Useful for notification routing and collaboration tooling.
- `hires_add_hiring_team_member` — Add a company member to the job's hiring team. Use in workflow setup and ownership automation.
- `hires_list_job_webhooks` — List webhooks configured for job-level events. Use to audit subscriptions and deployment state.

---
*Response truncated. Use `npx -y smithery` for complete data.*
