- Built from scratch: apollo, chargebee, datadog, greenhouse, lever, loom, pandadoc, salesloft, sendgrid, supabase, typeform, webflow, zoho-crm, twilio, reonomy - TSC fixes: brevo, google-console, housecall-pro, meta-ads, rippling, bamboohr, close, fieldedge, freshdesk, helpscout, toast, touchbistro, hubspot, notion, quickbooks, airtable, gusto, intercom, linear, monday, salesforce, shopify, square, wave, xero - Entry points added: close, touchbistro - All 65 active servers compile with 0 TypeScript errors - 4 specialty servers skipped (competitor-research, compliance-grc, n8n-apps, product-analytics)
138 lines
3.6 KiB
Markdown
138 lines
3.6 KiB
Markdown
# Greenhouse MCP Server
|
|
|
|
MCP server for the Greenhouse ATS (Applicant Tracking System) and recruiting platform, providing comprehensive tools for managing candidates, applications, jobs, offers, scorecards, and users.
|
|
|
|
## Features
|
|
|
|
- **Candidate Management** - Browse, create, and update candidate profiles
|
|
- **Application Tracking** - Track applications through hiring pipeline
|
|
- **Job Management** - Create and manage job postings
|
|
- **Offers** - Review and manage job offers
|
|
- **Scorecards** - Access interview evaluations
|
|
- **User Management** - Browse hiring team members
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
npm install
|
|
npm run build
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Set your Greenhouse API key as an environment variable:
|
|
|
|
```bash
|
|
export GREENHOUSE_API_KEY="your_api_key_here"
|
|
```
|
|
|
|
## Usage
|
|
|
|
Run the server:
|
|
|
|
```bash
|
|
npm start
|
|
# or
|
|
node dist/index.js
|
|
```
|
|
|
|
## Available Tools (18 total)
|
|
|
|
### Candidates (4 tools)
|
|
- `list_candidates` - Browse candidate database with pagination
|
|
- `get_candidate` - Get detailed candidate information
|
|
- `create_candidate` - Add new candidates
|
|
- `update_candidate` - Modify candidate details
|
|
|
|
### Applications (4 tools)
|
|
- `list_applications` - View applications across all jobs
|
|
- `get_application` - Get detailed application information
|
|
- `advance_stage` - Move application to next pipeline stage
|
|
- `reject_application` - Reject application with reason
|
|
|
|
### Jobs (4 tools)
|
|
- `list_jobs` - Browse all job postings
|
|
- `get_job` - Get detailed job configuration
|
|
- `create_job` - Create new job posting
|
|
- `update_job` - Modify job details
|
|
|
|
### Offers & Scorecards (4 tools)
|
|
- `list_offers` - Review job offers
|
|
- `get_offer` - Get detailed offer information
|
|
- `list_scorecards` - Browse interview scorecards
|
|
- `get_scorecard` - Get detailed interview feedback
|
|
|
|
### Users (2 tools)
|
|
- `list_users` - Browse team members
|
|
- `get_user` - Get user details
|
|
|
|
## API Coverage Manifest
|
|
|
|
**Total Greenhouse API Endpoints:** ~100+
|
|
**Implemented in this server:** 18
|
|
**Coverage:** ~18%
|
|
|
|
### Covered Areas:
|
|
- ✅ Candidate CRUD operations
|
|
- ✅ Application management and progression
|
|
- ✅ Job posting management
|
|
- ✅ Offer tracking
|
|
- ✅ Scorecard/interview feedback access
|
|
- ✅ User listing
|
|
|
|
### Not Yet Implemented:
|
|
- ⏳ Interview scheduling
|
|
- ⏳ Email templates
|
|
- ⏳ Custom fields management
|
|
- ⏳ Departments and offices CRUD
|
|
- ⏳ Job stages configuration
|
|
- ⏳ Rejection reasons
|
|
- ⏳ Activity feed
|
|
- ⏳ Tags management
|
|
- ⏳ Prospect pools
|
|
- ⏳ EEOC data
|
|
- ⏳ Approvals
|
|
- ⏳ Scheduled interviews
|
|
|
|
## Architecture
|
|
|
|
```
|
|
greenhouse/
|
|
├── src/
|
|
│ ├── index.ts # MCP server entry point
|
|
│ ├── client/
|
|
│ │ └── greenhouse-client.ts # API client with rate limiting
|
|
│ ├── tools/
|
|
│ │ ├── candidates.ts # Candidate tools
|
|
│ │ ├── applications.ts # Application tools
|
|
│ │ ├── jobs.ts # Job tools
|
|
│ │ ├── offers.ts # Offer & scorecard tools
|
|
│ │ └── users.ts # User tools
|
|
│ └── types/
|
|
│ └── index.ts # TypeScript interfaces
|
|
├── package.json
|
|
├── tsconfig.json
|
|
└── README.md
|
|
```
|
|
|
|
## Rate Limiting
|
|
|
|
The client implements automatic rate limiting:
|
|
- Max 10 concurrent requests
|
|
- Minimum 100ms between requests
|
|
- Automatic backoff on 429 responses
|
|
|
|
## Error Handling
|
|
|
|
The server provides detailed error messages for:
|
|
- Authentication failures (401)
|
|
- Permission issues (403)
|
|
- Resource not found (404)
|
|
- Validation errors (422)
|
|
- Rate limit exceeded (429)
|
|
- Server errors (500+)
|
|
|
|
## License
|
|
|
|
MIT
|