Skip to main content
Glama
README.md
# 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

A3.9/5.0

Scored across 8 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues