Skip to main content

Automated job application form extraction, filling, and job matching with dual MCP server integration and smart prerequisites detection

Project description

Job Application Automator

๐Ÿค– Automated job application form extraction and filling with Claude Desktop integration via Model Context Protocol (MCP).

Streamline your job search by automating form data extraction and filling while maintaining full control over submissions.

๐Ÿš€ Quick Start

Simple 2-step process for any user:

# Step 1: Install from PyPI
pip install job-application-automator

# Step 2: Setup Claude Desktop
job-automator-setup

That's it! Users get:

  • โœ… All dependencies automatically installed
  • โœ… Playwright browsers configured
  • โœ… Claude Desktop MCP integration set up
  • โœ… Cross-platform Unicode compatibility
  • โœ… Professional package distribution

Restart Claude Desktop and you're ready to go!

๐Ÿ“‹ Prerequisites

๐Ÿš€ Alternative Installation Methods

Option 1: From PyPI (Recommended)

pip install job-application-automator
job-automator-setup

Option 2: From Git Repository

git clone https://github.com/username/job-application-automator.git
cd job-application-automator
python scripts/quick_setup.py

Option 3: Direct Install

pip install git+https://github.com/username/job-application-automator.git
job-automator-setup

โœจ Features

  • ๐Ÿ” Form Extraction: Automatically extract form fields from any job posting URL
  • ๐Ÿ“ Intelligent Form Filling: Fill forms with your information while keeping browser open for review
  • ๐Ÿ’ผ Cover Letter Generation: Create personalized cover letters for each application
  • ๐Ÿ“Š Applied Jobs Tracking: Beautiful dashboard showing all your job applications
  • ๐Ÿ”’ Privacy First: All processing happens locally on your machine
  • ๐Ÿ›ก๏ธ Stealth Mode: Uses undetected browser automation to avoid bot detection
  • ๐ŸŽฏ Claude Desktop Integration: Seamless MCP integration with Claude Desktop

๐Ÿ’ก Usage

After installation, interact with Claude Desktop using natural language:

Extract Form Data

Extract form fields from https://company.com/careers/software-engineer

Fill Job Application

Fill the job application form with my information:
- Name: John Doe
- Email: john@example.com
- Phone: +1-555-0123
- Resume: /path/to/resume.pdf

View Application History

Show me my applied jobs dashboard

Generate Cover Letter

Create a cover letter for the Software Engineer position at TechCorp

๐Ÿ› ๏ธ What's Included

MCP Tools Available in Claude Desktop:

  1. simple_form_extraction

    • Extracts form structure from job posting URLs
    • Identifies required fields, field types, and form layout
    • Handles complex forms (Greenhouse, Workday, etc.)
  2. simple_form_filling

    • Fills forms with your provided information
    • Opens browser for manual review before submission
    • Supports file uploads (resume, cover letter)
  3. create_cover_letter

    • Generates personalized cover letters
    • Saves with timestamp and company info
    • Customizable templates
  4. get_applied_jobs

    • Shows beautiful dashboard of all applications
    • Tracks application dates and statuses
    • Export capabilities
  5. health_check

    • Monitor server status
    • Check browser automation health
    • Debug connection issues

๐Ÿ”ง Manual Setup

If you prefer manual configuration:

1. Install Package

pip install job-application-automator

2. Configure Claude Desktop

Add to your Claude Desktop config file:

Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json

{
  "mcpServers": {
    "job-automator": {
      "command": "job-automator-mcp"
    }
  }
}

3. Install Browser Dependencies

playwright install chromium

4. Restart Claude Desktop

๐Ÿ“‹ System Requirements

  • Python: 3.10 or higher
  • Operating System: Windows, macOS, or Linux
  • Claude Desktop: Latest version
  • Memory: 4GB+ RAM recommended
  • Storage: 500MB for dependencies

๐Ÿ”’ Privacy & Security

  • Local Processing: All form data stays on your machine
  • No Data Collection: Nothing is sent to external services
  • Manual Control: You review every form before submission
  • Stealth Browsing: Avoids website bot detection
  • Secure Storage: Temporary files are automatically cleaned up

๐Ÿ—๏ธ Architecture

Claude Desktop โ†โ†’ MCP Server โ†โ†’ Form Modules โ†โ†’ Browser Automation
     โ†‘                โ†‘              โ†‘              โ†‘
  User Chat      FastMCP        Extractor/      Playwright
               Protocol       Filler Logic    (Undetected)

How it works:

  1. You ask Claude to extract or fill a form
  2. Claude calls the appropriate MCP tool
  3. MCP server delegates to form automation modules
  4. Browser automation handles the web interaction
  5. Results are returned to you through Claude

