Enables sending personalized cold emails with resume attachments via Gmail SMTP and saving draft emails to Gmail's Drafts folder for review before sending.
Parses job posting messages copied from WhatsApp to extract structured information including company name, role, email address, location, stipend, and requirements.
š§ Cold Email Assistant MCP Server
A Model Context Protocol (MCP) server that automates cold email outreach for job applications. Parse job postings, generate personalized emails using AI, and send or save them as drafts directly from Claude Desktop.
⨠Features
Job Posting Parser: Extract company name, role, email, location, stipend, and requirements from WhatsApp messages
Resume & Prompt Loading: Read resume and email templates from Word documents
Email Sending: Send personalized emails with resume attachments via Gmail
Draft Saving: Save emails to Gmail Drafts folder for review before sending
Resume Attachment: Automatically attach your resume (PDF) to all emails
š Quick Start
Prerequisites
Python 3.8+
Gmail account with App Password enabled
Claude Desktop app with MCP support
Resume file (
resume.pdf)Optional:
resume.docxandprompt.docxfor AI personalization
Installation
Gmail App Password Setup
Enable 2-Factor Authentication on your Google account
Go to Google App Passwords
Generate a new app password for "Mail"
Use this password in the MCP server (not your regular Gmail password)
Configure MCP Server
Add to your Claude Desktop config file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
Update Email Credentials
Edit the cold_email_mcp.py file and replace with your details:
š How to Use
1. Parse Job Postings
Copy a job posting from WhatsApp and ask Claude:
2. Load Your Resume
3. Generate Personalized Email
4. Save as Draft
5. Or Send Directly
š ļø Available Tools
parse_job_message
Extracts structured data from job postings:
Company name
Role/Position
Email address
Location
Stipend/Salary
Batch/Graduation year
Requirements
load_resume
Reads your resume from a .docx file for AI personalization
load_prompt
Loads custom email templates from a .docx file
send_email_tool
Sends email with resume attachment via Gmail SMTP
save_to_draft_tool
Saves email to Gmail Drafts folder for review
š Project Structure
š” Usage Tips
Review Drafts: Use
save_to_draft_toolto review emails before sendingCustomize Templates: Store your email template in
prompt.docxfor consistencyBatch Processing: Parse multiple job postings and save drafts for later review
AI Personalization: Let Claude analyze job requirements and tailor your email
Privacy: App passwords are safer than using your main Gmail password
š Security
Uses Gmail App Passwords (not your main password)
App Password is hardcoded in the script (keep file secure)
Consider using environment variables for production use
Emails sent over TLS-encrypted connection
š§ Troubleshooting
"Error: Resume file not found"
Ensure
resume.pdfis in the same directory as the scriptCheck the
resume_pathparameter
"Authentication failed"
Verify 2FA is enabled on your Google account
Generate a new App Password
Update
sender_passwordin the script
"Connection refused"
Check your internet connection
Verify Gmail SMTP/IMAP is enabled
Check firewall settings
Draft not appearing in Gmail
Wait a few seconds and refresh
Check "All Mail" folder
Ensure IMAP is enabled in Gmail settings
š§ Future Enhancements
Environment variable support for credentials
Support for multiple email providers
Email template library
Batch email sending with delays
Email tracking and follow-up reminders
Support for HTML email formatting
š Example Workflow
š¤ Contributing
Contributions, issues, and feature requests are welcome!
Made with ā¤ļø using FastMCP and Claude AI
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Automates cold email outreach for job applications by parsing job postings, generating personalized emails using AI, and sending them or saving as drafts in Gmail with resume attachments.