# Hunter MCP: an MCP server by Scalably

Canonical: https://scalably.io/mcp/hunter-mcp
Source: https://github.com/scalably-io/hunter-mcp
Registry: https://registry.modelcontextprotocol.io/v0.1/servers/io.scalably%2Fhunter-mcp/versions/1.0.0
Provenance: derived from `container/tools/hunter-mcp` at `3122d1c8` (2026-08-31) in the private ScalablyAI repository
Integrity: sha256 of the raw README served at https://scalably.io/mcp/hunter-mcp.md is 48a652e82625516e4cdc33252afb35688eaf2f89da8f7f688bdd4397c7bd1362. Verify: curl -s https://scalably.io/mcp/hunter-mcp.md | shasum -a 256
This is the machine-readable representation of the page at the canonical URL. Same facts, denser format.

## Direct answer
Hunter.io MCP: domain search, email finder and verifier, enrichment, discovery, leads. 11 tools.

Contact discovery and email verification in link-building and outreach pipelines.

## Install
- Claude Code: `claude mcp add hunter -e HUNTER_API_KEY=your-key -- npx -y @scalably-io/hunter-mcp`
- Codex: `codex mcp add hunter --env HUNTER_API_KEY=your-key -- npx -y @scalably-io/hunter-mcp`
- Claude Desktop: download `hunter-mcp.mcpb` from the latest GitHub release and open it.

## Environment
| Variable | Required | Secret | Purpose |
|---|---|---|---|
| `HUNTER_API_KEY` | yes | yes | Hunter.io API key from hunter.io/api-keys |
| `HUNTER_API_BASE` | no | no | Hunter API base URL, default https://api.hunter.io/v2 |
| `HUNTER_TIMEOUT_MS` | no | no | Per-request timeout in milliseconds, default 30000 |
| `HUNTER_RETRY_BASE_MS` | no | no | Base delay in milliseconds for the GET retry backoff, default 500 |

## Tools
| Tool | Description |
|---|---|
| `account_info` | Read the Hunter v2 account plan and exact current credit usage. |
| `domain_search` | Search Hunter v2 emails for one domain/company with current filters. |
| `email_finder` | Find and automatically verify the most likely professional email. |
| `email_verifier` | Verify one email address with Hunter v2. |
| `email_count` | Count Hunter email coverage for a domain/company without returning addresses. |
| `email_enrichment` | Enrich a person from an email address or LinkedIn handle. |
| `company_enrichment` | Enrich a company from its domain. |
| `combined_enrichment` | Enrich both a person and their company from one email. |
| `discover` | Use Hunter Discover v2 to find companies from structured or natural-language filters. |
| `create_lead` | Create one Hunter lead. This is a single-attempt mutation. |
| `list_leads` | List Hunter leads with current filters. |

## Setup
1. Create an API key at hunter.io/api-keys.
2. `create_lead` writes to your Hunter leads list and is the only non-read tool; the other 10 tools are read-only.

## Limits
Hunter's per-plan request quotas surface in `account_info`.

## Reply shape
Every tool returns plain JSON with `status` (`succeeded`, `partial`, `no_op`), `operation`, `summary`, `target`, `result`, `proof`, `warnings`, `recovery`. Failures throw a plain error string: `<code>: <message> <hint>`.

## Reliability
- CI: https://github.com/scalably-io/hunter-mcp/actions/workflows/validate.yml
- Release 1.0.0
- Verified 2026-08-31
- Each of ours started as an internal ScalablyAI MCP server. We stripped the internal envelope, the auth wrapper and client dispatch that only make sense inside our own platform, and kept the tool surface. Every release runs through a clean-install CI job, publishes under the io.scalably namespace with trusted publishing so no long-lived token ever leaves our CI, and registers on the official MCP registry.

## Related
- Also in outreach: [lemlist MCP (remote)](https://scalably.io/mcp/lemlist-mcp)
- Read more: [How to build an MCP server in TypeScript (the right way)](https://scalably.io/blog/mcp-server-typescript), [What is an MCP server? A clear explainer for developers](https://scalably.io/blog/what-is-an-mcp-server)
