Skip to main content
Glama
Mailveri MCP Server

Mailveri MCP Server

Official

MailVeri MCP Server šŸš€

PyPI Documentation Website Smithery Glama License: MIT

Official Model Context Protocol (MCP) server for MailVeri — Fast, accurate, and privacy-friendly email deliverability verification for AI agents and coding assistants.

šŸ“– Interactive Documentation: For advanced client configurations, tool parameters, and error codes, visit our official MailVeri MCP Documentation.
🧠 Agent Skill (SKILL.md): Includes SKILL.md with pre-send deliverability routing rules (VALID, ROLE_ACCOUNT for SMBs, CATCH_ALL, zero-cost UNKNOWN) for Claude Code, Cursor, Hark, OpenClaw, and AgentMail (agentmail.to) pipelines.
šŸ“° Step-by-step Tutorial: Read our comprehensive guide on How to Verify Emails Directly in Claude, Cursor & Windsurf.
⚔ Official Registries: Published on PyPI (mailveri-mcp), listed on Glama.ai, and indexed in the Smithery Registry (mailveri/mailveri-mcp).

This server enables AI assistants (Claude Desktop, Claude Code, Cursor, Windsurf, Codex, Antigravity, OpenCode, Pi, Oh My Pi, etc.) to verify email deliverability, check mailbox existence, check credit balances, and manage bulk verification batches directly from chat.


Features & Tools

Tool

Safety Hints (ToolAnnotations)

Description

mailveri_verify_email

readOnly: false, destructive: false

Verifies a single email address (returns VALID, INVALID, DISPOSABLE, ROLE_ACCOUNT, CATCH_ALL, FULL_INBOX, UNKNOWN, plus credits_used, quality_score, is_forwarding, and balance).

mailveri_get_balance

readOnly: true, idempotent: true

Retrieves remaining verification credits (plus daily_limit, daily_remaining, daily_used on daily-quota plans).

mailveri_verify_batch

readOnly: false, destructive: false

Queues a list of emails (minimum 2) for background distributed verification.

mailveri_get_batch_status

readOnly: true, idempotent: true

Checks progress percentage, status (QUEUED, PROCESSING, DONE, CANCELED, MERGED), and download links for a batch job.

mailveri_download_batch_result

readOnly: true, idempotent: true

Gets the download link for completed batch results (full ZIP archive or filtered CSV; CSV status defaults to VALID,ROLE_ACCOUNT when omitted).

mailveri_delete_batch

destructive: true, idempotent: true

Deletes a finished or canceled verification batch.


Related MCP server: mail7-mcp

Quick Start

1-Click Install via Smithery

Add to your MCP client in one command:

npx -y smithery mcp add mailveri/mailveri-mcp

1. Get Your MailVeri API Key

Sign up or log in to the MailVeri Dashboard and copy your API Key from Dashboard → API Keys: šŸ‘‰ https://app.mailveri.com/api-keys/


2. Configuration for Claude Desktop

Add this configuration to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "mailveri": {
      "command": "uvx",
      "args": [
        "mailveri-mcp"
      ],
      "env": {
        "MAILVERI_API_KEY": "YOUR_MAILVERI_API_KEY"
      }
    }
  }
}

