Hiring Mender Mcp

io.github.headlessherm-creator由 GitHub 账号 headlessherm-creator 发布v0.1.0更新于 Oct 29, 2026

Local MCP server: BambooHR + Greenhouse ATS write tools, one vocabulary.

已验证STDIO仅桌面效率与工作流商业与电商

概览

AI 生成的概览

本地 MCP 服务器,让助手用一套统一工具在 BambooHR 和 Greenhouse 中创建候选人、推进申请阶段并拒绝申请。

可以做什么
  • 在 BambooHR 或 Greenhouse 中创建候选人和申请,字段按平台区分
  • 将申请推进或移动到新的阶段或状态,Greenhouse 侧带防止过期移动的校验
  • 拒绝申请(仅 Greenhouse;BambooHR 通过带拒绝状态的推进操作实现)
  • 列出 BambooHR 有效的申请人状态 ID,或作为替代列出 Greenhouse 候选人
  • 列出候选人和申请,可按职位 ID 过滤
适用场景
适合需要让 AI 招聘流程写入申请人跟踪系统,又不想分别维护 BambooHR OAuth 与 Greenhouse Harvest 两套集成的场景。最适合已在使用这两个 ATS 平台之一的团队。
运行要求
需要 Node.js v18 或更高版本,并在本地安装该 npm 包。凭据通过环境变量提供:BAMBOOHR_COMPANY_DOMAIN 与 BAMBOOHR_ACCESS_TOKEN(具备 hiring:applications.write 权限的 OAuth 2.0 令牌)和/或 GREENHOUSE_HARVEST_API_TOKEN;只需设置所用平台的变量。需要能访问 ATS 接口的网络。
安装前请注意
该服务器会对 ATS 发起真实写入:创建候选人、移动申请和拒绝申请,都会改动招聘记录。它会用你提供的凭据把数据发送给 BambooHR 和 Greenhouse。Greenhouse Harvest 密钥在所启用的接口范围内是全有全无的,应创建范围最小的密钥;BambooHR 只申请 hiring:applications.write 权限,不要授予更广的人事数据访问。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Hiring Mender Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Hiring Mender MCP — BambooHR & Greenhouse ATS Write Tools for AI Agents

A free, local MCP server that creates candidates, advances/moves applications, and rejects candidates in BambooHR and Greenhouse — one consistent tool vocabulary across both platforms, so you don't hand-roll two different ATS integrations.

If you're building an AI recruiting workflow and keep rewriting the same candidate-creation/stage-advance logic for BambooHR's OAuth API and Greenhouse's Basic Auth Harvest API, this is the MCP server for that exact problem.

The problem this solves

BambooHR's Applicant Tracking API and Greenhouse's Harvest API both support real write operations — creating candidates, moving them through pipeline stages, rejecting applications — but they use completely different auth schemes (OAuth 2.0 bearer tokens vs. HTTP Basic Auth with a blank password) and completely different field names and endpoint shapes. There is no free, open-source tool that normalizes both behind one set of calls. This is that tool.

Tools

  • create_candidate — create a new candidate/application. BambooHR: firstName, lastName, jobId, etc. Greenhouse: first_name, last_name, job_id, etc.
  • advance_application — move a candidate to a new stage/status. BambooHR uses a numeric status ID (list_statuses first). Greenhouse uses from_stage_id (required, guards against stale moves) and to_stage_id/to_job_id.
  • reject_application — reject a candidate (Greenhouse only; BambooHR rejections go through advance_application with a rejection status ID).
  • list_statuses — list valid BambooHR applicant status IDs, or Greenhouse candidates for a job.
  • list_candidates — list candidates/applications, optionally filtered by job ID.

Setup

1. Install Node.js (v18+): https://nodejs.org

2. Clone and install:

bash
git clone https://github.com/headlessherm-creator/hiring-mender-mcp.gitcd hiring-mender-mcpnpm install

3. Get API credentials:

  • BambooHR: Requires an OAuth 2.0 access token with the hiring:applications.write scope. See BambooHR's OAuth docs.
  • Greenhouse: Requires a Harvest API key, created by a user with "Can manage ALL organization's API Credentials" permission, via Configure → Dev Center → API Credential Management. See Greenhouse's Harvest API docs.

4. Set environment variables:

bash
export BAMBOOHR_COMPANY_DOMAIN=yourcompanyexport BAMBOOHR_ACCESS_TOKEN=your_oauth_tokenexport GREENHOUSE_HARVEST_API_TOKEN=your_harvest_token

You only need to set the variables for the platform(s) you're using.

5. Point your MCP client at it:

json
{  "mcpServers": {    "hiring-mender": {      "command": "node",      "args": ["/path/to/hiring-mender-mcp/src/index.js"],      "env": {        "BAMBOOHR_COMPANY_DOMAIN": "yourcompany",        "BAMBOOHR_ACCESS_TOKEN": "your_oauth_token",        "GREENHOUSE_HARVEST_API_TOKEN": "your_harvest_token"      }    }  }}

Setup docs for common clients:

Security note

Greenhouse Harvest API keys are all-or-nothing within the scope you grant them — the key can access every endpoint type you enable when you create it, not just the ones this tool uses. Create a Harvest key with only the endpoints this tool needs (candidates, applications) rather than reusing a broad existing key. Same caution applies to the BambooHR OAuth scope — request only hiring:applications.write, not broader HR data access.

This server makes real network calls to BambooHR's and Greenhouse's APIs using the credentials you provide — unlike a fully local tool, your data does leave your machine, going directly to the ATS vendor you're already using. No third party, telemetry, or logging is involved.

Keywords

BambooHR MCP server, Greenhouse MCP server, ATS MCP server, applicant tracking system AI agent, recruiting automation MCP, HR MCP server, hiring pipeline automation, candidate management MCP, Claude MCP recruiting tools.

Related tools

Same local-first philosophy, different problems:

License

MIT

来源:README.md,提交 c16d086

工具

5

create_candidate

Create a new candidate/application in BambooHR or Greenhouse. For BambooHR, provide jobId and firstName/lastName/email/phoneNumber. For Greenhouse, provide job_id and first_name/last_name/email.

输入参数platform必填candidate必填

advance_application

Advance/move a candidate's application to a new stage/status. BambooHR: pass applicationId and statusId (use list_statuses first). Greenhouse: pass applicationId, fromStageId (required — guards against stale moves), and toStageId or toJobId.

输入参数toJobIdplatform必填statusIdtoStageIdfromStageIdapplicationId必填

reject_application

Reject a candidate's application. Greenhouse only (BambooHR uses advance_application with a rejection status ID instead).

输入参数platform必填applicationId必填rejectionNotesrejectionReasonId

list_statuses

List valid status/stage IDs for a platform. BambooHR: returns applicant statuses (needed before advance_application). Greenhouse: use the Greenhouse UI/Job API for stage IDs; this returns candidates instead as a practical substitute.

输入参数jobIdplatform必填

list_candidates

List candidates/applications, optionally filtered by job ID.

输入参数jobIdplatform必填

版本历史

1
  1. v0.1.0最新Oct 22, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分