MX Probe

dev.mxprobePublished by mxprobe.devv0.2.8Updated Nov 7, 2026

Email verification for AI agents: send, hold or kill with the reason. Signup and credits by API.

The publisher's own server: Magic Insights

Overview

AI-generated overview

Email verification MCP server that tells an assistant whether an address can receive mail, returning send, hold or kill with a reason.

What you can do
  • Verify a single email address and get an action of send, hold or kill plus verdict, reason and checks
  • Verify up to 500 addresses in one batch call with the same per-address result shape
  • Sign up for a hosted API key, which is saved locally and also mailed to the address
  • Check how many hosted checks remain on the configured key
  • Get a Stripe Checkout link to buy more hosted checks
When to use it
Useful when an assistant prepares outbound email, cleans a contact list, or needs to decide whether an address is safe to send to before a campaign or notification goes out. The free local DNS tier works without any account for quick syntax and mail-server checks.
Requirements
Runs locally over stdio via npx, so Node.js is needed. No key is required for the free DNS tier; setting MXPROBE_API_KEY switches the verify tools to the hosted SMTP probe. Signup needs an email address, and buying credits needs a Stripe payment. Desktop only.
Before you install
The signup tool creates a key tied to an email address and stores it locally; the key is also emailed. buy_credits returns a Stripe Checkout link for a paid purchase (9 USD per 10,000 checks), so payment should be confirmed by the operator. Hosted verification sends the addresses being checked to the provider's servers, and the optional local SMTP probe needs outbound port 25 and reveals the machine's host name unless overridden.

Installation

In SourceWeft

  1. Open MX Probe in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mxprobe

Email verification for AI agents. One call returns send, hold or kill with the reason. The DNS tier is free and runs on your machine; the hosted SMTP probe is 9 USD per 10,000 checks, 100 free at signup (once per IP address and company domain).

bash
npx mxprobe check [email protected] [email protected]   # free, local, no keynpx mxprobe signup [email protected]                    # a key by API, 100 free checks, saved to ~/.config/mxprobenpx mxprobe check --hosted [email protected]          # DNS kills stay local; survivors go to the mailbox probenpx mxprobe balancenpx mxprobe buy                                       # a Stripe link: 9 USD per 10,000, credits never expirenpx mxprobe mcp                                       # the MCP server on stdio

--smtp probes the mailbox from your own machine instead. It needs outbound port 25, which most laptops and clouds block. The probe says EHLO with this machine's host name and MAIL FROM:<>, so it names no domain; --helo (best: the reverse DNS name of your IP) and --from change them.

MCP

bash
claude mcp add mxprobe -- npx -y mxprobe mcp

One click: Cursor · VS Code · LM Studio. In Claude Code, as a plugin: /plugin marketplace add andrewchmr/mxprobe, then /plugin install mxprobe@mxprobe.

Any client: {"mcpServers":{"mxprobe":{"command":"npx","args":["-y","mxprobe","mcp"]}}}

Tools: verify_email, verify_batch, signup, balance, buy_credits. With a key configured, verify_* probe the mailbox on the hosted tier; without one they run the free DNS tier. Set MXPROBE_API_KEY to use a key from the environment.

Verdict

json
{  "email": "[email protected]",  "action": "send",  "verdict": "OK",  "reason": "mailbox accepted by aspmx.l.google.com",  "checks": { "syntax": true, "mx": "aspmx.l.google.com", "provider": "google_workspace", "smtp": "accepted", "catch_all": false }}
  • send: the mail server accepted the mailbox.
  • hold: send only with a fallback in hand. A catch-all, a forwarder, a greylist, or a server that refused the probe rather than the mailbox.
  • kill: never send. No mail server, or the mailbox does not exist.

From Node

ts
import { createClient, checkEmails } from "mxprobe";const client = createClient({ apiKey: process.env.MXPROBE_API_KEY });const { results, summary } = await checkEmails(["[email protected]"], { hosted: true, client });

Typed: Client, CheckOptions, CheckOutput and the response types come with the package; results is VerifyResult[] from mxprobe-core.

Docs: https://mxprobe.dev. Source: https://github.com/andrewchmr/mxprobe. MIT.

Source: packages/cli/README.md at commit 84c57e2

Tools

5

verify_email

Verify one email address

Check whether an email address can receive mail before sending to it. Each result is { email, action, verdict, reason, checks }. action is send | hold | kill: send means go ahead, hold means send only with a fallback in hand (catch-all, forwarder, greylisted or refused probe), kill means never send (no mail server, or the mailbox does not exist). checks.smtp is skipped on the free DNS tier; the hosted tier probes the mailbox. Uses the hosted SMTP probe (1 credit) when an API key is configured and hosted is not false; otherwise the free local DNS tier.

Parametersemailrequiredhosted

verify_batch

Verify a list of email addresses

Check up to 500 addresses in one call. Each result is { email, action, verdict, reason, checks }. action is send | hold | kill: send means go ahead, hold means send only with a fallback in hand (catch-all, forwarder, greylisted or refused probe), kill means never send (no mail server, or the mailbox does not exist). checks.smtp is skipped on the free DNS tier; the hosted tier probes the mailbox. DNS kills cost nothing; with a key the survivors go to the hosted probe at 1 credit each. If the key runs out of credits, every result still comes back: out_of_credits says how many were not probed and carries checkout_url, a payment link for your operator.

Parametersemailsrequiredhosted

signup

Create an MX Probe API key

Sign up with an email address. Returns an API key and saves it locally for the other tools. The key is also mailed to the address. One key per address; the 100 free checks come once per IP address and company domain, and a repeat key starts at 0 with a checkout_url for your operator.

Parametersemailrequired

balance

Credits left

How many hosted checks are left on the configured API key.

Takes no parameters.

buy_credits

Buy credits

Get a Stripe Checkout link for more hosted checks: 9 USD per 10,000, one payment, credits never expire. Open the link to pay; credits land on the key when Stripe confirms.

Parameterspacks

Version history

4
  1. v0.2.8LatestNov 4, 2026
  2. v0.2.7Nov 4, 2026
  3. v0.2.6Sep 23, 2026
  4. v0.2.5Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Magicinsights integrations