Skip to main content
Glama

Validate Email

validate_email
Read-onlyIdempotent

Verify an email address is properly formatted, has valid DNS records, and isn't disposable or an alias. Returns validation status, a 0-100 confidence score and the signals behind it. Pass your own Disify key as _apiKey — the keyless anonymous quota is shared and usually spent.

Input Schema

NameRequiredDescriptionDefault
emailYesThe email address to validate.
_apiKeyNoOptional but recommended: your own Disify API key (BYO — Pipeworx does not supply one). Without it the call uses the anonymous tier, whose daily quota is shared across all Pipeworx callers and is usually exhausted. Get one at disify.com.

Output Schema

NameRequiredDescriptionDefault
aliasYesWhether the email is an alias
emailYesThe email address that was validated
dns_validYesWhether DNS records exist for the domain
disposableYesWhether the email is from a disposable service
whitelistedYesWhether the email domain is whitelisted
format_validYesWhether the email format is valid

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / alias / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / whitelisted / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / _apiKey
      Added value: +{
      +  "description": "Optional but recommended: your own Disify API key (BYO — Pipeworx does not supply one). Without it the call uses the anonymous tier, whose daily quota is shared across all Pipeworx callers and is usually exhausted. Get one at disify.com.",
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "alias": {
      +      "description": "Whether the email is an alias",
      +      "type": "boolean"
      +    },
      +    "disposable": {
      +      "description": "Whether the email is from a disposable service",
      +      "type": "boolean"
      +    },
      +    "dns_valid": {
      +      "description": "Whether DNS records exist for the domain",
      +      "type": "boolean"
      +    },
      +    "email": {
      +      "description": "The email address that was validated",
      +      "type": "string"
      +    },
      +    "format_valid": {
      +      "description": "Whether the email format is valid",
      +      "type": "boolean"
      +    },
      +    "whitelisted": {
      +      "description": "Whether the email domain is whitelisted",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "email",
      +    "format_valid",
      +    "dns_valid",
      +    "disposable",
      +    "alias",
      +    "whitelisted"
      +  ],
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "email": "user@example.com"
      +  },
      +  {
      +    "email": "john.doe@company.org"
      +  }
      +]
  5. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already carry the read-only, idempotent, open-world safety profile, so the bar is low and the description clears it. It discloses a real behavioral trait annotations can't: the tool depends on the external Disify service, the anonymous tier's quota is 'shared and usually spent,' and returns include status, a 0-100 score, and the signals behind it. No contradiction with annotations (verify is read-only); 4 rather than 5 because failure modes and latency are not addressed.

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?

Three sentences, each load-bearing: purpose, return contract, and key-handling guidance. The purpose is front-loaded and there is zero filler or repetition of annotation or schema content.

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 2-parameter tool with an output schema and full safety annotations, the description covers purpose, return contract, and the external dependency's quota reality; none of the return-shape burden lands on it. The one contextual gap is the absence of sibling routing, which is already penalized under usage_guidelines.

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%, setting a baseline of 3, but the description genuinely enriches parameter meaning: it tells an agent what the email parameter is validated against (format, DNS, disposable/alias) and reinforces the _apiKey substitution semantics by noting the anonymous quota is shared and usually exhausted. It adds behavioral context to both parameters without repeating schema text.

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 opens with a specific verb and resource — 'Verify an email address' — and enumerates exactly what is checked: formatting, DNS records, and disposable/alias status. This is distinctive enough against siblings like check_domain or validate_claim that an agent can route correctly without opening any schema.

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

Usage Guidelines3/5

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

The use case is made clear through the purpose statement, but there is no explicit when-to-use vs alternatives or exclusions — siblings like check_domain (the natural domain-vs-email boundary) are never named. The Disify key note gives operational how-to guidance on calling the tool, not when to choose it over another; usage is implied, not stated.

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.