job-application-automator


Namejob-application-automator JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/jobautomator/job-application-automator
SummaryAutomated job application form extraction and filling with MCP integration
upload_time2025-07-17 05:23:05
maintainerNone
docs_urlNone
authorJob Automator Team
requires_python>=3.10
licenseMIT
keywords mcp job-application automation claude-desktop form-filling playwright web-automation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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 Install

```bash
pip install job-application-automator
job-automator-setup
```

**Restart Claude Desktop** and you're ready to go!

## ✨ 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
```bash
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`

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

### 3. Install Browser Dependencies
```bash
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
```bash
git clone https://github.com/jobautomator/job-application-automator
cd job-application-automator
pip install -e .
job-automator-setup
```

### Run Tests
```bash
pytest tests/
```

### Project Structure
```
job_application_automator/
├── __init__.py              # Package initialization
├── mcp_server.py            # Main MCP server
├── form_extractor.py        # Form extraction logic
├── form_filler.py           # Form filling automation  
├── setup_claude.py          # Claude Desktop setup
└── mcp/                     # MCP configuration files
    ├── __init__.py
    └── ...
```

## 🤝 Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) 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](LICENSE) file for details.

## 🆘 Support

- **Issues**: [GitHub Issues](https://github.com/jobautomator/job-application-automator/issues)
- **Discussions**: [GitHub Discussions](https://github.com/jobautomator/job-application-automator/discussions)
- **Email**: contact@jobautomator.dev

## 🙏 Acknowledgments

- [Model Context Protocol](https://modelcontextprotocol.io/) by Anthropic
- [Playwright](https://playwright.dev/) for browser automation
- [Undetected Playwright](https://github.com/kaliiiiiiiiii/undetected-playwright) for stealth automation
- [FastMCP](https://github.com/modelcontextprotocol/python-sdk) for MCP server framework

## 📈 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!*

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jobautomator/job-application-automator",
    "name": "job-application-automator",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "mcp, job-application, automation, claude-desktop, form-filling, playwright, web-automation",
    "author": "Job Automator Team",
    "author_email": "Job Automator Team <contact@jobautomator.dev>",
    "download_url": "https://files.pythonhosted.org/packages/ad/2c/aa8557eed943eb77e899b08b1448dab7859f820d30048d08e03d17e03c28/job_application_automator-1.0.0.tar.gz",
    "platform": null,
    "description": "# Job Application Automator\r\n\r\n\ud83e\udd16 **Automated job application form extraction and filling with Claude Desktop integration via Model Context Protocol (MCP).**\r\n\r\nStreamline your job search by automating form data extraction and filling while maintaining full control over submissions.\r\n\r\n## \ud83d\ude80 Quick Install\r\n\r\n```bash\r\npip install job-application-automator\r\njob-automator-setup\r\n```\r\n\r\n**Restart Claude Desktop** and you're ready to go!\r\n\r\n## \u2728 Features\r\n\r\n- **\ud83d\udd0d Form Extraction**: Automatically extract form fields from any job posting URL\r\n- **\ud83d\udcdd Intelligent Form Filling**: Fill forms with your information while keeping browser open for review\r\n- **\ud83d\udcbc Cover Letter Generation**: Create personalized cover letters for each application  \r\n- **\ud83d\udcca Applied Jobs Tracking**: Beautiful dashboard showing all your job applications\r\n- **\ud83d\udd12 Privacy First**: All processing happens locally on your machine\r\n- **\ud83d\udee1\ufe0f Stealth Mode**: Uses undetected browser automation to avoid bot detection\r\n- **\ud83c\udfaf Claude Desktop Integration**: Seamless MCP integration with Claude Desktop\r\n\r\n## \ud83d\udca1 Usage\r\n\r\nAfter installation, interact with Claude Desktop using natural language:\r\n\r\n### Extract Form Data\r\n```\r\nExtract form fields from https://company.com/careers/software-engineer\r\n```\r\n\r\n### Fill Job Application\r\n```\r\nFill the job application form with my information:\r\n- Name: John Doe\r\n- Email: john@example.com\r\n- Phone: +1-555-0123\r\n- Resume: /path/to/resume.pdf\r\n```\r\n\r\n### View Application History\r\n```\r\nShow me my applied jobs dashboard\r\n```\r\n\r\n### Generate Cover Letter\r\n```\r\nCreate a cover letter for the Software Engineer position at TechCorp\r\n```\r\n\r\n## \ud83d\udee0\ufe0f What's Included\r\n\r\n### MCP Tools Available in Claude Desktop:\r\n\r\n1. **`simple_form_extraction`**\r\n   - Extracts form structure from job posting URLs\r\n   - Identifies required fields, field types, and form layout\r\n   - Handles complex forms (Greenhouse, Workday, etc.)\r\n\r\n2. **`simple_form_filling`** \r\n   - Fills forms with your provided information\r\n   - Opens browser for manual review before submission\r\n   - Supports file uploads (resume, cover letter)\r\n\r\n3. **`create_cover_letter`**\r\n   - Generates personalized cover letters\r\n   - Saves with timestamp and company info\r\n   - Customizable templates\r\n\r\n4. **`get_applied_jobs`**\r\n   - Shows beautiful dashboard of all applications\r\n   - Tracks application dates and statuses\r\n   - Export capabilities\r\n\r\n5. **`health_check`**\r\n   - Monitor server status\r\n   - Check browser automation health\r\n   - Debug connection issues\r\n\r\n## \ud83d\udd27 Manual Setup\r\n\r\nIf you prefer manual configuration:\r\n\r\n### 1. Install Package\r\n```bash\r\npip install job-application-automator\r\n```\r\n\r\n### 2. Configure Claude Desktop\r\n\r\nAdd to your Claude Desktop config file:\r\n\r\n**Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`  \r\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`  \r\n**Linux**: `~/.config/claude/claude_desktop_config.json`\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"job-automator\": {\r\n      \"command\": \"job-automator-mcp\"\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### 3. Install Browser Dependencies\r\n```bash\r\nplaywright install chromium\r\n```\r\n\r\n### 4. Restart Claude Desktop\r\n\r\n## \ud83d\udccb System Requirements\r\n\r\n- **Python**: 3.10 or higher\r\n- **Operating System**: Windows, macOS, or Linux  \r\n- **Claude Desktop**: Latest version\r\n- **Memory**: 4GB+ RAM recommended\r\n- **Storage**: 500MB for dependencies\r\n\r\n## \ud83d\udd12 Privacy & Security\r\n\r\n- **Local Processing**: All form data stays on your machine\r\n- **No Data Collection**: Nothing is sent to external services  \r\n- **Manual Control**: You review every form before submission\r\n- **Stealth Browsing**: Avoids website bot detection\r\n- **Secure Storage**: Temporary files are automatically cleaned up\r\n\r\n## \ud83c\udfd7\ufe0f Architecture\r\n\r\n```\r\nClaude Desktop \u2190\u2192 MCP Server \u2190\u2192 Form Modules \u2190\u2192 Browser Automation\r\n     \u2191                \u2191              \u2191              \u2191\r\n  User Chat      FastMCP        Extractor/      Playwright\r\n               Protocol       Filler Logic    (Undetected)\r\n```\r\n\r\n**How it works:**\r\n1. You ask Claude to extract or fill a form\r\n2. Claude calls the appropriate MCP tool\r\n3. MCP server delegates to form automation modules  \r\n4. Browser automation handles the web interaction\r\n5. Results are returned to you through Claude\r\n\r\n## \ud83d\ude80 Example Workflow\r\n\r\n1. **Find Job Posting**\r\n   ```\r\n   \"Extract form data from https://greenhouse.io/company/job/apply\"\r\n   ```\r\n\r\n2. **Review Extracted Fields**\r\n   Claude shows you all the form fields that were found\r\n\r\n3. **Fill Application**\r\n   ```\r\n   \"Fill the form with my information:\r\n   Name: Jane Smith\r\n   Email: jane@example.com\r\n   Phone: +1-555-0123\r\n   Resume: C:\\Documents\\resume.pdf\"\r\n   ```\r\n\r\n4. **Review & Submit**\r\n   Browser opens with form pre-filled - you review and submit manually\r\n\r\n5. **Track Application**\r\n   ```\r\n   \"Show my job applications dashboard\"\r\n   ```\r\n\r\n## \ud83d\udee0\ufe0f Development\r\n\r\n### Local Development Setup\r\n```bash\r\ngit clone https://github.com/jobautomator/job-application-automator\r\ncd job-application-automator\r\npip install -e .\r\njob-automator-setup\r\n```\r\n\r\n### Run Tests\r\n```bash\r\npytest tests/\r\n```\r\n\r\n### Project Structure\r\n```\r\njob_application_automator/\r\n\u251c\u2500\u2500 __init__.py              # Package initialization\r\n\u251c\u2500\u2500 mcp_server.py            # Main MCP server\r\n\u251c\u2500\u2500 form_extractor.py        # Form extraction logic\r\n\u251c\u2500\u2500 form_filler.py           # Form filling automation  \r\n\u251c\u2500\u2500 setup_claude.py          # Claude Desktop setup\r\n\u2514\u2500\u2500 mcp/                     # MCP configuration files\r\n    \u251c\u2500\u2500 __init__.py\r\n    \u2514\u2500\u2500 ...\r\n```\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\r\n\r\n### Areas We Need Help With:\r\n- Additional job board integrations\r\n- UI/UX improvements for the dashboard\r\n- Performance optimizations\r\n- Documentation improvements\r\n- Test coverage expansion\r\n\r\n## \ud83d\udcc4 License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## \ud83c\udd98 Support\r\n\r\n- **Issues**: [GitHub Issues](https://github.com/jobautomator/job-application-automator/issues)\r\n- **Discussions**: [GitHub Discussions](https://github.com/jobautomator/job-application-automator/discussions)\r\n- **Email**: contact@jobautomator.dev\r\n\r\n## \ud83d\ude4f Acknowledgments\r\n\r\n- [Model Context Protocol](https://modelcontextprotocol.io/) by Anthropic\r\n- [Playwright](https://playwright.dev/) for browser automation\r\n- [Undetected Playwright](https://github.com/kaliiiiiiiiii/undetected-playwright) for stealth automation\r\n- [FastMCP](https://github.com/modelcontextprotocol/python-sdk) for MCP server framework\r\n\r\n## \ud83d\udcc8 Roadmap\r\n\r\n- [ ] **v1.1**: GUI application for non-technical users\r\n- [ ] **v1.2**: Integration with more job boards (Indeed, LinkedIn, etc.)\r\n- [ ] **v1.3**: AI-powered application optimization suggestions\r\n- [ ] **v1.4**: Team collaboration features\r\n- [ ] **v1.5**: Mobile app support\r\n\r\n---\r\n\r\n**Made with \u2764\ufe0f for job seekers everywhere**\r\n\r\n*Automate the tedious, focus on what matters - landing your dream job!*\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Automated job application form extraction and filling with MCP integration",
    "version": "1.0.0",
    "project_urls": {
        "Documentation": "https://github.com/jobautomator/job-application-automator#readme",
        "Homepage": "https://github.com/jobautomator/job-application-automator",
        "Issues": "https://github.com/jobautomator/job-application-automator/issues",
        "Repository": "https://github.com/jobautomator/job-application-automator"
    },
    "split_keywords": [
        "mcp",
        " job-application",
        " automation",
        " claude-desktop",
        " form-filling",
        " playwright",
        " web-automation"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "39b62255d8d02e12f08f501a4edb7218d8cde14cea4fb90b6c802955b97611ef",
                "md5": "f4ff915ea8abace59fb832d6388eccfe",
                "sha256": "ef70a352d3d49f566cc883b80b7bd4d6503d1c179b98000f98be22b485c61299"
            },
            "downloads": -1,
            "filename": "job_application_automator-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f4ff915ea8abace59fb832d6388eccfe",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 57817,
            "upload_time": "2025-07-17T05:23:04",
            "upload_time_iso_8601": "2025-07-17T05:23:04.001809Z",
            "url": "https://files.pythonhosted.org/packages/39/b6/2255d8d02e12f08f501a4edb7218d8cde14cea4fb90b6c802955b97611ef/job_application_automator-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ad2caa8557eed943eb77e899b08b1448dab7859f820d30048d08e03d17e03c28",
                "md5": "fa4979ae76f22e8a5f8f903046ad8e6c",
                "sha256": "79ea7657e964bbdf242e5fa2b692c35e5c6081733653ce18c8f0a7a76278081c"
            },
            "downloads": -1,
            "filename": "job_application_automator-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "fa4979ae76f22e8a5f8f903046ad8e6c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 87891,
            "upload_time": "2025-07-17T05:23:05",
            "upload_time_iso_8601": "2025-07-17T05:23:05.588571Z",
            "url": "https://files.pythonhosted.org/packages/ad/2c/aa8557eed943eb77e899b08b1448dab7859f820d30048d08e03d17e03c28/job_application_automator-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-17 05:23:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jobautomator",
    "github_project": "job-application-automator",
    "github_not_found": true,
    "lcname": "job-application-automator"
}
        
Elapsed time: 2.13912s