B2B email finder and verification — no paid API subscriptions required.
Prospector is a Model Context Protocol (MCP) server that finds and verifies business email addresses. Unlike Hunter.io, Apollo.io, or Lusha, Prospector does its own DNS/SMTP verification and web scraping. Zero external API costs.
| Feature | Prospector | Hunter.io MCP | Apollo.io MCP | Lusha MCP |
|---|---|---|---|---|
| Self-contained verification | Yes | No (API wrapper) | No (API wrapper) | No (API wrapper) |
| External subscription required | No | $49-399/mo | $49-119/mo | Credits-based |
| Email finding | Yes | Yes | Yes | Bulk lookup only |
| SMTP verification | Yes | Via API | Via API | Via API |
| Catch-all detection | Yes | Via API | No | No |
| Website scraping | Yes | No | No | No |
| Pattern generation | Yes | Yes | No | No |
| Free tier | 50/day | 25/mo | Limited | Limited |
| Tools | 6 | 2 | 9-27 | 2 |
| Open source | Yes | Archived | Community forks | Minimal |
claude mcp add prospector -- npx prospector-mcpAdd to claude_desktop_config.json:
{
"mcpServers": {
"prospector": {
"command": "npx",
"args": ["prospector-mcp"]
}
}
}Add to your MCP settings:
{
"prospector": {
"command": "npx",
"args": ["prospector-mcp"]
}
}Verify if an email address is valid and deliverable. Performs DNS MX lookup, SMTP handshake (without sending email), catch-all detection, and disposable domain filtering. Returns a confidence score (0-100).
Input: { "email": "jane@acmecorp.com" }
Output: { "email": "jane@acmecorp.com", "status": "valid", "score": 95, "mx_host": "aspmx.l.google.com", ... }
Verify up to 25 emails in a single request. Efficient for cleaning outreach lists.
Input: { "emails": ["jane@acme.com", "fake@nowhere.xyz"] }
Output: { "summary": { "total": 2, "valid": 1, "invalid": 1 }, "results": [...] }
Find email addresses for a business. Scrapes their website for contact info, generates pattern-based candidates from a contact name, and SMTP-verifies everything it finds. This is your Hunter.io replacement.
Input: { "domain": "acmecorp.com", "contact_name": "Jane Smith" }
Output: { "best_email": "jane.smith@acmecorp.com", "confidence": 95, "results": [...] }
Quick check if a domain can receive email. Returns MX records and catch-all status. Does not count against your verification quota.
Input: { "domain": "acmecorp.com" }
Output: { "can_receive_email": true, "mx_host": "aspmx.l.google.com", "catch_all": false }
Check your current daily usage quota and remaining verifications.
- DNS MX Lookup — Checks if the domain has mail exchange records
- SMTP Handshake — Connects to the mail server and sends
RCPT TO:to check if the mailbox exists (no email is sent) - Catch-All Detection — Tests a random address to detect domains that accept all emails
- Web Scraping — Fetches the business website and contact pages, extracts email addresses and mailto: links
- Pattern Generation — Generates common email patterns (first.last@, flast@, etc.) from a contact name
- Confidence Scoring — Combines all signals into a 0-100 score
Prospector uses a simple daily quota system:
| Tier | Verifications/Day | Price |
|---|---|---|
| Free | 50 | $0 |
| Pro | 500 | $12/mo |
| Business | 2,000 | $29/mo |
Set your tier via environment variable:
PROSPECTOR_TIER=pro npx prospector-mcpFor remote deployment, Prospector includes an HTTP/SSE transport:
node src/http-server.js
# or
PROSPECTOR_PORT=8080 node src/http-server.jsEndpoints:
POST /mcp— MCP Streamable HTTP endpointGET /health— Health check with usage stats
- Node.js 18+
- Network access to port 25 (SMTP) for email verification
Note: Some hosting providers and corporate networks block outbound port 25. If SMTP verification returns "unknown" for all emails, check your network's firewall rules.
MIT