Email Tools

The Email category is the email-finding surface. get_email takes a person’s name and a company domain, generates every common pattern (first@, first.last@, flast@, f.last@, etc.), and verifies each candidate against the domain’s mail server via SMTP — no mail is actually sent.

Endpoint

https://gtm-tools.sh
TransportPath
MCP/mcp
REST/api/v0/{tool_name}

Tools

ToolTokensDescription
ping0Health check
get_email5Find a person’s professional email

get_email

ParameterTypeRequiredDescription
namestringYesFull name of the person (e.g. "Justin Mares")
domainstringYesCompany domain (e.g. "kettleandfire.com")
input_parametersobjectNoFree-form metadata echoed back in the response (useful for batch processing)
$curl -X POST https://api.gtm-tools.sh/api/v0/get_email \
> -H "Authorization: Bearer $GTM_TOOLS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "name": "Justin Mares",
> "domain": "kettleandfire.com",
> "input_parameters": {"source": "linkedin"}
> }'
1{
2 "email": "justin@kettleandfire.com",
3 "is_catch_all": false,
4 "domain": "kettleandfire.com",
5 "input_parameters": {"source": "linkedin"}
6}

Response fields

FieldTypeDescription
emailstring | nullThe verified deliverable email, or null if no candidate verified
is_catch_allbooleantrue if the domain accepts mail at any address — treat the result with caution
domainstringEchoes back the input domain
input_parametersobjectEchoes back the input metadata (for batch correlation)

When is_catch_all is true

Catch-all domains accept SMTP traffic for every local-part, so verification can’t disambiguate the true address. The response still returns the most likely candidate (by pattern frequency) but you should:

  • Treat the result as a hypothesis, not a certainty.
  • Cross-check with LinkedIn or a recent press mention before sending.
  • Consider whether deliverability is enough or you need an actual reply to confirm the address.

How verification works

get_email does three things:

  1. Generate candidates. Every common pattern is produced from the name (justin@, justinmares@, justin.mares@, j.mares@, jmares@, etc.).
  2. Verify via SMTP. Each candidate is probed against the domain’s MX records: the verifier speaks SMTP, issues RCPT TO, and observes the server’s response — without DATA, so no mail is ever sent.
  3. Return the first deliverable hit. Catch-all domains are detected by sending a known-bogus address; if it accepts, is_catch_all is set to true.

This adds 2–5 seconds of latency per call.

Next steps