Lever MCP服务器

一个用于与Lever.co API交互的MCP服务器,提供候选人管理、职位申请创建和主题邮件发送功能。

  • by napiergit
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 napiergit/lever-mcp

使用说明

杠杆MCP服务器

MCP服务器,用于与 Lever.co API该服务器允许AI代理列出候选人、检索候选人详细信息、创建工作申请和发送有趣的主题电子邮件。

🎯 特性

此Python MCP服务器提供:

  • 杠杆候选人和职位申请管理
  • Gmail与OAuth 2.0和浏览器代理轮询的集成
  • 主题HTML电子邮件模板(生日、海盗、太空、中世纪、超级英雄、热带)
  • 完全兼容MCP协议

🚀 快速入门:本地OAuth测试

想在部署之前在本地测试OAuth流吗?请参阅:

先决条件

  • Python 3.10或更高版本
  • 杠杆API密钥(从杠杆设置>集成和API>API证书生成)

安装

  1. 克隆此存储库。
  2. 创建虚拟环境:
    python3 -m venv .venv
    source .venv/bin/activate
    
  3. 安装依赖项:
    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客户端ID
  • GOOGLE_CLIENT_SECRET:您的Google OAuth客户端密码
  • OAUTH_REDIRECT_URI (可选):OAuth重定向URI。默认为 http://localhost:8080/oauth/callback
  • TOKEN_STORAGE_PATH (可选):存储OAuth令牌的路径。默认为 ./.oauth_tokens

看 OAUTH_SETUP.md 有关Gmail OAuth设置的详细说明。

沙盒环境

要使用Lever沙盒环境,请执行以下操作:

  1. 集 LEVER_API_BASE_URL 到 https://api.sandbox.lever.co/v1.
  2. 使用从沙盒帐户生成的API密钥。

用法

要运行服务器,请执行以下操作:

./run.sh

使用反重力

要将此服务器连接到Antigravity,您需要将其添加到MCP设置配置中。

  1. 打开您的反重力MCP设置(通常 ~/.antigravity/mcp_settings.json 或通过UI)。
  2. 添加以下配置。 重要提示: 使用绝对路径。
{
  "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部署的现代推荐方法:

  1. 以流式HTTP模式运行服务器:

    ./run_http.sh
    

    这将启动端口8005上的服务器。

  2. 配置Antigravity以连接到正在运行的服务器:

    {
      "mcpServers": {
        "lever": {
          "url": "http://localhost:8005/mcp"
        }
      }
    }
    

SSE(传统)

SSE传输已弃用,但仍受支持:

  1. 在SSE模式下运行服务器:

    ./run_sse.sh
    

    这将启动端口8005上的服务器。

  2. 配置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, tropical
  • subject (可选):自定义主题行(如果未提供,则使用默认主题)
  • 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证书,可以独立使用。