# Ninehire MCP

> Ninehire connects your AI client directly to your Applicant Tracking System. Use it to pull job details, list active postings, check candidate profiles, and track interview evaluations—all through natural conversation. Your agent acts like a dedicated HR coordinator right in your chat window.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** applicant-tracking, talent-acquisition, hiring-pipeline, job-posting, candidate-management, interview-scheduling

## Description

**Ninehire connects your AI client directly to your Applicant Tracking System (ATS).** You'll manage your entire hiring pipeline through natural conversation, ditching the dashboard clicks. Your agent acts like an HR coordinator right in your chat window.

### Getting Started and Setup Checks
When you connect, you can first run a `check_api_health` query to make sure the connection to Ninehire is active and working correctly. You'll also pull a summary of the account profile connected via `get_authenticated_user_info`. Beyond basic checks, you've got visibility into your company structure: you can retrieve all departments set up in the company using `list_organization_departments`, list internal teams with `list_hiring_teams`, and see what automated webhooks are configured on your account via `list_configured_webhooks`.

### Managing Job Openings
Need an overview of what's open? You can get a list of every active job opening using `list_job_postings`; you can even filter that list by employment type or group title. If you want to know where the company hires people, you can see all physical and remote locations through `list_job_locations`. Once you nail down a specific Job ID, you'll pull all the detailed requirements and metadata for that single posting using `get_job_details`. To understand how many people are applying for that job, you'll get a list of candidates who applied to that specific opening via `list_job_applicants`.

### Tracking Candidates Through the Pipeline
When you have an applicant, you can pull their full history and all personal details using `get_applicant_profile`. You'll check their performance by pulling evaluation records, including interview scores and detailed feedback comments for a specific person using `list_candidate_evaluations`. If you need to add someone who just walked in the door, you can manually register them as a new candidate into the system with just their name and email via `register_new_applicant`.

### Deep Dive Functionality
Your agent lets you look up everything that matters. You can list all job openings and filter by type or group title using `list_job_postings`. If you're dealing with a specific role, you get the requirements for one ID via `get_job_details`, or you can see everyone who applied to it through `list_job_applicants`. For any single candidate, you pull their full history using `get_applicant_profile` and then check out every interview score and comment record they have with `list_candidate_evaluations`. You'll also get a list of all departments that exist in the company via `list_organization_departments`, or see which internal teams are set up through `list_hiring_teams`.

You don't gotta jump between tabs. You just talk to your agent, and it handles pulling the job data, tracking candidate profiles, and reviewing interview scores against all the rules you set.

## Tools

### check_api_health
Verifies if the connection to your Ninehire account is currently active and working.

### register_new_applicant
Adds a completely new candidate record manually, requiring just their name and email address.

### get_applicant_profile
Retrieves all personal details and history for one specific candidate.

### get_job_details
Fetches all specific requirements and metadata for one job posting ID.

### get_authenticated_user_info
Pulls a summary of the account profile currently connected to the server.

### list_job_applicants
Provides a list of candidates who have applied to a specific job opening.

### list_organization_departments
Retrieves a list of all departments currently set up in the company structure.

### list_candidate_evaluations
Gets a list of interview scores, feedback comments, and evaluation records for an applicant.

### list_job_postings
Lists every current job opening, allowing filtering by type or group title.

### list_job_locations
Displays all physical and remote locations where the organization hires employees.

### list_hiring_teams
Lists all internal departments or teams configured within the organization.

### list_configured_webhooks
Displays which automated webhooks are currently set up on your Ninehire account.

## Prompt Examples

**Prompt:** 
```
List all active job postings in Ninehire.
```

**Response:** 
```
I've retrieved your jobs. You have 4 active roles including 'Senior Software Engineer' and 'Marketing Lead'. Which one would you like to see applicant counts for?
```

**Prompt:** 
```
Show me all candidates who applied for the Senior Developer position.
```

**Response:** 
```
I found 23 applicants for the Senior Developer position (Job ID: j_4821). 8 candidates are in the screening stage, 5 passed the technical assessment, 3 are scheduled for final interviews, and 7 were rejected. The most recent applicant is Elena Vasquez, submitted 2 hours ago.
```

**Prompt:** 
```
List all departments and hiring locations configured in my organization.
```

**Response:** 
```
Your organization has 5 departments: Engineering (12 open roles), Marketing (3 open roles), Sales (7 open roles), Design (2 open roles), and Operations (1 open role). Hiring locations include San Francisco (HQ), London, Berlin, and Remote. Engineering has the most active postings across all locations.
```

## Capabilities

### List Job Postings
Get an overview of all active job openings, filtering by title or employment type.

### Retrieve Job Details
Fetch specific requirements and information for a single job opening ID.

