Applicant Tracking System MCP Tools

Applicant Tracking System MCP tools support job requisitions, website job publishing, multi-channel CV intake, screening questions, candidate profiles, talent-pool tagging, interview self-booking, WhatsApp reminders, team scoring, offer/e-signature workflows, onboarding handoff, source analytics, privacy retention, and audit logs.

ats.config.get

read

Read hiring stages, retention rules, notification channels, interview timezone, permissions, and approval settings.

-

Read-only; returns settings according to HR permissions.

Must not expose candidate privacy settings or bypass retention limits.

ats.job_requisitions.list

read

List job requisitions by department, status, owner, and headcount.

ats.config.get

Read-only; only returns jobs the user may manage.

Salary range and internal headcount may be masked by permission.

ats.job_requisition.get

read

Read one job's requirements, screening criteria, interview flow, channels, and approval history.

ats.job_requisitions.list

Read-only; sensitive salary and approval history are role-scoped.

Avoid exposing internal comments to users outside the hiring team.

ats.job_posts.list

read

List job post status across website career pages, JobsDB, LinkedIn, email, and other channels.

ats.job_requisitions.list

Read-only; external platform tokens are never returned.

Shows publishing status only, without exposing third-party credentials.

ats.source_channels.list

read

Read recruitment source channels, tracking UTMs, cost, active state, and owners.

ats.config.get

Read-only; cost data may be permission-masked.

Must not return ad account secrets or platform login details.

ats.application_forms.list

read

List application forms, fields, required rules, document requirements, and consent wording.

ats.job_requisition.get

Read-only; returns full privacy wording version.

Application forms must not request unnecessary sensitive personal data.

ats.screening_questions.list

read

Read role screening questions, criteria, rejection reason options, and scoring weights.

ats.job_requisition.get

Read-only; used to generate screening previews.

Protected characteristics must not be used as automatic rejection criteria.

ats.candidates.list

read

List candidates by skills, source, tags, application state, and reusable talent-pool state.

ats.config.get

Read-only; contact details are masked by role.

Bulk reads require pagination and access audit logging.

ats.candidate.get

read

Read candidate resume, contact data, tags, application history, interview records, and document versions.

ats.candidates.list

Read-only; sensitive documents require HR or hiring-owner permission.

IDs, addresses, and phone numbers are masked by default unless needed for the workflow.

ats.resume_parse_results.list

read

Read resume parsing results, skills, experience, education, missing fields, and confidence scores.

ats.candidates.list

Read-only; AI parsing is assistive and not a final hiring decision.

Parsing errors must allow human correction with version history.

ats.talent_pool.list

read

List reusable talent-pool records, tags, future-role fit, last interaction, and consent state.

ats.candidates.list

Read-only; expired or withdrawn-consent candidates should not be returned.

Strictly follow candidate data retention and deletion requirements.

ats.applications.list

read

List applications by job, stage, owner, source, update time, and candidate.

ats.job_requisitions.list, ats.candidates.list

Read-only; returns only authorised hiring pipelines.

Avoid cross-exposing candidate comments across departments.

ats.application.get

read

Read one application's stage, resume, screening answers, scores, messages, interviews, and decision history.

ats.applications.list

Read-only; internal decision notes are role-scoped.

Candidate-visible status and internal status must be separated.

ats.pipeline_stages.list

read

Read hiring stages, allowed transitions, required fields, notification templates, and SLAs.

ats.config.get

Read-only; used to validate stage updates.

Must not skip stages requiring human interview or approval.

ats.screening_scores.list

read

Read fit scores, screening answers, highlights, and reviewer overrides for candidates against role criteria.

ats.screening_questions.list, ats.resume_parse_results.list

Read-only; scores do not equal automated hiring or rejection decisions.

AI recommendations need source and confidence labelling to avoid black-box decisions.

ats.interview_slots.list

read

List interviewer availability, self-booking link limits, location, video links, and timezone.

ats.application.get

Read-only; does not reserve calendar slots.

Must not show private interviewer calendar details, only availability.

ats.interviews.list

read

List interviews, interviewers, candidate replies, reminder state, no-show risk, and outcomes.

ats.applications.list

Read-only; candidate contact data is permission-masked.

Reminder state must not expose WhatsApp tokens or messaging provider secrets.

ats.interview_feedback.list

read

Read interview scores, comments, recommendations, pending reviewers, and consensus state.

ats.interviews.list

Read-only; comments are limited to hiring team and HR users.

