# Email Validation MCP Server for AI Agents

PingValid runs an MCP server at `https://pingvalid.com/mcp` so an AI agent — Claude, Cursor, ChatGPT, or any other MCP client — can validate an email address the same way it calls any other tool: inside the conversation, with no REST client code and nothing to install. This page covers how email validation for AI agents works through that server, how to connect it, what each tool returns, and where it fits next to PingValid's REST API.

## Why AI Agents Need Email Validation as a Callable Tool

An agent that pulls a signup list, drafts a CRM update, or preps a CSV for an ESP import is working with raw email addresses it has no way to verify on its own. A language model can tell you an address *looks* plausible — the shape of `name@domain.com` — but it can't tell you whether that domain has a mail server, whether the mailbox exists, or whether it's a disposable or role account. Only a live check against DNS, MX records, and the receiving mail server can answer that.

That gap matters more once an agent, not a person, is the one adding rows to a list. A person doing this by hand might skim for obvious typos. An agent moving rows from a form export into a CRM has no equivalent instinct — it either validates each row with a tool built for the job, or it doesn't validate at all.

The mechanism is straightforward: a hard bounce happens when the receiving mail server permanently rejects a message because the mailbox doesn't exist. Every send to that address is a wasted send — it consumes a send credit or API call and reaches no one. Catching an undeliverable address before it's added to a list removes it from that send entirely, instead of surfacing after the fact in an ESP's bounce report.

For a developer wiring this into an agent's workflow, the job-to-be-done is the plumbing PingValid already runs — normalization, syntax, DNS, MX, and disposable/role filtering, plus an SMTP-level check against the receiving server — exposed as a tool an agent can call directly, instead of custom code written and maintained per agent framework.

## What Is an MCP Server, in Plain Terms

MCP — the Model Context Protocol — is an open protocol that lets an AI application call an external service's tools mid-conversation, without a developer writing custom integration code for every provider. Two pieces make it work: a **client** (the AI application — Claude Desktop, Claude Code, claude.ai, Cursor, ChatGPT, or any other MCP-compatible agent) and a **server** (the service exposing tools — in this case, PingValid).

A server publishes a list of tools, each with a name, a description, and a typed input and output. When a conversation calls for one — check whether this email is real — the client's model decides to call the matching tool, sends the request to the server, and gets a structured result back to reason over. The developer building the agent doesn't write the DNS/MX lookups or the SMTP check; the server runs that and hands back a result the model can use directly.

## How PingValid's MCP Server Works

PingValid's MCP server runs at **`https://pingvalid.com/mcp`** over **Streamable HTTP** — a hosted endpoint, not a package. There's nothing to install and no local process to run; an MCP client connects straight to that URL.

Two ways to authenticate:

- **Bearer API key.** Works with any MCP client. Generate a key from your PingValid account and configure your client to send it as a bearer token when it calls the endpoint.
- **OAuth via a custom connector.** In claude.ai, Claude Desktop, or Claude Code specifically: add `https://pingvalid.com/mcp` as a custom connector, click Connect, and approve the consent screen. No key to generate or paste — OAuth handles it.

The OAuth path is the faster one if you're already working inside one of those three Claude surfaces. The bearer-key path is the one to use from Cursor, ChatGPT, or any other MCP client that expects a credential you supply directly. PingValid states its MCP server works with Claude, Cursor, ChatGPT, and any other MCP client. [pingvalid.com/docs/mcp](https://pingvalid.com/docs/mcp) has the full setup reference.

Every tool call — whether it comes from an agent inside Claude Desktop or a custom MCP client you built yourself — draws from the same credit-based pricing as PingValid's REST API. There's no separate MCP price list; the breakdown is below.

## The 5 MCP Tools and What Each One Returns

PingValid's MCP server is purpose-built for MCP tool-calling: five tools, each mapped to one job — in effect, an MCP email verification tool an agent can reach for mid-workflow instead of shelling out to a script.

| Tool | What it returns | Cost |
|---|---|---|
| `pingvalid_validate_email` | Verdict + 0–100 risk score + tier-by-tier evidence for one address | 1 credit (Quick/Standard), 2 credits (Deep) |
| `pingvalid_submit_bulk_job` | A `job_id` for an async batch of up to 1,000 addresses | Same per-address rate as a single validation |
| `pingvalid_get_job_status` | Status of a submitted bulk job | Free |
| `pingvalid_get_job_results` | Per-row results for a completed job, filterable by verdict | Not separately priced in PingValid's docs* |
| `pingvalid_explain_verdict` | Natural-language explanation of why an address got its verdict | Free |

