Skip to main content
Glama

Verify a list of email addresses (spends money)

create_email_verification_job

SPENDS MONEY: every address checked adds metered usage to the workspace's next invoice. This does NOT use prospect credits and it does NOT create or send a campaign — it verifies a list on its own and gives back a per-address verdict you can download as CSV. Call get_email_verification_rates first for the current price: an address costs one verification credit when the first provider rejects it outright and two when both providers answer, so multiply your list size by perAddressCeilingUsd to budget. An address that gets no verdict is NOT billed and comes back with result unknown. Duplicates are removed and unparseable entries are returned in invalid_emails before anything is charged, so the total in the response is what will be billed against, not what you submitted. Needs an active subscription: a trialing or past_due workspace is refused with subscription_not_active. If the workspace's monthly verification allowance runs out mid-job the job does not fail — the remaining addresses come back unknown, marked, still in the download, and unbilled. Poll get_email_verification_job until state is done, then read the results with list_email_verification_results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesWhat to call this job in the app, e.g. 'Q3 conference list'
emailsYesThe addresses to verify, up to 50,000. Duplicates and unparseable entries are dropped before billing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description extensively discloses behaviors beyond the annotations: it spends money and adds metered usage to the invoice, does not use prospect credits, bills only valid verdicts, removes duplicates, returns unparseable entries separately, requires an active subscription, and handles quota exhaustion gracefully. This fully compensates for the lack of a readOnlyHint and clarifies the openWorldHint/idempotentHint semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence carries material operational or financial information. The 'SPENDS MONEY' warning is front-loaded, and the structure flows from cost, to behavior, to subscription requirements, to job lifecycle, making it easy to scan despite its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a money-spending async job with no output schema, the description covers prerequisites, pricing, edge cases, failure modes, and the full polling/retrieval flow. An agent has everything needed to decide whether to call it, budget for it, and retrieve the results correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already documents both parameters, so the baseline is 3. The description adds meaningful value by explaining the billing implications of the emails parameter, noting that duplicates and unparseable entries are removed before charges, and that the response total is what gets billed. This goes beyond the schema's wording and helps the agent reason about cost.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action: it verifies a list of email addresses and returns a per-address verdict downloadable as CSV. It also explicitly distinguishes this from a campaign and from using prospect credits, so an agent can tell it apart from sibling tools like create_campaign and get_email_verification_rates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit workflow: call get_email_verification_rates first to budget, then create the job, poll get_email_verification_job until state is done, and finally read results with list_email_verification_results. It also states what the tool does not do (no campaign, no prospect credits), providing clear routing among alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources