Koskamo

Email Verifier MCP

An MCP server for verifying email addresses, checking syntax, MX records, disposable providers, role mailboxes, and performing optional SMTP probes and SPF/DMARC checks. It supports batch verification and typo correction.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Email Verifier MCP logo, by Noah's ArchVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Noah's Arch
You need:X-API-Key
MCP endpoint (Streamable HTTP)
https://verify.noahsarch.tech/mcp
Vendor documentation

What you can do with it

  • Verify email syntax and domain validity
  • Check for disposable or role-based email addresses
  • Perform optional SMTP mailbox probes
  • Detect and suggest fixes for common typos

Source and maintenance

Vendor evidenceRegistry 0.1.1

Protocol and capabilities

Server
email-verifier 0.1.0
MCP protocol
2025-06-18
Tools
5 advertised
Resources
2 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Verify email addresses before you send, store or score them. verify_email for one address, verify_emails for up to 1,000 (parallel, deduped), domain_check for a domain's mail setup (MX, SPF, DMARC, disposable/free flags), extract_emails to pull addresses out of text, suggest_fix for typos (gmial.com → gmail.com). Default checks are DNS-level and fast; pass smtp_check=true when you need a mailbox-level answer and can wait a few seconds. Treat 'risky' as 'send with care', never as 'invalid'. Only the domain is looked up in DNS; addresses are not stored. Response: result with status (deliverable | risky | undeliverable | invalid | unknown), reason, score 0–100, the checks run, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. No logging of addresses.

Tools

5 advertised

verify_email — Verify one email address
Advertised by the server during the last successful anonymous check.
Advertised read-only

Full check of one address: RFC syntax and normalisation, domain existence and MX records (incl. null-MX and implicit-MX), disposable-provider list (10k+ domains), role account, free-mail provider, typo suggestion; optional SMTP RCPT probe with catch-all detection and optional SPF/DMARC. Example: email 'john.doe@gmail.com', smtp_check false. Response: result with status (deliverable | risky | undeliverable | invalid | unknown), reason, score 0–100, the checks run, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. No logging of addresses.

verify_email input schema
{
  "type": "object",
  "title": "verify_emailArguments",
  "required": [
    "email"
  ],
  "properties": {
    "email": {
      "type": "string",
      "title": "Email",
      "description": "The address to verify."
    },
    "smtp_check": {
      "type": "boolean",
      "title": "Smtp Check",
      "default": false,
      "description": "Also probe the mailbox with an SMTP RCPT TO handshake (no message is sent). Slower (1–8 s); some servers block it."
    },
    "check_policy": {
      "type": "boolean",
      "title": "Check Policy",
      "default": false,
      "description": "Also report whether the domain publishes SPF and DMARC."
    }
  }
}
verify_email output schema
{
  "type": "object",
  "title": "verify_emailDictOutput",
  "additionalProperties": true
}
verify_email annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
verify_emails — Verify up to 1,000 emails in one call
Advertised by the server during the last successful anonymous check.
Advertised read-only

Same checks as verify_email for a list, run in parallel with per-domain DNS caching; returns per-address results, a summary by status, and `clean` (the deliverable ones). Charged per unique address. Example: emails ['a@x.com','b@y.org'], smtp_check false. Response: result with status (deliverable | risky | undeliverable | invalid | unknown), reason, score 0–100, the checks run, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. No logging of addresses.

verify_emails input schema
{
  "type": "object",
  "title": "verify_emailsArguments",
  "required": [
    "emails"
  ],
  "properties": {
    "dedupe": {
      "type": "boolean",
      "title": "Dedupe",
      "default": true,
      "description": "Drop case-insensitive duplicates before checking (duplicates are not charged)."
    },
    "emails": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Emails",
      "description": "Up to 1,000 addresses."
    },
    "smtp_check": {
      "type": "boolean",
      "title": "Smtp Check",
      "default": false,
      "description": "SMTP RCPT TO probe per mailbox (slower; some servers block it)."
    },
    "check_policy": {
      "type": "boolean",
      "title": "Check Policy",
      "default": false,
      "description": "Report SPF/DMARC presence per domain."
    }
  }
}
verify_emails output schema
{
  "type": "object",
  "title": "verify_emailsDictOutput",
  "additionalProperties": true
}
verify_emails annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
domain_check — Check a domain's mail setup
Advertised by the server during the last successful anonymous check.
Advertised read-only