*Confirm at [pingvalid.com/docs/mcp](https://pingvalid.com/docs/mcp) before assuming a rate.

A `pingvalid_validate_email` call runs the same pipeline PingValid uses everywhere — syntax, DNS, MX, disposable/role-account, and SMTP-level checks — and comes back in a pattern like `Valid · risk 4/100`, with named evidence rows underneath: Syntax RFC-5321 valid, Domain resolves, MX present, and so on. The site states a single lookup completes in under 300 ms; that's PingValid's own published figure, not a third-party benchmark.

Cache hits are free at Quick and Standard tier; a cached Deep-tier result costs 1 credit — half the normal Deep price. An "unknown" verdict, where the check can't reach a conclusion, is never charged.

For a broader accuracy picture beyond any single verdict: PingValid publishes a weekly public benchmark at [pingvalid.com/benchmark](https://pingvalid.com/benchmark). As of this writing, it hasn't published live numbers yet — so this article doesn't cite an accuracy percentage. None exists to cite.

## Worked Examples: Validation Inside an Agent Workflow

**Cleaning a CSV before a Klaviyo import, from Claude.** A marketer has a CSV of leads pulled from a form or event export and wants it checked before it goes into Klaviyo as a new list. Working in Claude, connected to PingValid via the custom connector, they share the file and ask Claude to validate it. Claude submits the addresses with `pingvalid_submit_bulk_job`, polls the free `pingvalid_get_job_status` tool until the job completes, then pulls results with `pingvalid_get_job_results`, filtered by verdict. Rows PingValid flags as undeliverable don't make it into the Klaviyo import — no separate script, no manual spreadsheet pass.

One caveat worth stating plainly: validating a list checks whether the addresses on it are real and can receive mail. It says nothing about whether those addresses were collected with consent. A validated list can still be a list that shouldn't be emailed under GDPR, CAN-SPAM, or CASL — that's a separate requirement the list owner has to satisfy, not something a validation check confirms.

**Gating signups inside an agent flow.** An agent handling inbound signups — filling in a form on a user's behalf, or writing new rows to a CRM as part of a larger workflow — can call `pingvalid_validate_email` on the address before it creates the record. If the verdict comes back anything other than deliverable, the agent can hold the record, ask the user to confirm the address, or route it to a review queue instead of writing bad data downstream. Where a person needs the reasoning behind a verdict, not just the score, `pingvalid_explain_verdict` returns a natural-language explanation the agent can surface directly, instead of a developer building a custom mapping from risk score to plain-language reason.

## MCP vs. the REST API: Which Should Your Agent Use

If your agent runs inside an MCP client — Claude, Cursor, ChatGPT's connector support, or a custom agent built on the MCP spec — call the [MCP server](https://pingvalid.com/mcp) directly. There's no SDK to install and no response format to parse; the tool call and its result are already shaped for the model to use.

If your agent is custom code that isn't an MCP client — a script, a pipeline, a background worker — call the [REST API](https://pingvalid.com/docs/api) directly, or start from PingValid's "Email Validation API for AI Agents" walkthrough at [pingvalid.com/docs/agent](https://pingvalid.com/docs/agent), which covers the same pipeline from the code side rather than the tool-calling side.

Both paths run the same checks and draw from the same credit balance. The difference is only where the integration lives — inside an MCP client's tool-calling layer, or inside your own request code.

## Pricing

MCP tool calls use the same pricing as everything else on PingValid — there's no separate MCP price list. The Free tier includes 100 validations a month with no card required, enough to connect the server and run real tool calls before committing to a paid plan. Paid tiers are flat and public, starting at $19/mo. Credit costs per tool are in the table above; they don't change based on whether the call comes from an agent or a direct API request. Full tier breakdown and a live pricing calculator: [pingvalid.com/pricing](https://pingvalid.com/pricing).

## FAQ

### What is the PingValid MCP server?
PingValid's MCP server is a hosted Model Context Protocol endpoint at `https://pingvalid.com/mcp` that lets an AI agent call PingValid's email-validation checks — syntax, DNS, MX, disposable/role, and SMTP-level — as a tool, over Streamable HTTP, with nothing to install. It works with Claude, Cursor, ChatGPT, and any other MCP client.
Source: [pingvalid.com/docs/mcp](https://pingvalid.com/docs/mcp)

### How do I validate email addresses in Claude?
Add `https://pingvalid.com/mcp` as a custom connector in claude.ai, Claude Desktop, or Claude Code, click Connect, and approve the consent screen — this uses OAuth, so there's no API key to copy in manually. Once connected, Claude can call any of PingValid's five MCP tools inside a conversation.
Source: [pingvalid.com/docs/mcp](https://pingvalid.com/docs/mcp)

### What tools does the PingValid MCP server expose?
Five: `pingvalid_validate_email` (single-address verdict, 0–100 risk score, and evidence), `pingvalid_submit_bulk_job` (async batches up to 1,000 addresses), `pingvalid_get_job_status` (free), `pingvalid_get_job_results` (per-row results, filterable by verdict), and `pingvalid_explain_verdict` (free, natural-language explanation of a verdict).
Source: [pingvalid.com/docs/mcp](https://pingvalid.com/docs/mcp)

### Does calling PingValid through MCP cost more than the REST API?
No. MCP tool calls use the same credit-based pricing as the REST API: 1 credit per validation, 2 credits for a Deep-tier check, free cache hits at Quick/Standard tier, half-price cached Deep results, and free status and explanation calls.
Source: [pingvalid.com/pricing](https://pingvalid.com/pricing)

### Can an agent validate a bulk list through MCP, not just one address at a time?
Yes — up to 1,000 addresses per job through `pingvalid_submit_bulk_job`, which returns a `job_id` an agent can poll with the free `pingvalid_get_job_status` tool and then read with `pingvalid_get_job_results`. Larger lists, up to 1,000,000 rows, go through the web dashboard or REST API instead of the MCP bulk tool.
Source: [pingvalid.com/docs/mcp](https://pingvalid.com/docs/mcp)

### Does validating an email address confirm the person consented to receive email?
No. PingValid's checks confirm whether an address is syntactically valid, resolves to a real mail server, and can accept mail — not how or whether the address owner agreed to be emailed. A validated list can still be one that wasn't collected with proper consent; that's a separate legal requirement under GDPR, CAN-SPAM, or CASL that validation doesn't address.
Source: [pingvalid.com/docs/mcp](https://pingvalid.com/docs/mcp)

### Is the PingValid MCP server free to try?
Yes. The Free tier includes 100 validations a month with no card required, and MCP tool calls draw from the same credit pool as any paid plan. Paid tiers start at $19/mo for 5,000 validations.
Source: [pingvalid.com/pricing](https://pingvalid.com/pricing)

---

Full setup and tool reference: [pingvalid.com/docs/mcp](https://pingvalid.com/docs/mcp).