๐Ÿš€ Example Workflow

  1. Find Job Posting

    "Extract form data from https://greenhouse.io/company/job/apply"
    
  2. Review Extracted Fields Claude shows you all the form fields that were found

  3. Fill Application

    "Fill the form with my information:
    Name: Jane Smith
    Email: jane@example.com
    Phone: +1-555-0123
    Resume: C:\Documents\resume.pdf"
    
  4. Review & Submit Browser opens with form pre-filled - you review and submit manually

  5. Track Application

    "Show my job applications dashboard"
    

๐Ÿ› ๏ธ Development

Local Development Setup

git clone https://github.com/jobautomator/job-application-automator
cd job-application-automator
pip install -e .
job-automator-setup

๐Ÿงช Installation Verification

Check if everything is working:

# Check prerequisites
python scripts/check_prerequisites.py

# Test package installation
python -c "import job_application_automator; print('โœ… Package installed')"

# Test MCP server
python job_application_automator/mcp_server.py

Troubleshooting

If you encounter issues:

  1. Check prerequisites: python scripts/check_prerequisites.py
  2. Verify Claude config: See examples/claude_config_example.json
  3. Manual setup: Follow detailed instructions in INSTALL.md
  4. Get help: Check GitHub Issues

๐Ÿ—‚๏ธ Repository Structure

job-application-automator/
โ”œโ”€โ”€ .github/workflows/       # CI/CD workflows
โ”œโ”€โ”€ .gitignore              # Git ignore rules
โ”œโ”€โ”€ README.md               # This file
โ”œโ”€โ”€ INSTALL.md              # Detailed installation guide
โ”œโ”€โ”€ LICENSE                 # MIT License
โ”œโ”€โ”€ pyproject.toml          # Package configuration
โ”œโ”€โ”€ requirements.txt        # Python dependencies
โ”œโ”€โ”€ job_application_automator/  # Main package
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ mcp_server.py       # FastMCP server
โ”‚   โ”œโ”€โ”€ form_extractor.py   # Form extraction engine
โ”‚   โ”œโ”€โ”€ form_filler.py      # Form filling automation
โ”‚   โ”œโ”€โ”€ setup_claude.py     # Claude Desktop setup
โ”‚   โ””โ”€โ”€ mcp_config/         # MCP configuration
โ”œโ”€โ”€ scripts/                # Installation scripts
โ”‚   โ”œโ”€โ”€ quick_setup.py      # Cross-platform setup
โ”‚   โ”œโ”€โ”€ install.sh          # Linux/macOS setup
โ”‚   โ”œโ”€โ”€ install.bat         # Windows setup
โ”‚   โ””โ”€โ”€ check_prerequisites.py  # Requirements check
โ””โ”€โ”€ examples/               # Example files
    โ”œโ”€โ”€ claude_config_example.json
    โ”œโ”€โ”€ sample_form_data.json
    โ””โ”€โ”€ README.md

Run Tests

python -m pytest tests/ -v

Development Setup

git clone https://github.com/username/job-application-automator.git
cd job-application-automator
pip install -e .

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

Areas We Need Help With:

  • Additional job board integrations
  • UI/UX improvements for the dashboard
  • Performance optimizations
  • Documentation improvements
  • Test coverage expansion

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ†˜ Support

๐Ÿ™ Acknowledgments

๐Ÿ“ˆ Roadmap

  • v1.1: GUI application for non-technical users
  • v1.2: Integration with more job boards (Indeed, LinkedIn, etc.)
  • v1.3: AI-powered application optimization suggestions
  • v1.4: Team collaboration features
  • v1.5: Mobile app support

Made with โค๏ธ for job seekers everywhere

Automate the tedious, focus on what matters - landing your dream job!

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

job_application_automator-1.2.7.tar.gz (64.6 kB view details)

Uploaded Source

Built Distribution

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

job_application_automator-1.2.7-py3-none-any.whl (63.9 kB view details)

Uploaded Python 3

File details

Details for the file job_application_automator-1.2.7.tar.gz.

File metadata

File hashes

Hashes for job_application_automator-1.2.7.tar.gz
Algorithm Hash digest
SHA256 a737d293cea348d45fbe5c1f865e79f524ff054b08a6f89f288336aa47fa3e94
MD5 289818d24617fa4acc7554218e908b3a
BLAKE2b-256 e492021ea3139db8b44658f02a21653e0ce6f14323d026c24a8cc51153b55a17

See more details on using hashes here.

File details

Details for the file job_application_automator-1.2.7-py3-none-any.whl.

File metadata

File hashes

Hashes for job_application_automator-1.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8af6b7f3f69163ecef4a8ccdb81279b0160d9f4c9f0a17be84a8ff774699bf4b
MD5 feafabd3f9ca963a7b08004e0124d23a
BLAKE2b-256 855970e5d406bd2edf89ab1e31ec483cfe8a226946392631b73d7a3290b809cf

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