Skip to main content
Glama

Validate email address

validate_email
Read-onlyIdempotent

Check one email address with Groundmail validation before accepting it (for example at signup): verdict valid | risky | invalid, reasons (including likely_bot_signup, a pattern check that can be wrong), a typo suggestion, and disposable / role flags. Free; sends nothing.

Input Schema

NameRequiredDescriptionDefault
emailYesEmail address to check

Output Schema

NameRequiredDescriptionDefault
roleYesA team or queue mailbox such as info@ or support@
emailYesThe address as checked (trimmed, lowercased)
domainNoDomain part of the address; null when there is none
reasonsYesWhat was found: syntax, no_mail_server, mailbox_not_found, previously_bounced (invalid); disposable, catch_all, possible_typo, likely_bot_signup (risky); role (informational)
verdictYesvalid: safe to send; risky: deliverable but worth a second look; invalid: cannot receive email
disposableYesA throwaway-inbox service
suggestionYesThe address with a likely-mistyped domain corrected, for example ada@gmail.com for ada@gmial.com

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / reasons / description
      Previous value: -"What was found: syntax, no_mail_server, mailbox_not_found, previously_bounced (invalid); disposable, catch_all, possible_typo (risky); role (informational)"New value: +"What was found: syntax, no_mail_server, mailbox_not_found, previously_bounced (invalid); disposable, catch_all, possible_typo, likely_bot_signup (risky); role (informational)"
  2. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is covered by structured data. The description adds real value beyond that: the verdict taxonomy (valid | risky | invalid), the types of reasons returned, an explicit honesty caveat that likely_bot_signup 'can be wrong', typo suggestions, and disposable/role flags. 'Free; sends nothing' also confirms no outbound mail side effect, which is exactly the kind of fact annotations cannot express.

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?

A single front-loaded sentence with the action first, then the decision context, then the returned information, then cost and side effects. Every clause carries information an agent would act on; nothing is filler.

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

Completeness4/5

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

For a one-parameter read-only tool with an output schema, the description covers purpose, timing, result shape, cost, and absence of side effects — enough to call it correctly. Minor omissions such as behavior on syntactically malformed input or any rate limits are not disqualifying given the output schema covers return values.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter is documented as 'Email address to check', so the schema already carries the semantics. The description only marginally adds the idea that exactly one address is checked per call; it does not discuss format, normalization, or handling of malformed input. Baseline 3 is appropriate when the schema does the work.

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 uses a specific verb and resource — 'Check one email address with Groundmail validation' — and names the decision point ('before accepting it, for example at signup'), which separates it cleanly from siblings such as send_email, add_suppression, or list_emails. The 'one' also scopes it as a single-address check rather than a bulk operation.

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

Usage Guidelines4/5

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

It gives a concrete usage context ('before accepting it, for example at signup'), which tells the agent when this tool belongs in a flow. It does not name an alternative or an exclusion (e.g., when to skip validation and rely on send_email's own rejection), so the routing guidance is clear but not exhaustive.

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