Email checks for your agents.
Give an agent a specific verification tool, a bounded credit budget and structured evidence. Keep sending decisions in your application.
Two ways to integrate
Use the OpenAPI definition to generate a client or tool schema, or run the included MCP connector from the connector download. Both call the same authenticated API with the same credit accounting.
Download and unzip emailvalidly-mcp-1.0.0.zip
cd emailvalidly-mcp
npm ci
# Set EMAILVALIDLY_API_KEY using your secret manager.
# Optional: EMAILVALIDLY_MAX_CHECKS=25
npm startThe connector uses stdio transport. Configure your MCP host to launch Node with the absolute path to mcp.js and provide EMAILVALIDLY_API_KEY through its environment or secret settings. It requires a Growth or Pro API key once paid plans launch. It is not a public remote MCP endpoint.
A small, explicit tool contract
{
"name": "verify_email",
"arguments": {
"email": "person@example.com",
"deep": false,
"request_id": "crm-contact-unique-event-001"
}
}Reuse request_id when retrying the same operation. A fresh verification needs a fresh identifier. The connector defaults to a maximum of 100 unique checks per process and accepts an EMAILVALIDLY_MAX_CHECKS setting from 1 to 1,000. This is a local session guard; your account balance and server rate limits still apply.
Useful agent workflows
- Check a user-provided contact before saving it to a CRM, then ask for correction when syntax is invalid.
- Inspect a domain’s mail readiness during onboarding without claiming a specific mailbox exists.
- Separate known-invalid, risky and unknown contacts for human review before a campaign.
Verification is a diagnostic step. The MCP connector has no send-email capability. An agent should not infer consent from a valid address, invent an inbox owner, or automatically discard an unknown result.
Failure handling that keeps costs predictable
401 means the key or plan needs attention; 402 means credits are exhausted. Respect Retry-After on 429. Retry a network failure or an in-flight 409 with the same request_id. Never retry by generating a new identifier unless you intend to spend another credit.