Note: Requires uv installed on your system (curl -LsSf https://astral.sh/uv/install.sh | sh or brew install uv).


3. Configuration for Claude Code

Run with Anthropic's Claude Code CLI:

claude mcp add mailveri -e MAILVERI_API_KEY=YOUR_MAILVERI_API_KEY -- uvx mailveri-mcp

Or add to ~/.claude.json:

{
  "mcpServers": {
    "mailveri": {
      "command": "uvx",
      "args": [
        "mailveri-mcp"
      ],
      "env": {
        "MAILVERI_API_KEY": "YOUR_MAILVERI_API_KEY"
      }
    }
  }
}

4. Configuration for Codex

Add to your Codex config (~/.codex/config.json):

{
  "mcpServers": {
    "mailveri": {
      "command": "uvx",
      "args": [
        "mailveri-mcp"
      ],
      "env": {
        "MAILVERI_API_KEY": "YOUR_MAILVERI_API_KEY"
      }
    }
  }
}

5. Configuration for Cursor

In Cursor, open Settings > Features > MCP Servers > Add New MCP Server:

  • Name: mailveri

  • Type: command

  • Command: uvx mailveri-mcp

  • Environment Variables:

    • MAILVERI_API_KEY: YOUR_MAILVERI_API_KEY

Or add to .cursor/mcp.json:

{
  "mcpServers": {
    "mailveri": {
      "command": "uvx",
      "args": [
        "mailveri-mcp"
      ],
      "env": {
        "MAILVERI_API_KEY": "YOUR_MAILVERI_API_KEY"
      }
    }
  }
}

6. Configuration for Windsurf

Add to your Windsurf configuration file (~/.codeium/windsurf/mcp_config.json):

{
  "mcpServers": {
    "mailveri": {
      "command": "uvx",
      "args": [
        "mailveri-mcp"
      ],
      "env": {
        "MAILVERI_API_KEY": "YOUR_MAILVERI_API_KEY"
      }
    }
  }
}

7. Configuration for OpenCode, Pi, Oh My Pi, Antigravity

Add to your tool's MCP configuration (opencode.json, ~/.pi/config.json, ~/.omp/mcp.json, or .gemini/antigravity/mcp_config.json):

{
  "mcpServers": {
    "mailveri": {
      "command": "uvx",
      "args": [
        "mailveri-mcp"
      ],
      "env": {
        "MAILVERI_API_KEY": "YOUR_MAILVERI_API_KEY"
      }
    }
  }
}

Environment Variables

Variable

Required

Default

Description

MAILVERI_API_KEY

Yes

—

Your MailVeri API Key.

MAILVERI_BASE_URL

No

https://api.mailveri.com

Base API endpoint (useful for staging or self-hosted instances).


Transport Options

Hosted Remote MCP (No Local Install)

Connect any Streamable HTTP or SSE MCP client directly to mcp.mailveri.com:

{
  "mcpServers": {
    "mailveri": {
      "url": "https://mcp.mailveri.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_MAILVERI_API_KEY"
      }
    }
  }
}

Authentication Security: Always prefer sending your API key via the Authorization: Bearer YOUR_MAILVERI_API_KEY or X-API-Key: YOUR_MAILVERI_API_KEY HTTP header rather than query parameters (?api_key= / ?token=) so credentials are never exposed in client, browser, or reverse-proxy URL logs. Legacy SSE clients remain supported at https://mcp.mailveri.com/sse using Authorization: Bearer / X-API-Key headers (use ?api_key= only for older SSE clients that cannot set custom headers).

Self-Hosted / Local CLI

By default the CLI uses stdio transport (recommended for local desktop and CLI agents).

For local or self-hosted HTTP (Streamable HTTP at /mcp + SSE at /sse):

export MAILVERI_API_KEY="your_api_key"
mailveri-mcp --transport streamable-http --host 127.0.0.1 --port 8000

āš ļø Security: When MAILVERI_API_KEY or --api-key is pre-configured, self-hosted HTTP/SSE runs in single-tenant mode without per-request client authentication. Never bind to 0.0.0.0 or a public interface without placing an authenticating reverse proxy in front. In this self-hosted mode (a fixed key from --api-key or MAILVERI_API_KEY) the server only accepts a Host header of localhost, 127.0.0.1 or [::1], so a reverse proxy in front must keep nginx's default Host ($proxy_host) and must not set proxy_set_header Host $host.

Flag

Default

Description

--transport

stdio

Transport type: stdio, streamable-http, or sse

--host

127.0.0.1

Host to bind for HTTP/SSE transport

--port

8000

Port to bind for HTTP/SSE transport

--api-key

—

API key (alternative to env var)

--base-url

https://api.mailveri.com

Base API URL


Rate Limits

  • Single email verification: 10 requests per second (up to 5 checks at a time)

  • Batch verification: No per-request limit (emails are queued server-side)


Credit Exhaustion

If your account runs out of verification credits, mailveri_verify_email will return an error with message "Not enough credits to verify email". Check your balance with mailveri_get_balance and top up at MailVeri Pricing or your MailVeri Dashboard.


Local Development & Testing

Clone this repository and run locally:

git clone https://github.com/mailveri/mailveri-mcp.git
cd mailveri-mcp

# Install dependencies
pip install -e .

# Run unit tests (when tests/ is included in your checkout)
if [ -d tests ]; then python -m unittest discover -s tests; fi

# Test running the MCP server locally (stdio)
export MAILVERI_API_KEY="your_api_key"
python -m mailveri_mcp.server

Example Prompts for AI

Once connected, you can ask Claude or Cursor:

  • "Check if alex@gmail.com and support@stripe.com are valid and deliverable."

  • "How many email verification credits do I have left in MailVeri?"

  • "Verify this list of 20 lead emails and let me know the batch status."

  • "Get the result download link for my verification batch."

  • "Give me a CSV download link for only the valid, deliverable emails from batch 'bX9K3LwZqP2YtR8vN4mQ'."


License

MIT License Ā© 2026 MailVeri

Available Tools

6 tools
mailveri_delete_batchA
DestructiveIdempotent

Delete a finished or canceled bulk email verification job from your account.

A job that is still queued or processing cannot be deleted (the API rejects it): wait for it to finish, or cancel it from the MailVeri dashboard first.

Inputs: job_id (required). Returns: result

mailveri_download_batch_resultA
Read-onlyIdempotent

Get download URL for completed batch verification results.

Supports downloading the full ZIP archive or custom filtered CSV files.

Args: job_id: The completed batch ID (required). format: Result file format ('zip' or 'csv'). Default: 'zip'. status: Optional comma-separated deliverability statuses for CSV export (e.g. 'VALID,ROLE_ACCOUNT', 'VALID', 'INVALID', 'DISPOSABLE'). Defaults to 'VALID,ROLE_ACCOUNT' when omitted on CSV export (use format='zip' or pass desired statuses explicitly to include other rows). columns: Optional column structure for CSV export: - 'original': Original file with MailVeri status column (default) - 'compact': Email and Status columns - 'email': Email address only

Inputs: job_id (required), format, status, columns. Returns: result

mailveri_get_balanceA
Read-onlyIdempotent

Check your current verification credit balance on MailVeri.

Returns the number of remaining credits available for verification. Accounts with a daily verification quota also get daily_limit, daily_remaining and daily_used (verifications left today).

Inputs: no named parameters. Returns: result

mailveri_get_batch_statusA
Read-onlyIdempotent

Check progress and status of an ongoing bulk email verification job.

Returns percent completion (0 - 100%), current status (QUEUED, PROCESSING, DONE, CANCELED, MERGED), and a secure download link for results when complete.

Inputs: job_id (required). Returns: result

mailveri_verify_batchA

Submit a list of emails for bulk verification (minimum 2 unique emails).

The list is queued on MailVeri's backend for asynchronous distributed verification. Returns a job ID that can be tracked with mailveri_get_batch_status.

Inputs: emails (required), filename. Returns: result

mailveri_verify_emailA

Verify a single email address using MailVeri.

Returns deliverability status:

  • VALID: Mailbox exists and can receive emails

  • INVALID: Mailbox does not exist, disabled, or syntax error

  • DISPOSABLE: Temporary / throwaway email address

  • ROLE_ACCOUNT: Verified deliverable role address (e.g. admin@, support@, info@, contact@) — only returned after confirming the mailbox is VALID and not catch-all

  • CATCH_ALL: Domain accepts all incoming emails

  • FULL_INBOX: Mailbox is full

  • UNKNOWN: Mail server could not be reached or timed out (0 credits charged)

Also returns credits_used (1 on conclusive verdicts, 0 on UNKNOWN), quality_score (0-100), is_forwarding, and remaining credit balance. Daily-quota accounts also get daily_limit and daily_remaining; a billed check is taken from the daily quota first, so balance may not change.

Rate limit: 10 requests per second (up to 5 checks at a time).

Inputs: email (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 6 tools

    Disambiguation4/5

    Single-email verification, batch submission, status polling, download, deletion, and balance checks all target distinct operations. The only mild overlap is between get_batch_status (which returns a download link when complete) and download_batch_result (which produces filtered/format-specific exports), which could make an agent hesitate over which to call for results.

    Naming Consistency5/5

    All tools use a consistent mailveri_ prefix followed by a clear verb_noun pattern (verify_email, verify_batch, get_balance, get_batch_status, download_batch_result, delete_batch). No mixing of casing or verb styles.

    Tool Count5/5

    Six tools is well-scoped for an email verification service, with each tool covering a distinct part of the single/batch verification lifecycle. Nothing feels redundant or missing at the count level.

    Completeness4/5

    The surface covers single verification, batch submission, status tracking, result download, deletion, and credit balance — a full practical lifecycle. The one notable gap is a cancel operation for in-flight batch jobs, which the delete description explicitly punts to the dashboard.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables AI assistants to verify email deliverability and find business emails via the Verifox API, supporting single and bulk operations.
      6
      128 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Provides email validation and domain configuration auditing tools for AI assistants, enabling single address checks, bulk list cleaning, SPF verification, and full mail setup grading (A-F) with actionable fixes.
      4
      50 npm
      MIT
    • F
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to verify email addresses in real-time, checking syntax, DNS, MX records, and SMTP handshake, returning verdicts and deliverability scores without sending actual emails.
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to validate email addresses, track validation tasks, view per-address results and account analytics, and export cleaned email lists through the UChecker API.
      MIT