Internal comments must not be sent to candidates or external channels.

ats.offers.list

read

List offer drafts, compensation, versions, approvals, e-signature state, and accepted or declined outcomes.

ats.application.get

Read-only; compensation details are scoped to HR/management permissions.

Compensation and contract terms require strict permissions and audit.

ats.onboarding_packets.list

read

Read onboarding packets, identity proof, MPF, bank details, missing documents, and handoff state.

ats.offers.list

Read-only; highly sensitive documents are HR-only.

ID, bank, and MPF data must be masked and encrypted.

ats.candidate_messages.list

read

Read candidate confirmation, status update, interview reminder, rejection, and offer message records.

ats.application.get

Read-only; message content is scoped by candidate and job permissions.

Provider secrets must not be shown; rejection messages need delivery proof.

ats.source_performance.get

read

Read source quality, conversion rate, cost, interview rate, offer rate, and time-to-hire analytics.

ats.source_channels.list, ats.applications.list

Read-only; can aggregate by job, date, and channel.

Reports should avoid exposing sensitive data that identifies individual candidates.

ats.audit_logs.list

read

List audit logs for candidate access, stage moves, interviews, messages, offers, and onboarding data actions.

ats.config.get

Read-only; audit logs cannot be modified by normal users.

Audit logs must be tamper-resistant and support compliance tracing.

ats.job_publish.preview

preview

Preview job title, content, salary display, application form, and tracking parameters across website and external channels.

ats.job_requisition.get, ats.application_forms.list, ats.source_channels.list

Preview only; publishing requires hiring lead or HR approval.

Checks salary visibility, internal wording, discriminatory requirements, and privacy wording.

ats.candidate_import.preview

preview

Preview duplicate candidates, parsed fields, missing data, consent state, and errors for bulk resume imports.

ats.candidates.list, ats.resume_parse_results.list

Preview only; HR must confirm dedupe rules before import.

Prevents duplicate or wrong-source imports from overwriting existing candidate data.

ats.shortlist.preview

preview

Preview AI-recommended shortlists, fit reasons, resume highlights, risks, exclusions, and reviewer overrides.

ats.job_requisition.get, ats.screening_scores.list

Recommendation only; adding to shortlist requires human approval.

Must show decision rationale to avoid automated discrimination or black-box screening.

ats.interview_schedule.preview

preview

Preview interview time, interviewers, location, map, video link, candidate messages, and calendar conflicts.

ats.interview_slots.list, ats.application.get

Scheduling only after preview; conflicts or cross-timezone cases need extra confirmation.

Only authorised calendars may be reserved; private event content is hidden.

ats.candidate_message.preview

preview

Preview confirmation, status update, interview reminder, rejection, or offer messages, recipients, and sending channels.

ats.candidate_messages.list, ats.application.get

Sending requires approval by message type; rejection messages need version retention.

Prevents sending offers, rejections, or internal comments to the wrong candidate.

ats.offer_issue.preview

preview

Preview offer letter, compensation, grade, start date, e-signature flow, attachments, and approval chain.

ats.offers.list, ats.application.get

Offer issuance requires HR/management approval.

Compensation, contract terms, and attachment versions must not be sent without approval.

ats.onboarding_handoff.preview

preview

Preview onboarding document requirements, missing data, HRIS creation fields, permissions, messages, and handoff tasks.

ats.onboarding_packets.list, ats.offers.list

Handoff to employee record or HRIS requires HR approval.

Sensitive onboarding data must be minimised, encrypted, and access-limited.

ats.job_requisition.upsert

write

Create or update requisition headcount, owner, requirements, salary range, and hiring flow.

ats.config.get, ats.job_requisition.get

Salary, headcount, or public job changes require approval.

Prevents unauthorised job creation or salary-range changes.

ats.job_post.publish

write

Publish approved jobs to website career pages and selected external hiring channels.

ats.job_publish.preview

Requires preview result and hiring lead approval.

Checks discriminatory wording, privacy terms, and external-channel constraints before publishing.

ats.source_channel.upsert

write

Create or update source channels, UTMs, cost, owners, and active state.

ats.source_channels.list

Cost or new external integrations require admin approval.

Endpoint must not write or return platform secrets.

ats.application_form.upsert

write

Create or update application forms, required fields, document requirements, consent wording, and form versions.

ats.application_forms.list

Public form changes require HR approval and version history.

Avoid collecting unnecessary sensitive data; consent wording must be versioned.

ats.screening_question.upsert

write

Create or update screening questions, score weights, required answers, and human-review rules.

ats.screening_questions.list

Rejection criteria or weight changes require HR approval.

Must not configure automatic rejection using protected characteristics.

ats.candidate.import

write

Import resumes and candidate data from website, email, JobsDB, LinkedIn, or CSV.

ats.candidate_import.preview

Requires preview of duplicates and consent state, then HR approval before writing.

Keeps source, consent, importer, and parsing version to avoid bad overwrites.

ats.candidate.upsert

write

Create or update candidate profile, resume version, contact data, consent state, and retention date.

ats.candidate.get

Sensitive data or retention changes require HR permission.

Candidate PII must be encrypted and support correction/deletion requests.

ats.candidate.tag_apply

write

Apply skill, function, future-fit, blocklist, or talent-pool tags to candidates.

ats.candidate.get, ats.talent_pool.list

Blocklist or long-retention tags require HR approval.

Tags must not contain discriminatory or unnecessary personal data.

ats.application.create

write

Create an application for a candidate and job, linking source, screening answers, resume, and initial stage.

ats.candidate.get, ats.job_requisition.get, ats.application_forms.list

Allowed for authorised hiring users; duplicate applications require confirmation.

Prevents creating applications without candidate privacy consent.

ats.application.stage_update

write

Move, return, or mark application stages such as screening, interview, offer, rejected, or onboarded.

ats.application.get, ats.pipeline_stages.list

Rejected, offer, or onboarded stages require rule-based approval.

Must not sync candidate-visible status without notification handling; reasons are retained.

ats.screening_score.record

write

Record resume fit, screening results, AI summaries, human review, and score versions.

ats.screening_scores.list, ats.resume_parse_results.list

AI scores may be stored as reference; automatic rejection requires human approval.

Must retain scoring rationale and human-review records.

ats.shortlist.submit

write

Add approved candidates to the interview shortlist and create next-step tasks.

ats.shortlist.preview

Requires hiring lead approval of shortlist preview.

AI must not independently decide shortlists; human confirmation is required.

ats.interview_slot.upsert

write

Create or update interviewer availability, self-booking links, locations, and booking limits.

ats.interview_slots.list

Public booking links or bulk slot changes require interviewer/HR approval.

Writes availability only, without exposing private calendar content.

ats.interview.schedule

write

Schedule interviews with interviewers, location/video link, candidate messages, and calendar events.

ats.interview_schedule.preview

Requires conflict-free preview and authorised hiring-user confirmation.

Must not send notifications without confirming candidate/interviewer availability.

ats.interview.reschedule

write

Reschedule interviews, update calendars, resend messages, and retain reschedule reasons.

ats.interviews.list, ats.interview_schedule.preview

Rescheduling needs a reason; near-term changes require extra confirmation.

Prevents duplicate calendar events, wrong messages, and candidate confusion.

ats.feedback.submit

write

Submit interview scores, comments, recommendation, follow-up questions, and next-step suggestions.

ats.interview_feedback.list, ats.application.get

Interviewers may submit own feedback; final decision requires hiring lead approval.

Internal feedback must not be automatically sent to candidates.

ats.offer.draft

write

Create offer drafts with compensation, grade, start date, terms, attachments, and approval chain.

ats.application.get, ats.offers.list

Drafts may be saved; compensation and terms require approval before issuance.

Sensitive offer data needs restricted visibility and version control.

ats.offer.issue

write

Issue approved offer letters, e-signature links, and candidate notifications.

ats.offer_issue.preview

Requires approved preview and management/HR approval.

Prevents wrong compensation, wrong recipient, or unapproved attachments from being sent.

ats.offer.status_update

write

Update offer as accepted, declined, withdrawn, expired, or reissue-needed, and sync application stage.

ats.offers.list, ats.application.get

Withdrawing or reissuing offers requires HR/management confirmation.

Retains candidate e-sign responses and status-change evidence.

ats.onboarding_handoff.create

write

Handoff accepted candidates into onboarding, creating document requests, HR tasks, and draft employee records.

ats.onboarding_handoff.preview

Creating employee records or HRIS sync requires HR approval.

Transfers only minimum onboarding data; sensitive documents must be encrypted.

ats.action_request.status

status

Check preview, approval, execution, failure, rollback, and audit state for ATS write actions.

ats.audit_logs.list

Read-only status; cannot force approval through this endpoint.

Approval state must be traceable and cannot be self-edited by requesters.