Does the domain accept mail, which MX hosts, is it a disposable or free-mail provider, does it publish SPF and DMARC (and the DMARC policy)? Use before trusting a sender domain or when onboarding a company. Example: domain 'noahsarch.tech'. Response: result with status (deliverable | risky | undeliverable | invalid | unknown), reason, score 0–100, the checks run, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. No logging of addresses.

domain_check input schema
{
  "type": "object",
  "title": "domain_checkArguments",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "title": "Domain",
      "description": "Domain (or an address; the domain part is used)."
    }
  }
}
domain_check output schema
{
  "type": "object",
  "title": "domain_checkDictOutput",
  "additionalProperties": true
}
domain_check annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
extract_emails — Pull email addresses out of text
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find every address in a block of text or HTML (deduped by default). Free. Pair with verify_emails. Response: result with status (deliverable | risky | undeliverable | invalid | unknown), reason, score 0–100, the checks run, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. No logging of addresses.

extract_emails input schema
{
  "type": "object",
  "title": "extract_emailsArguments",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "title": "Text",
      "description": "Any text/HTML to pull addresses from."
    },
    "dedupe": {
      "type": "boolean",
      "title": "Dedupe",
      "default": true,
      "description": ""
    }
  }
}
extract_emails output schema
{
  "type": "object",
  "title": "extract_emailsDictOutput",
  "additionalProperties": true
}
extract_emails annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
suggest_fix — Suggest a correction for a mistyped address
Advertised by the server during the last successful anonymous check.
Advertised read-only

Fix common typos: gmial.com, hotmail.con, yaho.com, stray spaces/dots. Returns the suggestion (or null) and which fixes applied. Free. Example: email 'sara@gmial.con'. Response: result with status (deliverable | risky | undeliverable | invalid | unknown), reason, score 0–100, the checks run, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. No logging of addresses.

suggest_fix input schema
{
  "type": "object",
  "title": "suggest_fixArguments",
  "required": [
    "email"
  ],
  "properties": {
    "email": {
      "type": "string",
      "title": "Email",
      "description": ""
    }
  }
}
suggest_fix output schema
{
  "type": "object",
  "title": "suggest_fixDictOutput",
  "additionalProperties": true
}
suggest_fix annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

0 advertised

No prompt definitions available.

Resources

2 advertised

data_version — Data version

Advertised by the server during the last successful anonymous check.

Current data/rules version.

data_version URI
email-verifier://data-version

MIME type: text/plain

metrics — Aggregate metrics

Advertised by the server during the last successful anonymous check.

Aggregate counters only (tool, status, latency bucket). No queries are logged.

metrics URI
email-verifier://metrics

MIME type: text/plain

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
2173 ms
95th percentile latency
2173 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 2173 ms · metadata changed · 5 tool(s), 2 resource(s), 0 resource template(s), 0 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http email-verifier-mcp https://verify.noahsarch.tech/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add email-verifier-mcp --url https://verify.noahsarch.tech/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable email-verifier-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "email-verifier-mcp": {
      "url": "https://verify.noahsarch.tech/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "email-verifier-mcp": {
      "type": "streamableHttp",
      "url": "https://verify.noahsarch.tech/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start email-verifier-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "email-verifier-mcp": {
      "type": "http",
      "url": "https://verify.noahsarch.tech/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http email-verifier-mcp https://verify.noahsarch.tech/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "email-verifier-mcp": {
      "url": "https://verify.noahsarch.tech/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "email-verifier-mcp": {
      "serverUrl": "https://verify.noahsarch.tech/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Email Verifier MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Email Verifier MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing