Greenhouse MCP Server
A server implementation that enables interaction with Greenhouse's recruitment and applicant tracking system through Model Context Protocol, providing tools for job listings, candidate management, application filtering, and stage transitions.
README Documentation
Greenhouse MCP Server
A Model Context Protocol (MCP) server implementation for the Greenhouse Harvest API. This server provides tools for interacting with Greenhouse's recruitment and applicant tracking system through MCP.
Features
- List jobs with filtering options
- List candidates with pagination
- List applications with filtering
- Move applications between stages
- More features coming soon!
Local Development Setup
- Install dependencies:
npm install
- Configure environment variables:
- Copy
.env.example
to.env
- Add your Greenhouse API key to
.env
:
GREENHOUSE_API_KEY=your_api_key_here
- Build the project:
npm run build
- Start the server:
npm start
Deployment
GitHub Deployment (Recommended)
-
Fork or clone this repository to your GitHub account.
-
Set up GitHub repository secrets:
- Go to your repository's Settings > Secrets and variables > Actions
- Add a new secret named
GREENHOUSE_API_KEY
with your API key
-
Enable GitHub Actions:
- Go to your repository's Actions tab
- Enable workflows if they're not already enabled
-
Push your code to the main branch:
git add .
git commit -m "Initial commit"
git push origin main
-
The GitHub Actions workflow will automatically:
- Build and test your code
- Create a Docker image
- Push the image to GitHub Container Registry (ghcr.io)
-
To use the deployed container:
docker pull ghcr.io/your-username/mcp-greenhouse:latest
docker run -p 3001:3001 -e GREENHOUSE_API_KEY=your_api_key ghcr.io/your-username/mcp-greenhouse:latest
Using Docker Locally
-
Make sure you have Docker and Docker Compose installed on your system.
-
Configure your environment:
- Ensure your
.env
file contains the correctGREENHOUSE_API_KEY
- The
.env
file will be used by Docker Compose for environment variables
- Ensure your
-
Build and start the container:
docker-compose up -d
- Check the logs:
docker-compose logs -f
- Stop the server:
docker-compose down
Manual Deployment
For manual deployment on a server:
-
Install Node.js (v20 or later) on your server
-
Clone the repository:
git clone <repository-url>
cd mcp-greenhouse
- Install dependencies:
npm install
- Set up environment variables:
cp .env.example .env
# Edit .env with your Greenhouse API key
- Build the project:
npm run build
- Start with PM2 (recommended for production):
npm install -g pm2
pm2 start dist/index.js --name mcp-greenhouse
Available Tools
list_jobs
Lists all jobs in Greenhouse with optional status filtering.
Parameters:
status
(optional): Filter jobs by status ('open', 'closed', 'draft')
list_candidates
Lists candidates in Greenhouse with pagination support.
Parameters:
per_page
(optional): Number of candidates per pagepage
(optional): Page number
list_applications
Lists applications in Greenhouse with filtering options.
Parameters:
job_id
(optional): Filter by job IDstatus
(optional): Filter by application status
move_application
Moves an application to a different stage.
Parameters:
application_id
(required): ID of the application to movestage_id
(required): ID of the target stage
Health Check
The server provides a health check endpoint at /tools
that returns the list of available tools.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT