100Hires - AI ATS & Recruitment Software
Official 100Hires MCP: AI ATS & Recruitment Software for candidates, jobs, applications, interviews.
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only
What it can do
- Hires List Candidates: List candidates with optional filters. Supports filtering by job, stage, email, name, LinkedIn, and date ranges. Returns paginated results. Recommended size <= 10: candidate pay
- Hires Create Candidate: Create a new candidate profile. Optionally link to a job/stage and attach a CV. Used for imports, inbound forms, and enrichment workflows.
- Hires Get Candidate: Get full candidate data including application summaries by candidate ID or alias.
What data it sees
Do you need an account
No: the server works without sign-in
Official 100Hires MCP: AI ATS & Recruitment Software for candidates, jobs, applications, interviews.
Server tool list (60)
Raw names from tools/list. Only developers need these.
| hires_list_candidates | List candidates with optional filters. Supports filtering by job, stage, email, name, LinkedIn, and date ranges. Returns paginated results. Recommended size <= 10: candidate payloads include the full profile answers array and can be large; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints — reduce size, narrow filters, or fetch a single record via hires_get_candidate. |
| hires_create_candidate | Create a new candidate profile. Optionally link to a job/stage and attach a CV. Used for imports, inbound forms, and enrichment workflows. |
| 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 enrichment tools. |
| 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 Bearer auth), relative_time, file metadata (orig_file_name, file_ext, file_type/MIME, readable_size), and type (resume/other). Default response is compact; avoid include=text_content on candidates with many files — it adds parsed resume text per file which can exceed the response budget. |
| hires_upload_candidate_file | Upload a file for a candidate using a base64 payload. Used for resume ingestion, portfolio uploads, and document attachment. |
| hires_get_candidate_resume | Get the primary resume for a candidate. Returns uuid, absolute download url (use Bearer auth), relative_time, file metadata, type. Use include='text_content' to also get the parsed plain-text content in a `text` field without downloading the file. |
| hires_list_candidate_activities | List timeline activities for a candidate (comments, stage moves, AI responses, etc.). Supports filtering by event type. Recommended size <= 10: copilot responses and call transcriptions can be large per event; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints. |
| hires_disqualify_candidate | Disqualify a candidate from all active applications. Optionally provide rejection reason IDs. Returns affected application IDs. |
| hires_list_candidate_interviews | List all interviews for a candidate across all applications. Useful for timeline views and scheduling conflict detection. |
| hires_list_candidate_messages | List email and messaging history for a candidate. Use is_scheduled=1 to filter only pending scheduled messages. Recommended size <= 10: messages include full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints. |
| hires_send_candidate_message | Schedule an email message to a candidate. If scheduled_at is omitted, the message is scheduled for 15 minutes after creation. |
| hires_list_applications | List applications across all accessible jobs. Supports filtering by candidate, job, stage, status, AI score range, and date ranges. Use for pipeline analytics, sync jobs, and ATS dashboards. Avoid include=candidate or include=cv.text on large pages (each embeds heavy nested data); if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints. |
| hires_create_application | Create an application by linking an existing candidate to a job. Use for sourcing workflows and manual application ingestion. The candidate must already exist. |
| hires_get_application | Get full application details including stage, status, and rejection context. Recommended before mutating stage transitions. |
| hires_update_application | Update application fields such as stage, disqualification flag, and CV. For explicit stage transitions prefer hires_move_application or hires_advance_application. |
| 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. You need the target stage_id (get it from the job's pipeline_stages). |
| hires_advance_application | Advance an application to the next pipeline stage according to workflow order. No stage_id needed -- the system determines the next stage automatically. |
| hires_hire_application | Mark an application as hired. This is the finalization step in a hiring workflow. The application status changes to 'hired' and hired_at is set. |
| hires_reject_application | Reject an application with an optional rejection reason. Use GET /taxonomy/rejection-reasons to list available reason IDs. Set suppress_notification to skip the rejection email. |
| 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 the target job's pipeline. |
| hires_get_ai_score | Get the structured AI score for an application, including per-criterion scores, justifications, and follow-up questions. Returns null score if the application has not been AI-scored. |
| hires_list_application_stage_history | Get the full chronological stage transition history for an application, including the initial assignment. Each entry has from_stage_id/name, to_stage_id/name, moved_at (Unix seconds), moved_by_type (system, user, automation), and moved_by_user_id. Use this for funnel analysis and time-in-stage reports instead of paginating through /candidates/{id}/activities when only stage data is needed. |
| hires_list_application_attachments | List all file attachments linked to an application (resumes, cover letters, documents). Returns file metadata and download URLs. |
| hires_upload_application_attachment | Upload a file attachment to an application. Provide the file as base64-encoded data. Commonly used for signed documents and interviewer artifacts. |
| hires_list_application_evaluations | List all filled evaluation forms for an application. Each evaluation includes the evaluator, summary score (strong-yes to strong-no), and summary text. |
| hires_create_interview | Schedule a new interview for an application. Provide start/end times as Unix timestamps and a list of interviewer user IDs. Location is resolved to an existing record or created automatically. |
| hires_batch_move_applications | Move multiple applications to a pipeline stage in one request. Returns per-item results with partial success support. Max 100 application IDs per request. |
| hires_batch_reject_applications | Reject multiple applications in one request with an optional rejection reason. Returns per-item results with partial success support. Max 100 application IDs per request. |
| hires_list_jobs | List jobs with optional filters by status, date range, department, or search query. Returns paginated results. Use for career-site sync, reporting, and external system indexing. Recommended size <= 10: full job payloads include description HTML and can be large; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints — reduce size, narrow filters, or fetch a single record via hires_get_job. |
| hires_create_job | Create a job with taxonomy, location, salary, and workflow configuration. Primary endpoint for programmatic job publishing. Required fields: status, title, description, location_city, location_country. |
| 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 workflows. |
| hires_list_job_boards | Get current board publication state for a specific job. Returns which job boards the job is published to. Useful for distribution dashboards and posting audits. |
| hires_publish_to_job_board | Activate selected job boards for a job. Sets boards to activation queue state. Use for controlled multi-board publishing workflows. |
| 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. |
| hires_create_job_webhook | Register a webhook URL for job-related events. Core step for outbound integration setup. URL must be HTTPS. |
| hires_delete_job_webhook | Delete a job webhook subscription by ID. Use for cleanup, rotation, and endpoint migration. |
| hires_list_messages | List messages sent or scheduled from a specific mail account. Returns outbound messages only (sent and scheduled), not received. Useful for monitoring cold outreach campaigns — check pending queue, delivery history, and plan next sends. Recommended size <= 10: messages include full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints. |
| hires_get_message | Get a scheduled message by ID. Returns scheduler-backed message details including sender account, schedule timestamps, and cancelability. |
| hires_update_message | Fully update (replace) a scheduled message before send time. All required fields must be provided. |
| hires_patch_message | Partially update a scheduled message before send time. Only provided fields are changed. |
| hires_delete_message | Cancel a scheduled message before it is processed by the mailbox scheduler. |
| hires_batch_create_messages | Create up to 100 scheduled messages in one request. Each item specifies its own candidate_id and message payload. Items are processed independently -- one failure does not stop others. Per-candidate RBAC is enforced for each item. |