Lever ATS MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Lever ATS MCP ServerSearch for senior software engineers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Lever ATS MCP Server
An MCP (Model Context Protocol) server that integrates Lever ATS with Claude Desktop, enabling recruiters to manage their hiring pipeline through natural language conversations.
Features
This MCP server provides the following tools for Claude Desktop:
Core Tools
lever_search_candidates - Search for candidates by query, stage, etc.
lever_get_candidate - Get detailed information about a specific candidate
lever_add_note - Add notes to candidate profiles
lever_list_open_roles - List all published job postings
lever_find_candidates_for_role - Find candidates for a specific role
lever_archive_candidate - Archive candidates with reasons
lever_get_stages - Get all available pipeline stages
lever_get_archive_reasons - Get all archive reasons
Advanced Search & Sourcing Tools 🔍
lever_advanced_search - Multi-criteria search (companies, skills, locations, tags)
lever_find_by_company - Source candidates from specific companies
lever_find_internal_referrals_for_role - Find employees who can refer for a role
File Management Tools 📄
lever_list_files - List all files attached to a candidate (shows filename, type, size)
Application Management Tools 📋
lever_list_applications - List all applications for a candidate
lever_get_application - Get specific application details
lever_create_application - Apply candidate to a job posting
Related MCP server: Shortlist MCP Server
Prerequisites
Python 3.8+
Lever API key (get from Lever Settings > Integrations > API)
Claude Desktop installed
Installation
Clone or download this repository:
git clone https://github.com/yourusername/lever-mcp-server.git
cd lever-mcp-serverCreate a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On macOS/Linux
# or
venv\Scripts\activate # On WindowsInstall dependencies:
pip install -r requirements.txtCreate
.envfile from the example:
cp .env.example .envNote: The .env file should be in the project root directory, not in the mcp/ subdirectory.
Add your Lever API key to
.env:
LEVER_API_KEY=your_actual_api_key_hereClaude Desktop Configuration
Open Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the Lever MCP server configuration:
{
"mcpServers": {
"lever-ats": {
"command": "/path/to/your/venv/bin/python",
"args": ["/Users/sid.dani/Desktop/4. Coding Projects/lever mcp - claude code/mcp/server.py"],
"env": {
"LEVER_API_KEY": "your_lever_api_key_here"
}
}
}
}Important: Update the paths:
Replace
/path/to/your/venv/bin/pythonwith the actual path to your Python executableIf using system Python, you can use
python3or the full path
Restart Claude Desktop
Usage Examples
Once configured, you can use natural language in Claude Desktop:
Basic Searching
"Search for senior engineers"
"Find candidates from Google or Meta"
"Show me candidates in the phone screen stage"
"Quick find John Smith" (fast search for specific person)
"Quick find jane@example.com" (email-based quick search)
Advanced Search & Sourcing
"Use advanced search to find Python developers from Google or Meta in San Francisco"
"Search for candidates with skills: React, TypeScript, Node.js"
"Find senior level candidates with AWS and Python experience"
"Search candidates in London with remote work option"
"Find candidates from companies: Google, Meta, Apple"
"Find similar candidates to opportunity ID abc123"
"Who can refer candidates for the Workplace Experience Manager role?"
Managing Pipeline
"Get details for candidate [opportunity_id]"
"Add a note to candidate [opportunity_id]: Great technical skills"
Viewing Roles and Pipeline
"List all open roles"
"Show candidates for posting [posting_id]"
"What stages are available?"
Archiving
"Get archive reasons"
"Archive candidate [opportunity_id] with reason [reason_id]"
File Management
"List all files for candidate [opportunity_id]"
Application Management
"List all applications for candidate [opportunity_id]"
"Get application details [application_id] for candidate [opportunity_id]"
"Apply candidate [opportunity_id] to posting [posting_id]"
Important: Search Limitations
Name Search Constraints
The Lever API does not support text search queries. When searching by name:
The tool fetches candidates and filters locally
Search is limited to first 500 candidates to prevent timeouts
Results may be incomplete for common names
Best Practices for Finding Candidates
Use email search when possible - Most reliable method
"Search for john.doe@example.com"
"Find candidate with email jane@company.com"
Use the quick find tool for individual candidates
"Quick find Svetlana Krockova"
"Quick find john@example.com"
Limited to first 300 candidates but faster
Use tags and stages to narrow search
"Find candidates tagged 'senior' in 'phone screen' stage"
"Search 'new applicant' stage for recent candidates"
For company searches, use dedicated tools
"Find candidates from Google"
"Filter by companies Microsoft, Apple"
Troubleshooting
MCP Server Not Showing in Claude
Check that the config file is valid JSON
Ensure all paths are absolute paths
Restart Claude Desktop completely
API Errors
Verify your API key is correct
Check Lever API permissions
Ensure you're not hitting rate limits
Search Not Finding Candidates
Try using email instead of name
Use lever_quick_find_candidate for faster results
Check if candidate might be archived
Ensure exact spelling of names
Finding IDs
Opportunity IDs are shown in search results
Stage IDs can be found using
lever_get_stagesPosting IDs are shown in
lever_list_open_rolesArchive reason IDs are shown in
lever_get_archive_reasons
Development
To modify or extend the server:
The main server logic is in
server.pyAPI client with rate limiting is in
client.pyAdd new tools by creating new
@mcp.tool()decorated functionsFollow the existing pattern for error handling and response formatting
Rate Limiting
The server implements rate limiting at 8 requests/second (below Lever's 10 req/sec limit) to ensure reliable operation.
Security
Never commit your
.envfileKeep your API key secure
The server only has access to what your Lever API key permits
Support
For issues with:
Lever API: Check Lever API Documentation
MCP Protocol: See MCP Documentation
This server: Check the error messages in Claude Desktop
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/the-sid-dani/lever-mcp-integration'
If you have feedback or need assistance with the MCP directory API, please join our Discord server