使用说明
杠杆MCP服务器
MCP服务器,用于与 Lever.co API该服务器允许AI代理列出候选人、检索候选人详细信息、创建工作申请和发送有趣的主题电子邮件。
🎯 特性
此Python MCP服务器提供:
- 杠杆候选人和职位申请管理
- Gmail与OAuth 2.0和浏览器代理轮询的集成
- 主题HTML电子邮件模板(生日、海盗、太空、中世纪、超级英雄、热带)
- 完全兼容MCP协议
🚀 快速入门:本地OAuth测试
想在部署之前在本地测试OAuth流吗?请参阅:
- QUICKSTART_LOCAL.md -5分钟快速启动
- 位置_测试.md -全面的测试指南
- 测试_ SUMMARY.md -建造了什么以及为什么
先决条件
- Python 3.10或更高版本
- 杠杆API密钥(从杠杆设置>集成和API>API证书生成)
安装
- 克隆此存储库。
- 创建虚拟环境:
python3 -m venv .venv source .venv/bin/activate - 安装依赖项:
pip install -e .
配置
服务器需要以下环境变量:
杠杆API配置
LEVER_API_KEY:您的Lever API钥匙。LEVER_API_BASE_URL(可选):API的基本URL。默认为https://api.lever.co/v1.
Gmail OAuth配置(可选)
对于电子邮件发送功能:
GOOGLE_CLIENT_ID:您的Google OAuth客户端IDGOOGLE_CLIENT_SECRET:您的Google OAuth客户端密码OAUTH_REDIRECT_URI(可选):OAuth重定向URI。默认为http://localhost:8080/oauth/callbackTOKEN_STORAGE_PATH(可选):存储OAuth令牌的路径。默认为./.oauth_tokens
看 OAUTH_SETUP.md 有关Gmail OAuth设置的详细说明。
沙盒环境
要使用Lever沙盒环境,请执行以下操作:
- 集
LEVER_API_BASE_URL到https://api.sandbox.lever.co/v1. - 使用从沙盒帐户生成的API密钥。
用法
要运行服务器,请执行以下操作:
./run.sh
使用反重力
要将此服务器连接到Antigravity,您需要将其添加到MCP设置配置中。
- 打开您的反重力MCP设置(通常
~/.antigravity/mcp_settings.json或通过UI)。 - 添加以下配置。 重要提示: 使用绝对路径。
{
"mcpServers": {
"lever": {
"command": "/bin/bash",
"args": ["/Users/andrew/focus/ai/apps/lever-mcp/run.sh"],
"env": {
"LEVER_API_KEY": "your_api_key_here",
"LEVER_API_BASE_URL": "https://api.sandbox.lever.co/v1"
}
}
}
}
注:更换 /Users/andrew/focus/ai/apps/lever-mcp/run.sh 与您的实际绝对路径 run.sh 文件。
验证和日志
触发提示: 连接后,您可以询问Antigravity:
“你能列出Lever当前的求职者吗?”
查看日志:
- MCP服务器日志: 服务器登录到
stderr在Antigravity中,这些日志通常在MCP服务器日志面板或应用程序日志中可见。 - 应用程序日志: 检查
lever_mcp.log如果您配置了文件日志记录,否则它们将显示在服务器的控制台输出中。
手动运行(HTTP传输)
如果你更喜欢在终端中手动运行服务器并让Antigravity连接到它,你可以使用HTTP传输。
流式HTTP(推荐)
流式http传输是web部署的现代推荐方法:
-
以流式HTTP模式运行服务器:
./run_http.sh这将启动端口8005上的服务器。
-
配置Antigravity以连接到正在运行的服务器:
{ "mcpServers": { "lever": { "url": "http://localhost:8005/mcp" } } }
SSE(传统)
SSE传输已弃用,但仍受支持:
-
在SSE模式下运行服务器:
./run_sse.sh这将启动端口8005上的服务器。
-
配置Antigravity以连接到正在运行的服务器:
{ "mcpServers": { "lever": { "url": "http://localhost:8005/sse" } } }
注意:手动运行时,必须确保 LEVER_API_KEY 在启动服务器之前,在终端会话中设置环境变量。
可用工具
杠杆API工具
list_candidates
列出您Lever帐户中的候选人。
参数:
limit(可选):要返回的候选人的最大数量(默认值:10)offset(可选):分页偏移令牌
例子:
List the first 20 candidates from Lever
get_candidate
检索特定候选人的详细信息。
参数:
candidateId(必填):要检索的候选人的ID
例子:
Get candidate details for ID abc123
create_requisition
在Lever中创建新的工作申请。
参数:
title(必填):职位名称location(必填):工作地点team(必填):团队名称
例子:
Create a requisition for Senior Software Engineer in San Francisco for the Engineering team
电子邮件工具
send_email
通过带有OAuth 2.0身份验证的Gmail API生成并发送主题电子邮件。
参数:
to(必填):收件人电子邮件地址theme(必填):电子邮件主题-以下之一:birthday,pirate,space,medieval,superhero,tropicalsubject(可选):自定义主题行(如果未提供,则使用默认主题)cc(可选):CC电子邮件地址(逗号分隔)bcc(可选):密件抄送电子邮件地址(逗号分隔)access_token(可选):来自代理的OAuth访问令牌(代表流)user_id(可选):令牌存储的用户标识符(默认值:“default”)
退货:
- 如果已通过身份验证:电子邮件发送状态和消息ID
- 如果未通过验证:用于手动发送的Gmail API有效负载
可用主题:
- 🎉 生日:丰富多彩的生日庆祝电子邮件
- 🏴☠️ 海盗:来自公海的海盗主题信息
- 🚀 太空:来自外太空的宇宙问候
- ⚔️ 中世纪的:中世纪风格的皇家公告
- 🦸 超级英雄:超级英雄警报,大胆造型
- 🌴 热带的:热带天堂氛围
例子:
Send a birthday themed email to friend@example.com
OAuth集成:
- 使用Token:提供
access_token立即发送电子邮件的参数 - 无令牌:返回用于手动发送的Gmail API有效负载
- 看 OAUTH_SETUP.md 有关设置说明
get_oauth_url
获取用于访问Gmail的OAuth授权URL。
参数:
user_id(可选):用户标识符(默认值:“默认”)
退货:
- 授权URL和分步说明
例子:
Get Gmail OAuth authorization URL
exchange_oauth_code
交换访问令牌的OAuth授权码。
参数:
code(必填):来自OAuth回调的授权码user_id(可选):用户标识符(默认值:“默认”)
退货:
- 令牌信息和确认
例子:
Exchange OAuth code abc123xyz for access token
check_oauth_status
检查OAuth身份验证状态。
参数:
user_id(可选):用户标识符(默认值:“默认”)
退货:
- 身份验证状态和配置信息
例子:
Check Gmail OAuth status
注: 电子邮件工具不需要Lever API证书,可以独立使用。