# Email Spam Tester [Verified] [Health: Active]

**Category:** 💬 Communication  
**Repository:** https://github.com/serg-tanichev/email-spam-tester-mcp  
**GitHub Stars:** 2  
**Views:** 7  
**Installs:** 0  
**Upvotes:** 3  
**Directory Page:** https://allmcps.com/mcp/email-spam-tester

## Description
Email deliverability testing for agents. Four tools: get a disposable test address, wait for the report once the message arrives, read it, and fetch the raw source. The report has 42 checks (SPF, DKIM, DMARC, 21 blocklists, two spam engines, Gmail and Yahoo bulk sender rules), each linked to its RFC, plus a fix plan. Remote endpoint, no API key.

## Tools
Capabilities this server exposes over MCP:

- **get_test_address** — Reserve a single-use address to send a draft email to, for a full check.

    Returns the address and the URL its report will appear at. The address
    accepts exactly one message and expires after an hour. The email has to be
    sent by the person, from the platform or mailbox they really send from:
    half the checks read what that platform adds. The report covers 42 checks
    (SPF, DKIM, DMARC, reverse DNS, TLS, blocklists, content, links, the
    Gmail and Yahoo bulk-sender rules) and a plan of what to fix.

    lang is decided now because the message arrives minutes later over SMTP,
    which carries no hint of who is waiting for it. What wait_for_report
    returns quotes check lines in English whatever it is set to; the person
    following report_url sees their own language.
    
- **wait_for_report** — Wait until the message arrives and has been analysed, then summarise it.

    Call it after the email has been sent to the address from
    get_test_address. Blocks rather than returning "not ready yet": an agent
    told to poll writes a sleep loop and usually gives up before the analysis
    finishes. Provider placement keeps filling in for up to 30 minutes after
    the report; get_report reads the latest.
    
- **get_report** — Read a report by its slug without waiting, with provider placement so far.

    The report stays at its link for good and anyone with the link can read
    it: the checks, the score, the fix plan, and the subject and sender of
    the email.
    
- **get_message_source** — The message exactly as it was received: headers, both bodies, source.

    Useful when a finding points at a header and the agent needs to see what it
    actually sent rather than what it believes it sent. The message is kept
    for an hour after it arrives and then deleted; within that hour anyone
    with the slug can read it. After that only the report remains.
    

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "email-spam-tester": {
    "url": "https://email-spam-tester.com/mcp"
  }
}
```

## Documentation

## What Email Spam Tester MCP server does

The Email Spam Tester MCP server gives an agent a way to test how an email is received and evaluated. It connects to the hosted service at `https://email-spam-tester.com/mcp`, which uses streamable HTTP and does not require an API key or account.

A test begins with a disposable recipient address. The agent must send a real message to that address from the email platform under evaluation. This matters because many checks depend on headers added by the sending platform; a message sent from a local mail client may not represent a production campaign.

The resulting report covers 42 checks, including SPF, DKIM, DMARC, 21 blocklists, two spam engines, and Gmail and Yahoo bulk-sender requirements. Failed and warning checks include evidence, links to relevant RFCs, and a fix plan. The report also provides scores, but an incomplete analysis should be treated as optimistic.

## How it works

Use `get_test_address(lang="en")` to reserve an address. The response includes a slug and a report URL. The language setting controls the fix plan shown to a person viewing the report; the per-check lines returned by the tools remain in English.

After sending the message, call `wait_for_report(slug, timeout_seconds=150)`. This operation waits for analysis to finish, so an agent does not need to implement polling or a sleep loop. Use `get_report(slug)` when a report already exists and should be read without waiting.

`get_message_source(slug)` returns the delivered message, including headers in wire order, both body versions, and the raw source. A `skip` status means a check did not apply, while `error` means the check could not run and is excluded from the score. The `complete` field indicates whether every possible check finished.

The slug grants access to the report data, including the subject, sender, bounce address, and complete source. It should be handled as a capability and used only for mail that the tester is authorized to inspect.

## Setup and configuration

No server-side installation is needed because the MCP endpoint is hosted by the service. Configure an MCP client with the URL `https://email-spam-tester.com/mcp`.

Claude Desktop can use a direct streamable HTTP entry in `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "email-spam-tester": {
      "url": "https://email-spam-tester.com/mcp"
    }
  }
}
```

Claude Code can be configured with:

```bash
claude mcp add --transport http email-spam-tester https://email-spam-tester.com/mcp
```

Clients without direct streamable HTTP support can use `mcp-remote` through an MCP configuration with `npx -y mcp-remote https://email-spam-tester.com/mcp`. The repository includes a complete Claude Desktop example and an MCP registry manifest. The MIT license applies to the repository, not to the hosted service.

## Tools and capabilities

The Email Spam Tester MCP server exposes four tools:

- `get_test_address`: Reserves a disposable address and returns its slug and report URL.
- `wait_for_report`: Waits for analysis and returns scores, failing and warning checks, evidence, and the fix plan.
- `get_report`: Retrieves an existing report without waiting.
- `get_message_source`: Retrieves the delivered message and its raw source.

Together, these tools support testing from message submission through report review and source inspection. The agent remains responsible for sending the message between address creation and report retrieval.

## Limitations and notes

The service evaluates the message that actually reaches the disposable address, not an abstract campaign configuration. Results can therefore differ when the sending platform, routing, or message construction changes.

A report with `complete: false` is missing one or more checks and should not be treated as definitive. Skipped checks are not passes, and errored checks do not contribute to the score. The slug also exposes sensitive message data to anyone who possesses it, so it should not be shared casually or used to inspect another person’s email without permission.

_Full upstream README: https://allmcps.com/mcp/email-spam-tester/readme_

