leads-mcp
# leads-mcp
Lead generation MCP server for AI agents. Find emails, verify contacts, enrich profiles, and search prospects using Hunter.io, Apollo.io, and Abstract API.
**BYOK (Bring Your Own Keys)** — you supply your own API keys. No data leaves your machine except direct API calls to the services you configure.
## Install
```bash
npx -y leads-mcp
```
### Claude Code
```bash
claude mcp add leads-mcp -- npx -y leads-mcp
```
### Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"leads-mcp": {
"command": "npx",
"args": ["-y", "leads-mcp"],
"env": {
"HUNTER_API_KEY": "your-hunter-key",
"APOLLO_API_KEY": "your-apollo-key",
"ABSTRACT_API_KEY": "your-abstract-key"
}
}
}
}
```
### Cursor
Add to `~/.cursor/mcp.json` with the same config format as above.
## API Keys
All keys are optional — tools gracefully tell you which key is needed when you try to use them.
| Key | Service | Get it at |
|-----|---------|-----------|
| `HUNTER_API_KEY` | Hunter.io — email finding & verification | https://hunter.io/api-keys |
| `APOLLO_API_KEY` | Apollo.io — person/company enrichment & search | https://app.apollo.io/#/settings/integrations/api |
| `ABSTRACT_API_KEY` | Abstract API — company enrichment | https://app.abstractapi.com/api/company-enrichment |
## Tools
### find-email
Find someone's email address given their name and company domain.
**Params:** `firstName`, `lastName`, `domain`
**API:** Hunter.io | **Key:** `HUNTER_API_KEY`
### verify-email
Verify an email address for deliverability — MX records, SMTP, disposable, catch-all.
**Params:** `email`
**API:** Hunter.io | **Key:** `HUNTER_API_KEY`
### domain-search
Find all email addresses associated with a company domain.
**Params:** `domain`, `type?`, `department?`, `seniority?`, `limit?`
**API:** Hunter.io | **Key:** `HUNTER_API_KEY`
### enrich-person
Get a full professional profile — title, company, social links, phone.
**Params:** `firstName?`, `lastName?`, `email?`, `domain?`, `linkedinUrl?`
**API:** Apollo.io | **Key:** `APOLLO_API_KEY`
### enrich-company
Get comprehensive company intelligence — industry, size, funding, tech stack.
**Params:** `domain`
**API:** Apollo.io + Abstract API | **Key:** `APOLLO_API_KEY` or `ABSTRACT_API_KEY`
### search-people
Search for people by job title, company, location, and seniority.
**Params:** `personTitles?`, `organizationName?`, `locations?`, `seniorities?`, `limit?`
**API:** Apollo.io | **Key:** `APOLLO_API_KEY`
### search-companies
Search for companies by name, industry, location, and employee count.
**Params:** `query?`, `industries?`, `locations?`, `employeeRanges?`, `limit?`
**API:** Apollo.io | **Key:** `APOLLO_API_KEY`
### lead-report
Generate a comprehensive lead report combining all available APIs. Uses `Promise.allSettled` for partial results.
**Params:** `firstName`, `lastName`, `domain`
**API:** All available | **Key:** Any configured key
## Example Prompts
- "Find the email for John Smith at stripe.com"
- "Verify if hello@example.com is deliverable"
- "Find all engineering contacts at openai.com"
- "Get the full profile for the CEO of anthropic.com"
- "Tell me everything about acme.com"
- "Search for CTOs at startups in San Francisco"
- "Find B2B SaaS companies with 50-200 employees"
- "Generate a full lead report for Jane Doe at tesla.com"
## Development
```bash
git clone <repo-url>
cd leads-mcp
pnpm install
pnpm dev # Run with tsx (hot reload)
pnpm build # Compile TypeScript
pnpm start # Run compiled JS
```
## License
MIT
TDQS
Scored across 8 tools
Each tool targets a distinct action: email lookup, email verification, domain email listing, person/company enrichment, people/company search, and combined reporting. No two tools overlap in purpose, and the descriptions clearly differentiate them.
Most tools follow a clear verb_noun pattern (find-email, verify-email, enrich-person, search-people, etc.), but 'domain-search' and 'lead-report' are noun-heavy deviations. The overall hyphenated lowercase style is consistent, so only minor inconsistency exists.
With 8 tools, the set is well-scoped for a lead generation/enrichment server. Each tool serves a clear function without redundancy, and the count falls comfortably within the ideal range.
The tools cover the full lead generation workflow: discovery (search-people, search-companies), email lookup (find-email, domain-search), verification (verify-email), enrichment (enrich-person, enrich-company), and synthesis (lead-report). No major gaps or dead ends are apparent.