### List Candidates & Applicants
Pull a list of all candidates associated with a specific job or within the system.

### Get Candidate Profiles
Retrieve full historical data and profile details for one named candidate.

### Check Evaluations
Pull interview scores, feedback comments, and evaluation records for a specific applicant.

### Onboard New Applicants
Register new candidates into the system using essential information like name and email.

## Use Cases

### The 'Quick Status Check'
A hiring manager needs to know who applied for the Senior Developer role and what their current stage is. Instead of navigating deep into the ATS dashboard, they ask: 'Show me applicants for job ID j_4821.' The agent runs `list_job_applicants`, providing a summarized list showing counts in screening, assessment, and final interview stages.

### The Overflow Candidate
A recruiter gets a great CV from an external source that hasn't been processed. They don't have time to log into the ATS. They simply tell their agent: 'Add this person, Jane Smith, jane@email.com.' The agent immediately uses `register_new_applicant` to get them logged and ready for review.

### The Performance Review
A team lead needs to compare the technical assessment scores of two candidates (Alice and Bob) before a final decision. They ask the agent to pull evaluations, triggering `list_candidate_evaluations` for both names. The results come back with structured scores and comments.

### The Department Audit
An HR specialist needs to verify if a new location (like Berlin) has been added or if the 'Finance' department exists before posting roles there. They ask the agent to list locations (`list_job_locations`) and departments (`list_organization_departments`), getting an immediate, authoritative answer.

## Benefits

- Stop switching apps. Use `list_job_postings` to see all active roles and `get_job_details` for requirements—all without leaving your chat interface. It keeps context centralized.
- Track candidate status instantly. Instead of digging through dashboards, ask the agent to 'List applicants for Marketing' (`list_job_applicants`) to get a real-time headcount.
- Make better decisions with `list_candidate_evaluations`. You can pull all interview scores and comments in one go, letting you compare feedback across multiple candidates.
- Streamline onboarding. If a candidate sends an email outside the system, use `register_new_applicant` to log them immediately so they don't fall through the cracks.
- Know your internal structure instantly. Use `list_organization_departments` or `list_hiring_teams` to verify which groups have open roles without guessing.

## How It Works

The bottom line is: your AI client treats the entire Ninehire backend like a set of conversational tools, eliminating manual dashboard navigation.

1. Subscribe to this server on Vinkius. Then, input your Ninehire API Key in the integration settings.
2. Ask your AI client a question—for example, 'List all open roles for Engineering.'
3. The agent calls the appropriate tool (like `list_job_postings`), gets the data payload, and presents it to you directly in the chat.

## Frequently Asked Questions

**How do I use the Ninehire MCP Server to find all open jobs?**
Run `list_job_postings` and specify any filters you need, like job group or employment type. This gives you a quick list of active roles across your organization.

**What is the best way to check candidate evaluation scores using Ninehire MCP Server?**
Use `list_candidate_evaluations`. You just need to provide the candidate's identifier, and the server returns all recorded interview scores and comments.

**Can I add a new candidate manually with the Ninehire MCP Server?**
Yes. Run `register_new_applicant` by providing the person's name and email address. The agent handles logging them into your system right away.

**Does the Ninehire MCP Server tell me which hiring teams exist?**
You can list internal groups using `list_hiring_teams`. This tool shows all departments and teams that currently have roles configured in Ninehire.

**How do I use the `get_authenticated_user_info` tool to verify my connection details?**
It immediately returns your current account profile data. This confirms your API key works and shows essential user metadata without needing complex queries or manual login steps.

**What tools should I use if I need to monitor system events using `list_configured_webhooks`?**
You must use the `list_configured_webhooks` tool. It displays every active webhook set up on your Ninehire account, letting your AI client know exactly which event streams it can listen for.

**How can I troubleshoot connectivity issues using the `check_api_health` tool?**
Running `check_api_health` provides an immediate status confirmation for the entire Ninehire API. If this fails, the problem is likely with your credentials or network connection, not the AI client itself.

**What tools do I use to get a list of all available job locations using `list_job_locations`?**
The `list_job_locations` tool outputs every distinct hiring location configured in Ninehire. This is critical for mapping where applicants are based versus the actual role site.

**Can my AI automatically find the evaluations for a specific applicant?**
Yes! Use the `list_candidate_evaluations` tool with the Applicant ID. Your agent will respond with complete metadata for all feedback scores and comments from the interview process in seconds.

**How do I find my Ninehire API Key?**
Log in to Ninehire, navigate to **Settings** > **External Service Integration** > **Data** > **API**, and click 'Issue API Key' to generate your unique secret token.

**Can I register a new applicant via the AI?**
Absolutely. Use the `register_new_applicant` tool. Provide the candidate metadata and the Job ID, and the agent will add the record to your ATS pipeline immediately.