Lever ATS MCP Server
Integrates Lever ATS with Claude Desktop to manage hiring pipelines through natural language, offering tools for candidate search, pipeline management, file and application handling, and advanced sourcing.
README
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
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-server
- Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On macOS/Linux
# or
venv\Scripts\activate # On Windows
- Install dependencies:
pip install -r requirements.txt
- Create
.envfile from the example:
cp .env.example .env
Note: 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_here
Claude Desktop Configuration
-
Open Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
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 executable - If 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_stages - Posting IDs are shown in
lever_list_open_roles - Archive reason IDs are shown in
lever_get_archive_reasons
Development
To modify or extend the server:
- The main server logic is in
server.py - API client with rate limiting is in
client.py - Add new tools by creating new
@mcp.tool()decorated functions - Follow 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
.envfile - Keep 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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。