Skip to main content

Production-ready MCP server for Greenhouse, designed for recruiters and hiring teams

Project description

open-greenhouse-mcp

PyPI CI Python 3.10+ License: MIT

Production-ready MCP server for Greenhouse, designed for recruiters and hiring teams.

Most Greenhouse MCP servers mirror the API endpoint by endpoint. This one is built for recruiting teams: safe defaults, role-based profiles, and workflow tools that turn multi-step API operations into single actions.

Choose a Profile

Profile Tools Can write? Recommended for
read-only 97 No First-time setup, reporting, hiring managers
recruiter 121 Yes (safe ops) Day-to-day recruiting work
full 175 Yes (all) Admins, ops, advanced automation

Quick Start

pip install open-greenhouse-mcp

Add to your MCP client config (Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json, Cursor: Settings > MCP):

{
  "mcpServers": {
    "greenhouse": {
      "command": "open-greenhouse-mcp",
      "env": {
        "GREENHOUSE_API_KEY": "your-harvest-api-key",
        "GREENHOUSE_TOOL_PROFILE": "read-only"
      }
    }
  }
}

Start in read-only mode to validate connectivity and tool behaviour, then switch to recruiter or full when you need write access.

Your API key is in Greenhouse under Configure > Dev Center > API Credential Management.

What You Can Ask

  • "Show me the pipeline for our Senior Engineer role"
  • "Who needs my attention this week?"
  • "What are our conversion rates for the Backend Intern role?"
  • "Find Sarah Chen and pull up her resume"
  • "Which sources are actually producing hires?"
  • "Bulk reject everything inactive for 30+ days on the Account Manager role"

See more examples with full output.

See it in action

Demo

Safety

  • Access is limited by your Greenhouse API key permissions
  • Read-only profile is recommended for first setup
  • Destructive actions require explicit IDs — the server never infers targets
  • Write operations support audit attribution via GREENHOUSE_ON_BEHALF_OF
  • Bulk actions are rate-limited to stay within API limits

Compatibility

Client Status
Claude Desktop Supported
Claude Code Supported
Cursor Supported
Transport stdio
Python 3.10+

Startup

When the server starts, it logs its configuration:

open-greenhouse-mcp v0.3.0
Profile: recruiter | Tools: 121 | Writes: recruiter-safe | APIs: harvest, ingestion

What's Included

  • Recruiter workflow tools — 13 composite tools for pipeline views, analytics, search, and bulk operations
  • Harvest API coverage — 148 tools across candidates, applications, jobs, offers, interviews, and more
  • Job Board API — 13 tools for public job listings and application submission
  • Optional webhooks and ingestion — 14 tools for event-driven workflows and partner integrations

Reference

Composite Tools

High-level tools that combine multiple API calls into single operations.

Tool What it does
pipeline_summary Full pipeline view — candidates grouped by stage with names and days-in-stage
candidates_needing_action Find stale applications and interviews missing scorecards
stale_applications Applications with no activity for N days, sorted by stalest
pipeline_metrics Conversion rates, hire/rejection rates, time-in-stage per stage
source_effectiveness Which candidate sources produce the best hire rates
time_to_hire Average, median, min, max days from application to hire
bulk_reject Reject multiple applications in one call with rate-limit handling
bulk_tag Tag multiple candidates in one call
bulk_advance Advance multiple applications to next stage
search_candidates_by_name Find candidates by first or last name
search_candidates_by_email Look up a candidate by exact email
read_candidate_resume Download and return a candidate's most recent resume
download_attachment Download any Greenhouse attachment by URL

Profile Details

Recruiter includes all read tools, all composite workflows, and recruiter-safe writes: reject, advance, hire, move, tag, notes, attachments, interviews, prospects, and bulk operations. It excludes job creation, user management, custom field configuration, candidate deletion, and webhook management.

Read-only skips all write operations. GREENHOUSE_READ_ONLY=true also works as a shorthand.

Configuration

Variable Required Description
GREENHOUSE_API_KEY Yes* Harvest API key
GREENHOUSE_BOARD_TOKEN Yes* Job board URL slug. *At least one required
GREENHOUSE_TOOL_PROFILE No full (default), recruiter, or read-only
GREENHOUSE_ON_BEHALF_OF No Greenhouse user ID for write audit trail
GREENHOUSE_LOG_LEVEL No debug, info, warning (default), error
GREENHOUSE_LOG_FILE No Log file path (defaults to stderr)

Logging

Structured JSON logging for observability. Set GREENHOUSE_LOG_LEVEL=info to enable:

{"ts": "2026-04-14T12:31:58", "level": "info", "event": "api_call", "method": "GET", "url": "...", "status": 200, "latency_ms": 245.0}

More Documentation

Feedback

License

MIT License -- Ben Monopoli. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open_greenhouse_mcp-0.3.2.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

open_greenhouse_mcp-0.3.2-py3-none-any.whl (60.9 kB view details)

Uploaded Python 3

File details

Details for the file open_greenhouse_mcp-0.3.2.tar.gz.

File metadata

  • Download URL: open_greenhouse_mcp-0.3.2.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for open_greenhouse_mcp-0.3.2.tar.gz
Algorithm Hash digest
SHA256 5def5b648149d61dbcdd653124d2fd5ecfefc7620d7f649f4a0b6c0f8d07c4e1
MD5 db48b7bcfd32f36bf2b1b2d4822d8f2c
BLAKE2b-256 ac1aa6dba8c0d6aec9b7e65cc8fc4d108c84e1eb799cba08d37bd512e3491e31

See more details on using hashes here.

File details

Details for the file open_greenhouse_mcp-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for open_greenhouse_mcp-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f284b62e3061abd1cc4a7eb6e79afe74911f2a1b3e9e55223267b913a59c927e
MD5 4832efc055aeb823ecaa232ff404d152
BLAKE2b-256 395c2b1eb60b9efce4db646e8f3721a6228d4c935d753eb7ab054cc5d4a2a1f5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page