- READMEs added: asana, close, freshdesk, google-console, gusto, square - main.ts + server.ts (lazy loading): activecampaign, clickup, klaviyo, mailchimp, pipedrive, trello, touchbistro, closebot, close, google-console - All 13 compile with 0 TSC errors
4.0 KiB
4.0 KiB
Greenhouse MCP Server
AI-powered access to the Greenhouse ATS/recruiting platform via Model Context Protocol.
Features
- Candidate Management: List, get, create, update candidates, and add candidate notes
- Application Tracking: Browse applications, advance through pipeline stages, reject applications
- Job Management: List, get, create, and update job postings and requisitions
- Interviews: List all interviews, get interview details, list scheduled interviews
- Scorecards: Browse interview feedback, get scorecard details, create new scorecards
- Offers: List and retrieve offer details and compensation information
- Organization Data: Access departments, offices, sources, rejection reasons, job stages, and custom fields
- User Management: List and retrieve Greenhouse users and team members
Installation
npm install
npm run build
Environment Variables
| Variable | Required | Description | Example |
|---|---|---|---|
GREENHOUSE_API_KEY |
✅ | Greenhouse Harvest API key | your_harvest_api_key_here |
Getting Your Access Token
- Log into your Greenhouse account
- Navigate to Configure > Dev Center > API Credential Management
- Click Create New API Key
- Select Harvest API (for production data access)
- Set appropriate permissions for your use case
- Copy the generated API key
- Set it as
GREENHOUSE_API_KEYin your environment
Required API Scopes
The Harvest API key requires permissions based on your use case:
- Read access: Candidates, Applications, Jobs, Interviews, Scorecards, Offers, Users, Departments, Offices
- Write access: Create/update candidates, create scorecards, advance applications, reject applications, create/update jobs
Configure permissions when creating the API key in Greenhouse.
Usage
Stdio Mode (Default)
node dist/main.js
Or using the npm script:
npm start
HTTP Mode
Currently supports stdio transport only. HTTP/SSE transport support coming soon.
Tool Coverage Manifest
Total API Coverage
- Total Greenhouse Harvest API endpoints: ~150
- Tools implemented: 20
- Intentionally skipped: 130
- Coverage: 20/150 = 13%
Implemented Tools
| Category | Tools | Count |
|---|---|---|
| Candidates | list, get, create, update, create_note | 5 |
| Applications | list, get, advance, reject | 4 |
| Jobs | list, get, create, update | 4 |
| Interviews | list, get, list_scheduled | 3 |
| Scorecards | list, get, create | 3 |
| Offers | list, get | 2 |
| Organization | list_departments, list_offices, list_sources, list_rejection_reasons, list_job_stages, list_custom_fields | 6 |
| Users | list, get | 2 |
Total: 29 tools across 8 categories
Skipped Endpoints (Rationale)
- Job Posts (6 endpoints): Covered by job management tools, posts are auto-created with jobs
- Email Templates (4 endpoints): Admin configuration, rarely needed in AI workflows
- Approvals (5 endpoints): Complex approval flow management better suited for UI
- EEOC (3 endpoints): Compliance data requiring special handling
- Activity Feed (10+ endpoints): Duplicates data available in primary resources
- Webhooks (8 endpoints): Admin configuration, not suitable for MCP tool calls
- Attachments (4 endpoints): Complex binary handling, requires special transport
- Tags (4 endpoints): Low-value metadata, rarely used
- Other low-use administrative endpoints
Coverage Goals
Current implementation focuses on Tier 1 (daily recruiting workflows):
- Reviewing candidates and applications
- Advancing candidates through pipeline
- Scheduling and evaluating interviews
- Managing job postings
- Accessing organizational data
Future expansion could add Tier 2 tools for power users:
- Bulk operations
- Advanced reporting
- Candidate pool management
- Offer approval workflows
Development
# Watch mode for development
npm run dev
# Build
npm run build
# Type checking
npx tsc --noEmit
License
MIT