# Greenhouse MCP

> Greenhouse MCP connects your AI agent directly to your entire recruiting pipeline. List candidates, check job openings, and move applicants through stages—all via natural conversation. You get total control over candidate records, departmental structures, and active job postings without leaving your preferred chat environment.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** candidate-tracking, hiring-pipeline, talent-acquisition, interview-management, recruitment-automation, applicant-data

## Description

This MCP lets you treat your Applicant Tracking System like a conversational partner. Instead of clicking through dozens of tabs to find out where a candidate stands, you just ask your agent. Need to know which departments exist? Ask. Need to check if the API is working right now? Just ask. Your AI client handles the heavy lifting: listing all active job openings or finding a specific candidate's full history, including their contact details and professional titles. Everything flows through this single point of access on Vinkius. It turns complex HR operations into simple dialogue.

Your agent acts as your dedicated coordinator. You can manage applications by advancing top talent to the next interview stage or marking records as rejected with specific reasons. This eliminates manual data entry, letting you focus entirely on hiring people.

## Tools

### advance_application
Moves a candidate's application to the next stage in the pipeline.

### create_candidate
Adds an entirely new person into your system with their name and company.

### get_api_status
Checks if the connection between your account and the MCP is working correctly.

### get_candidate_details
Pulls up all existing information about a specific candidate record.

### get_job_details
Retrieves deep metadata for any single, active job opening.

### list_applications
Generates a list of all submitted job applications for review.

### list_candidates
Provides an inventory of every candidate currently in the system.

### list_departments
Lists all existing departments within your company structure.

### list_open_jobs
Shows all currently active and open job postings across the company.

### list_offices
Retrieves a list of physical office locations.

### reject_application
Marks a candidate's application as rejected, requiring you to specify a reason code.

### update_candidate
Modifies specific data points for an existing candidate profile.

## Prompt Examples

**Prompt:** 
```
Find candidate with email 'candidate@example.com' and show their status.
```

**Response:** 
```
I've located the candidate record for 'candidate@example.com' (ID: can_123). They are currently in the 'Technical Interview' stage for the 'Senior Engineer' role. Would you like to see their feedback history?
```

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

**Response:** 
```
Scanning jobs... I found 5 active openings in Engineering: 'Full Stack Dev' (ID: job_401), 'Site Reliability Engineer' (ID: job_402), and 3 others. Which one should I provide details for?
```

**Prompt:** 
```
Advance application ID 'app_987' to the next stage.
```

**Response:** 
```
Action complete! Application 'app_987' has been advanced to the 'Onsite Interview' stage. The hiring team has been notified of the stage change in Greenhouse.
```

## Capabilities

### Manage Candidate Records
Create new candidate profiles and modify existing information like contact details or current company titles.

### Track Job Openings
Retrieve metadata for all active job roles, including which department owns the opening and who the hiring team is.

### Audit Application Statuses
List all submitted applications or get detailed information on a specific candidate's journey through the hiring pipeline.

### Identify Company Structure
Retrieve complete lists of company departments and office locations to coordinate global recruitment efforts.

### Workflow Actioning
Move an applicant instantly, advancing them to the next interview stage or formally rejecting their application with a required reason.

## Use Cases

### Need to update a candidate's company name.
A recruiter finds an old record for Jane Doe and needs her current employer listed. Instead of manually finding the profile, they ask their agent to run `update_candidate` on Jane Doe's ID with the new company name.

### Reviewing all jobs in a specific area.
A hiring manager needs to see every open role within 'Engineering'. They prompt the agent using `list_open_jobs`, which immediately returns all relevant job titles and IDs for review.

### Closing out a stalled application.
An applicant hasn't responded in weeks. The recruiter asks to run `reject_application` on the specific ID, ensuring that the rejection is logged with an official reason code before closing the record.

### Initial data gathering for a new hire.
A hiring manager wants to know what resources are available. They ask their agent to run `list_departments` and `list_offices` simultaneously, getting all structural data needed for the job description.

## Benefits

- You instantly know who's in the system. Use `list_candidates` or `list_applications` to pull full lists, giving you a complete view of your talent pool at a glance.
- Keep track of every single job opening without leaving your chat. Call `list_open_jobs` and get detailed metadata for any role using `get_job_details`.
- Update candidate information quickly. If John Smith changes his employer, just run `update_candidate` instead of logging into the web portal.
- Control the workflow directly. Use `advance_application` to move a promising applicant right to the next stage or call `reject_application` when necessary.
- Coordinate logistics effortlessly. Need to know if you have an office in Berlin? Run `list_offices`. Want to see which department owns that role? Call `list_departments`.

## How It Works

The bottom line is that you talk to your hiring system instead of navigating its menus.

1. Subscribe to this MCP and retrieve your Greenhouse API Key.
2. Provide a valid User ID for auditing purposes, then connect it through any compatible client like Cursor or Claude.
3. Tell your agent what you need—for instance, 'List all open jobs in Engineering'—and the agent executes the action.

## Frequently Asked Questions

**How do I list all my current job openings using list_open_jobs?**
Simply tell your agent, 'List all open jobs.' The tool runs `list_open_jobs` and returns a comprehensive list of every active role available for hiring.

**Can I update candidate details with update_candidate?**
Yes. You can use `update_candidate` to modify specific profile information, like changing an applicant's phone number or updating their current job title in the system record.

**What is the best way to move a candidate forward using advance_application?**
You tell your agent which application ID needs advancing. The tool executes `advance_application`, and the candidate's status immediately updates within Greenhouse.

**Why do I need get_api_status? **
It checks the connection between this MCP and your Greenhouse account. Running `get_api_status` ensures that any command you send to your agent will actually execute correctly.

**How do I use `create_candidate` when I find a promising lead outside of Greenhouse?**
It adds a new candidate record right away. You just need to provide their first name, last name, and company affiliation for the tool to create the profile successfully.

**What details does `reject_application` require to process an application rejection?**
It requires a specific reason ID. Providing this ensures that every rejected application is properly documented within Greenhouse's system, which is key for auditing and tracking trends.

**How can I get comprehensive data about one person using `get_candidate_details`?**
It pulls all available records tied to a single individual. This lets you review their complete history and current status without having to manually search through the entire ATS.

**If I need a summary of recent submissions, how do I use `list_applications`?**
This tool pulls a list of job applications across various roles. It's great for getting an immediate overview of who applied and which specific positions they were interested in.

**What is the 'On-Behalf-Of' requirement?**
Greenhouse requires write operations to be associated with a specific User ID for auditing. This ID is passed in the header to identify who performed the action.

**Can I search for candidates by email?**
Yes! Use the `list_candidates` tool and provide the `email` parameter to find a specific person's recruitment record and history.

**How do I advance an application to the next stage?**
The `advance_application` tool requires a valid application ID. It will automatically move the candidate to the next sequential stage defined in your job's workflow.