Allows searching for job postings on Greenhouse job boards to help users find and track career opportunities.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Personal Productivity MCP ServerShow me my application pipeline statistics"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Personal Productivity MCP Server
A multi-domain Model Context Protocol (MCP) server providing Claude with tools to manage different aspects of personal productivity.
Overview
This MCP server provides tools across three domains:
Career (Phase 1 - Current): Job search automation, application tracking, resume analysis
Fitness (Phase 3 - Planned): Health tracking, workout management, progress analysis
Family (Phase 4 - Planned): Kids billing, expense tracking, Math Academy monitoring
Current Features (Phase 1)
Career Domain Tools
Read Tools:
career_search_greenhouse- Search jobs on Greenhouse job boardscareer_search_lever- Search jobs on Lever job boardscareer_get_applications- Get tracked applications with optional status filter
Write Tools:
career_track_application- Track a new job applicationcareer_update_application- Update application status and notes
Analysis Tools:
career_analyze_pipeline- Get statistics about your application pipeline
Quick Start
Prerequisites
Docker and Docker Compose
Claude Desktop or compatible MCP client
Setup
Clone the repository:
Copy the environment template:
Build and run with Docker:
Connecting to Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Or for local development without Docker:
Usage Examples
Searching for Jobs
Claude will use the career_search_greenhouse and career_search_lever tools to find available positions.
Tracking Applications
Viewing Your Pipeline
Project Structure
Development
Local Development Setup
Create a virtual environment:
Install dependencies:
Install Playwright browsers:
Run the server:
Running Tests
Code Formatting
Configuration
Environment variables (see .env.example):
MCP_SERVER_PORT- Server port (default: 3000)LOG_LEVEL- Logging level (default: INFO)DATABASE_PATH- Path to SQLite databaseCACHE_TTL_JOBS- Job listing cache TTL in seconds (default: 3600)PLAYWRIGHT_HEADLESS- Run Playwright in headless mode (default: true)
Roadmap
Phase 1: Basic career domain with Greenhouse/Lever scrapers
Phase 2: Complete career domain with resume analysis
Phase 3: Fitness domain with health tracking
Phase 4: Family domain with billing automation
Phase 5: Polish and monitoring
Architecture Decisions
Why Docker?
Avoids local Python environment issues (especially with Playwright)
Consistent deployment across different machines
Easy to run in home lab environment
Why SQLite?
Simple file-based storage, no separate database server needed
Perfect for single-user personal productivity use case
Easy backups (just copy the database file)
Why MCP?
Native integration with Claude
Structured tool interface with validation
Async-first design for scraping and API calls
Contributing
This is a personal project, but feel free to fork and adapt for your own needs!
License
MIT