# ApplicantStack MCP for AI Agents MCP

> ApplicantStack brings your entire hiring lifecycle into your AI agent. You track job openings, manage candidate profiles, and move people through custom workflow stages—all without leaving your chat interface. It handles everything from initial job listing retrieval to updating a candidate's status from 'Interviewing' to 'Hired.'

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** applicant-tracking, hiring-workflow, onboarding, job-postings, candidate-management, recruitment-automation

## Description

This MCP connects your recruiting data directly into your AI workspace. Instead of jumping between ApplicantStack and multiple spreadsheets, you tell your agent what you need—like, 'Show me all candidates who interviewed last week but haven't been updated.' The agent handles the complexity; it pulls candidate records, checks job metadata, and even moves people to new workflow stages when they pass review.

It lets you manage everything from job listings to onboarding data. You can list every open role or drill down into a specific person’s profile for an instant summary. If your team uses other AI clients, you'll find this MCP listed in the Vinkius catalog, giving you one place to connect all your enterprise tools.

## Tools

### get_account_check
Verifies that your connection to ApplicantStack is active and ready to use.

### get_candidate
Retrieves detailed information for a single candidate record.

### get_job
Pulls specific data points about one job listing.

### list_candidates
Generates an overview list of all applicants in the system.

### list_hires
Provides a manifest of all records flagged as new hires, including onboarding data.

### list_jobs
Fetches a list containing every active and closed job listing in your account.

### update_candidate
Updates candidate information, most commonly used to change their stage in the hiring workflow.

## Prompt Examples

**Prompt:** 
```
List all active job openings for the Engineering department.
```

**Response:** 
```
**Active Job Listings: Engineering**

*   **Software Engineer II:** Open since 2024-10-01. Location: Remote. Owner: Jane Doe. Status: Active.
*   **DevOps Specialist:** Open since 2025-01-15. Location: NYC. Owner: John Smith. Status: Needs Review.
*   **Lead Architect:** Open since 2024-08-20. Location: Remote. Owner: Jane Doe. Status: Active.
```

**Prompt:** 
```
What's the status and details for candidate ID C567?
```

**Response:** 
```
**Candidate Profile: Alex Johnson (C567)**

*   **Current Stage:** Offer Pending
*   **Last Activity:** 2026-06-10 (Status updated by Agent)
*   **Source Job:** Software Engineer II
*   **Summary:** Highly skilled in Python and cloud infrastructure. Passed all technical rounds with high marks.
```

**Prompt:** 
```
Move candidate 'C998' to the Hired stage.
```

**Response:** 
```
✅ Success. Candidate C998 has been successfully moved from 'Interview' to **Hired**. The system automatically logged this change and flagged the record for HR onboarding review.
```

## Capabilities

### Review Candidate Profiles
Retrieve full details for any candidate using their ID or name.

### Track Open Jobs
List all your current and closed job postings, or pull deep metadata on a specific role.

### Audit Applicant Database
See an aggregate list of all candidates in the system, allowing filtering by workflow stage or score.

### Advance Candidate Status
Instantly change a candidate's position within your defined hiring workflow stages.

### Generate Onboarding Lists
Access data for new hires, ensuring you have all the necessary information to start their employee journey.

## Use Cases

### A Candidate Needs Status Check
A recruiter needs to know if a specific applicant is still in the running. They ask their agent for the candidate's details using 'get_candidate'. The agent returns an up-to-date summary, confirming they are currently in the 'Final Review' stage.

### Listing All Open Roles
A hiring manager needs to plan Q3 staffing. They prompt their agent to list all available jobs using 'list_jobs'. The agent delivers a clean, sortable spreadsheet of open roles and their required metadata.

### Automating Stage Progression
The interview panel finishes reviewing Jane Doe's profile. Instead of logging into ApplicantStack, the manager asks the agent to update her status using 'update_candidate', moving her directly from 'Interview' to 'Offer Pending'.

### Reviewing Recent Hires
The HR team needs a list of everyone who started last month. They use 'list_hires', getting an immediate manifest that includes required onboarding documentation links for every new employee.

## Benefits

- Instead of manual cross-referencing, you can ask the agent to pull data on a candidate's progress across multiple jobs using 'list_candidates' and 'get_job'.
- When a candidate moves stages (e.g., Interview to Offer), calling 'update_candidate' automatically adjusts their profile status in your system.
- HR teams can instantly review onboarding requirements by running 'list_hires', guaranteeing no new employee falls through the cracks.
- Hiring managers get immediate context on open roles by using 'list_jobs' and quickly checking job metadata without logging into a separate portal.
- You avoid the data silos problem. All candidate details, from initial application to final hire status, are accessible via one command.

## How It Works

The bottom line is that your AI client acts as the middleman, translating natural conversation into specific data actions within ApplicantStack.

1. You prompt your AI agent with a natural language request (e.g., 'List all candidates currently in the Interview stage').
2. The MCP processes the request, calls the necessary internal tools to query ApplicantStack's data.
3. Your agent receives structured results—whether it’s a list of open jobs or a candidate's updated profile—and presents it back to you in plain text.

## Frequently Asked Questions

**How do I find my ApplicantStack API Token?**
Log in to ApplicantStack, go to **Settings**, then **Edit Settings**. Your API token will be listed under the API section.

**What is the subdomain?**
The subdomain is the first part of your ApplicantStack URL (e.g., if your URL is `mycompany.applicantstack.com`, your subdomain is `mycompany`).

**Can I move a candidate to a new stage?**
Yes, use the `update_candidate` tool and provide the new stage name in the `stage` field to advance them in your workflow.