Job Outreach Mcp Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Job Outreach Mcp Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP server for automated job outreach that helps you find companies, discover contacts, generate personalized emails with AI, and track your outreach campaigns.
| Tool | Description |
|---|---|
search_companies | Find companies from job boards (Indeed) or add manually |
find_contacts | Add contacts with automatic email pattern generation and SMTP verification |
research_company | Scrape company websites for personalization data using AI |
add_job_posting | Track specific job postings you're applying to |
generate_email | AI-powered personalized email generation using Claude |
schedule_email | Smart scheduling for optimal delivery times (Tue-Thu, 9-11am) |
check_tracking | Monitor opens, clicks, and replies |
schedule_followup | Automatic follow-up email generation |
list_campaigns | Overview of all your outreach campaigns |
npm install cp data/config.example.json data/config.jsonEdit data/config.json with your credentials.
npm run buildEdit data/config.json:
{
"smtp": {
"host": "smtp.your-server.com",
"port": 587,
"user": "your-username",
"password": "your-password",
"from_email": "[email protected]"
},
"anthropic_api_key": "sk-ant-...",
"user_profile": {
"name": "Your Name",
"title": "Software Engineer",
"resume_summary": "Your background...",
"linkedin_url": "https://linkedin.com/in/you",
"highlights": ["5+ years experience", "TypeScript expert"]
},
"smart_schedule": {
"timezone": "America/Los_Angeles",
"preferred_days": [2, 3, 4],
"preferred_hours": [9, 10, 11]
},
"followup": {
"enabled": true,
"days_between": 5,
"max_followups": 2
},
"tracking_server": {
"port": 3847,
"base_url": "http://your-server:3847"
}
}Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
{
"mcpServers": {
"job-outreach": {
"command": "node",
"args": ["/path/to/auto-job-application/dist/index.js"]
}
}
}The email processor sends scheduled emails and handles tracking:
npm run processorRun this in the background to automatically send emails at their scheduled times.
search_companies({ query: "Stripe", source: "manual" }) find_contacts({
company_id: 1,
contacts: [{ name: "Jane Doe", title: "Recruiter" }]
}) research_company({ company_id: 1 }) add_job_posting({
company_id: 1,
title: "Senior Engineer",
url: "https://stripe.com/jobs/123"
}) generate_email({ contact_id: 1, job_posting_id: 1 }) schedule_email({ email_id: 1, smart_schedule: true }) check_tracking({ company_id: 1 }) schedule_followup({ email_id: 1 })src/
├── index.ts # MCP server entry point
├── processor.ts # Background email processor
├── types.ts # TypeScript types
├── tools/ # MCP tool implementations
│ ├── search-companies.ts
│ ├── find-contacts.ts
│ ├── research-company.ts
│ ├── generate-email.ts
│ ├── schedule-email.ts
│ ├── check-tracking.ts
│ ├── schedule-followup.ts
│ ├── list-campaigns.ts
│ └── add-job-posting.ts
├── services/ # Core services
│ ├── database.ts # SQLite operations
│ ├── config.ts # Configuration loader
│ ├── scraper.ts # Web scraping with Puppeteer
│ ├── email-patterns.ts # Email generation & SMTP verification
│ ├── llm.ts # Claude API integration
│ ├── scheduler.ts # Smart scheduling logic
│ └── smtp.ts # Email sending
└── tracking/
└── server.ts # Open/click tracking webhook serverThe tracking server provides:
For tracking to work, the tracking server must be accessible from the internet (use ngrok for testing or deploy the processor).
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.