email-spam-tester

Test an email before it goes out: a disposable address, 41 checks with RFC citations, a fix plan.

我该使用它吗

质量与安全性

A
描述质量
95%
模式完整度
95%
命名质量
100%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,213token 数(工具定义)
~2.1 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.95%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

远程端点

https://email-spam-tester.com/mcpstreamable-http

它能做什么

工具清单

工具(4)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟡get_test_address(lang, include_placement)

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.

输入模式

{
  "type": "object",
  "properties": {
    "lang": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "ISO code of the language the report and the fix plan are written in for the person who opens the report page, for example \"en\", \"de\" or \"pt-BR\". Defaults to the language of the conversation. Unknown codes fall back to English.",
      "title": "Lang"
    },
    "include_placement": {
      "default": false,
      "description": "Also check which folder (inbox, spam, promotions) the email lands in at different mailbox providers, from the same send. The email then goes to a list of recipients instead of one address and needs a marker in the subject; both come back. Some provider inboxes are public test inboxes: the subject, the sender name and the folder are shown on a public web page, so it suits messages that are not confidential.",
      "title": "Include Placement",
      "type": "boolean"
    }
  },
  "title": "get_test_addressArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "view": {
      "description": "test, report, mailbox, mailboxes, series or error",
      "title": "View",
      "type": "string"
    }
  },
  "required": [
    "view"
  ],
  "additionalProperties": true,
  "description": "What every tool returns for the card; `view` says which card.",
  "title": "Output"
}
🟢wait_for_report(slug, timeout_seconds)

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.

输入模式

{
  "type": "object",
  "properties": {
    "slug": {
      "description": "The slug get_test_address returned, the last part of the report URL.",
      "title": "Slug",
      "type": "string"
    },
    "timeout_seconds": {
      "default": 150,
      "description": "How long to block waiting for the message and its analysis, in seconds. The checks are ready in well under a minute; the fix plan takes about another one. Past this the tool returns what it has.",
      "maximum": 600,
      "minimum": 5,
      "title": "Timeout Seconds",
      "type": "integer"
    }
  },
  "required": [
    "slug"
  ],
  "title": "wait_for_reportArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "view": {
      "description": "test, report, mailbox, mailboxes, series or error",
      "title": "View",
      "type": "string"
    }
  },
  "required": [
    "view"
  ],
  "additionalProperties": true,
  "description": "What every tool returns for the card; `view` says which card.",
  "title": "Output"
}
🟢get_report(slug)

Read a report by its slug without waiting, with provider placement so far. Works for one-hour tests and for letters in the person's series mailboxes.

输入模式

{
  "type": "object",
  "properties": {
    "slug": {
      "description": "The slug of a test or of a letter in a series mailbox, the last part of the report URL.",
      "title": "Slug",
      "type": "string"
    }
  },
  "required": [
    "slug"
  ],
  "title": "get_reportArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "view": {
      "description": "test, report, mailbox, mailboxes, series or error",
      "title": "View",
      "type": "string"
    }
  },
  "required": [
    "view"
  ],
  "additionalProperties": true,
  "description": "What every tool returns for the card; `view` says which card.",
  "title": "Output"
}
🟢get_message_source(slug)

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, or to find the confirmation link in a welcome letter.

输入模式

{
  "type": "object",
  "properties": {
    "slug": {
      "description": "The slug of a test or a series letter whose message has already arrived.",
      "title": "Slug",
      "type": "string"
    }
  },
  "required": [
    "slug"
  ],
  "title": "get_message_sourceArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_message_sourceOutput"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本4 个工具
已验证未记录版本4 个工具
已验证未记录版本4 个工具