# @emailens/mcp 中文文档

规范地址：https://npmcn.com/package/%40emailens/mcp/

版本：0\.16\.0
npm 元数据更新时间：2026-11-12T03:43:06.160Z
中文译文更新时间：2026-11-14T05:05:54.030Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40emailens/mcp
原文对照：https://npmcn.com/package/%40emailens/mcp/?lang=original
项目主页：https://github.com/emailens/mcp#readme
源码仓库：https://github.com/emailens/mcp

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：162 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：3 个
- peer 依赖：sharp \>=0\.33\.0，playwright-core \>=1\.40\.0
- 首次发布：2026-02-25T18:12:45.788Z
- 最新版本发布：2026-11-12T03:43:05.906Z
- 近 30 天下载量：2314（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：25（近 12 个月 25 个）

## 中文简介

MCP服务器用于电子邮件兼容性分析:通过克洛德或任何MCP相容工具,在21个电子邮件客户端上预览,分析,修复,diff和抓取截图,来自HTML,MJML,Maizzle或React Email源.

## 安装

```sh
npm install @emailens/mcp
```

也可以使用：`pnpm add @emailens/mcp`、`yarn add @emailens/mcp`、`bun add @emailens/mcp`

## README

![emailens / mcp](https://npmcn.com/package/%40emailens/mcp/docs/wordmark-light.svg)

**AI 助手的电子邮件渲染分析**

[![CI](https://github.com/emailens/mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/emailens/mcp/actions/workflows/ci.yml) [![npm](https://badgen.net/npm/v/@emailens/mcp)](https://www.npmjs.com/package/@emailens/mcp) [![license](https://badgen.net/badge/license/MIT/green)](https://npmcn.com/package/%40emailens/mcp/LICENSE) [![MCP Registry](https://badgen.net/badge/MCP/Registry/blue)](https://registry.modelcontextprotocol.io/) [![Smithery](https://badgen.net/badge/Smithery/listed/orange)](https://smithery.ai/servers/emailens-mcp/emailens-mcp) [![GitHub stars](https://badgen.net/github/stars/emailens/mcp)](https://github.com/emailens/mcp/stargazers)

MCP服务器用于电子邮件兼容性分析. 分析,预览,diff,并固定21个电子邮件客户端的电子邮件,再加上抓取真实的截图并用可选的API密钥创建可共享链接.

发送 **HTML、MJML、Maizzle 或反应电子邮件**设置 `format` 和模板在分析前被编译,所以所检查的是阅读器实际收到的HTML.

为什么你的助手需要这个: 在我们追踪的298个CSS和HTML特性中,每个大电子邮件客户端中只有6个得到充分支持([查看数据](https://emailens.dev/email-css/report)) (中文(简体) ). 请克劳德检查你的电子邮件 在你发送它之前.

建造在 [`@emailens/engine`](https://github.com/emailens/engine). 也可作为 [GitHub 动作](https://github.com/marketplace/actions/emailens-email-preview-check)。 。 。 .

## 安装

```bash
npx -y @emailens/mcp
```

## 设置

### 克劳德桌面

添加为 `claude_desktop_config.json`数字 :

```json
{
  "mcpServers": {
    "emailens": {
      "command": "npx",
      "args": ["-y", "@emailens/mcp"]
    }
  }
}
```

### 克劳德代码

```bash
claude mcp add emailens -- npx -y @emailens/mcp
```

### 带有 API 密钥( 可选, 解锁截图 + 共享)

```json
{
  "mcpServers": {
    "emailens": {
      "command": "npx",
      "args": ["-y", "@emailens/mcp"],
      "env": {
        "EMAILENS_API_KEY": "ek_live_..."
      }
    }
  }
}
```

获取免费 API 密钥 [app.emailens.dev/dashboard/api (英语)](https://app.emailens.dev/dashboard/api?utm_source=mcp)。 。 。 .

### 远程( 没有安装)

使用主机端点:不需要npm或Node.js. 需要 API 密钥 .

```json
{
  "mcpServers": {
    "emailens": {
      "url": "https://app.emailens.dev/api/mcp",
      "headers": {
        "Authorization": "Bearer ek_live_..."
      }
    }
  }
}
```

## 工具

### 本地工具( 不需要账户)

#### `preview_email`

完整的电子邮件兼容预览:为21个客户端转换HTML,分析CSS,生成分数,模拟暗模式,检查收件箱预览和电子邮件大小.

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `html` | 字符串 | 一个 | 电子邮件 HTML 来源 |
| `path` | 字符串 | 一个 | 源文件的绝对路径代替 `html` (单位:千美元)`.html`, (中文(简体) ), `.htm`, (中文(简体) ), `.mjml`, (中文(简体) ), `.jsx`, (中文(简体) ), `.tsx`, (中文(简体) ), `.vue`); 扩展集 `format` |
| `clients` | 字符串 \[\] | 没有 | 过滤到特定客户端ID |
| `format` | 语句 | 没有 | `"html"`, (中文(简体) ), `"jsx"`, (中文(简体) ), `"mjml"`, (中文(简体) ), `"maizzle"` |

#### `analyze_email`

快速 CSS 兼容性分析; 返回每个客户的分数和每个问题一个发现. 较快 `audit_email` 当您只需要 CSS 兼容性时.

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `html` | 字符串 | 一个 | 电子邮件 HTML 来源 |
| `path` | 字符串 | 一个 | 源文件的绝对路径代替 `html` (单位:千美元)`.html`, (中文(简体) ), `.htm`, (中文(简体) ), `.mjml`, (中文(简体) ), `.jsx`, (中文(简体) ), `.tsx`, (中文(简体) ), `.vue`); 扩展集 `format` |
| `format` | 语句 | 没有 | 输入格式 |
| `detail` | 语句 | 没有 | `"summary"` (违约)或 `"full"` |
| `clients` | 字符串 \[\] | 没有 | 只报告客户身份 |
| `targetingPolicy` | 语句 | 没有 | `"progressive"` (违约), `"strict"`,或 `"lenient"` |

**每个问题都有一个发现 而不是每个客户一个.** 每个客户的引擎报告 因为一个分数是每个客户, 而每个选择者是因为一个固定是每个选择者. 在普通通讯上 `border-radius` 抵达12次(两名客户) 放弃它,六个选择者使用它),每份拷贝中都有相同的句子. 这是286KB的JSON, 大约73000个代币, 对于一个11KB电子邮件.

调查结果按财产、严重程度和信息分类,列出受影响的客户, 与所有的职位合并。 同一邮件现在返回 40KB .

```json
{
  "property": "border-radius",
  "severity": "warning",
  "clients": ["outlook-windows", "outlook-windows-legacy"],
  "message": "Does not support \"border-radius\". Round corners can be used in VML…",
  "fixType": "structural",
  "hasFix": true,
  "loc": { "line": 61, "column": 28, "offset": 2753, "length": 171 },
  "alsoAtLines": [62, 64, 75, 78, 87]
}
```

固定片段不包括在内;它们是286KB中的93KB,以及 `fix_email` 为您决定采取行动的问题制作它们. `hasFix` 告诉你一个是 可用; `fixType` 告诉你修理是加价还是CSS.

过 `detail: "full"` 发动机的每个客户形状 有片段,和 `clients: ["gmail-web", "outlook-windows"]` 只报告你关心的事: 最快的储蓄, 大约一半的反应 对于两个客户. 分数保持整封邮件 电子邮件在别处是值得的。 身份不明的客户端ID被姓名拒绝; a 空结果会读作“ 此邮件对客户端是好的 ” .

**来源位置.** 对于 HTML 输入, 每个警告带 `loc` (单位:千美元)`line`, (中文(简体) ), `column`, (中文(简体) ), `offset`, (中文(简体) ), `length`) 第一次出现,加 `alsoAtLines` 页:1 其他人,所以一个助手可以编辑确切的源,并知道其他的在哪里 对. `audit_email` 以同样的方式看待其他调查结果.

```json
{
  "property": "border-radius",
  "loc": { "line": 7, "column": 8, "offset": 142, "length": 25 },
  "alsoAtLines": [12, 19]
}
```

后来发生的是行号,而不是故意的完全位置: 答覆由一个支付每个符号的模型阅读,一个真正的通讯可以 生产出一千多起事件; 全部装入近一倍 有效载荷.

报告职位 `html` 仅输入。 汇编了JSX、MJML和Maizzle 因此,在分析之前,一个行号会指向生成的输出,而不是 您打开的文件: 工具省略了它, 而不是返回一个外观 权威.

#### `audit_email`

全面质量审计:CSS兼容性,垃圾邮件评分,链接验证,可访问性,图像,收件箱预览,大小(Gmail剪接),模板变量,内容溢出,视觉错误,暗模式和移动文本对比,设计一致性,以及客户端目标设定.

后三段覆盖了光线桌面预览无法显示的内容:当客户端强制黑模式或当电子邮件本身的暗块重新油漆表面而未重新涂色时会消失的文本,在电子邮件的断点下作对比,以及不同值但与读者不同的颜色.

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `html` | 字符串 | 一个 | 电子邮件 HTML 来源 |
| `path` | 字符串 | 一个 | 源文件的绝对路径代替 `html` (单位:千美元)`.html`, (中文(简体) ), `.htm`, (中文(简体) ), `.mjml`, (中文(简体) ), `.jsx`, (中文(简体) ), `.tsx`, (中文(简体) ), `.vue`); 扩展集 `format` |
| `format` | 语句 | 没有 | 输入格式 |
| `detail` | 语句 | 没有 | `"summary"` (违约)或 `"full"` |
| `clients` | 字符串 \[\] | 没有 | 只报告客户身份 |
| `skip` | 字符串 \[\] | 没有 | 选中要跳过( 例如 ) . `["spam", "images"]`(中文(简体) ) |
| `targetingPolicy` | 语句 | 没有 | `"progressive"` (违约), `"strict"`,或 `"lenient"` |
| `emailType` | 语句 | 没有 | `"transactional"` (不需要取消订阅链接)或 `"marketing"`输入:从内容中猜出 |
| `previousHtml` | 字符串 | 没有 | 持有这个版本的设计,通常是您的初稿. 寄出:这封邮件的第一个版本在会话中审计过. 被删除的编辑内容归根结底 `designRemovals` |

修补 `error` 财务报告和审定财务报表 `warning` 发现. `info` 发现不是问题:电子邮件安全地掉回那里,所以永远不要删除应答(`@media`)或暗模 CSS来清除它们.

#### `fix_email`

为兼容性问题生成一个结构化的固定快取. 以AI可以直接应用的固定指令返回标记下.

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `html` | 字符串 | 一个 | 要修复的电子邮件 HTML |
| `path` | 字符串 | 一个 | 源文件的绝对路径代替 `html` (单位:千美元)`.html`, (中文(简体) ), `.htm`, (中文(简体) ), `.mjml`, (中文(简体) ), `.jsx`, (中文(简体) ), `.tsx`, (中文(简体) ), `.vue`); 扩展集 `format` |
| `format` | 语句 | 没有 | 控制修正语法 |
| `scope` | 语句 | 没有 | `"all"` 或者说 `"current"` |
| `selectedClientId` | 字符串 | 没有 | 范围修正的客户端ID |

#### `list_clients`

列出所有21个支持的电子邮件客户端,并附有ID,姓名,引擎和暗模式支持.

#### `diff_emails`

比较两个电子邮件 HTML 版本;显示分数变化,固定问题,并介绍每个客户端的问题.

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `before` 编号 : `beforePath` | 字符串 | 一个 | 原始电子邮件来源或其文件 |
| `after` 编号 : `afterPath` | 字符串 | 一个 | 已修改的电子邮件源或其文件 |
| `format` | 语句 | 没有 | 输入格式 |

#### `check_deliverability`

请检查access-date=中的日期值 (帮助) 一个域的电子邮件可发送性:SPF, DKIM, DMARC, MX, BIMI 记录有分数和可采取行动的问题.

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `domain` | 字符串 | 对 | 要检查的域( 例如 ). `"company.com"`(中文(简体) ) |

#### `check_design`

电子邮件在每一个客户端的直播预览中是否仍然看起来像它的设计 . 它在真实浏览器中绘制邮件两次: 当客户端显示时, 以及 是你写的 然后按元素比较两种布局元素. 每个 当事人得到一个判决, `kept` (准备), `changed` (需要帮助)或 `broken` (Broken),原因: 堆叠的列, 移动或移动的按钮 调整大小、填充或角丢失、字体和间距改变。 这是 裁决电子邮件电子邮件页面显示。 编辑后代理可以调用到 证实修复没有在别处破坏布局.

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `html` | 字符串 | 一个 | 电子邮件 HTML 来源 |
| `path` | 字符串 | 一个 | 源文件的绝对路径代替 `html` |
| `clients` | 字符串 \[\] | 没有 | 要检查客户身份 默认:全部21个(每个数秒,一次4个) |
| `format` | 语句 | 没有 | 输入格式 |

```json
{ "broken": ["outlook-windows-legacy"],
  "results": [{ "clientId": "outlook-windows-legacy", "name": "Outlook Classic",
    "verdict": "broken", "label": "Broken",
    "sentence": "Outlook Classic breaks your design.",
    "reasons": ["Columns that sit side by side in your design stack on top of each other."],
    "more": 0 }] }
```

它需要一个浏览器。 添加 `playwright-core` 到服务器,以及 `sharp` 联 合 国 像素比较. 要么安装局部铬,要么对准您 无浏览器实例 :

```json
{
  "mcpServers": {
    "emailens": {
      "command": "npx",
      "args": ["-y", "-p", "@emailens/mcp", "-p", "playwright-core", "-p", "sharp", "emailens-mcp"],
      "env": { "BROWSERLESS_URL": "wss://..." }
    }
  }
}
```

无 `BROWSERLESS_URL`它用的是当地的铬. 安装一个 `npx playwright-core install chromium`还有几件事要知道:

-   它运行在灯光模式, 与我们的现场预览, 不是真正的收件箱.
-   与 `sharp`,它还比较了两页像素的截图,用 像素,就像主机检查一样。 这更常见于人类 审查者,每个结果都包含 `diff` (像素的去除份额)和 `aligned`没有 `sharp`,只比较页面结构.
-   对于无浏览器,会话必须保持全程开放. 举起一 简称 `TIMEOUT`,或者通过更少 `clients`。 。 。 .
-   脚本在两页中被关闭.
-   预览使用的字体站点被下载一次 app.emailens.dev 进入 `~/.cache/emailens/fonts`。 。 。 .

### 主机工具( 需要 `EMAILENS_API_KEY`(中文(简体) )

#### `capture_screenshots`

在真实浏览器中捕捉21个客户端的真实电子邮件截图. 屏幕截图由CDN主持.

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `html` | 字符串 | 一个 | 电子邮件 HTML 来源 |
| `path` | 字符串 | 一个 | 源文件的绝对路径代替 `html` (单位:千美元)`.html`, (中文(简体) ), `.htm`, (中文(简体) ), `.mjml`, (中文(简体) ), `.jsx`, (中文(简体) ), `.tsx`, (中文(简体) ), `.vue`); 扩展集 `format` |
| `format` | 语句 | 没有 | 输入格式 |
| `clients` | 字符串 \[\] | 没有 | 过滤客户端 |
| `modes` | 字符串 \[\] | 没有 | `["light"]`, (中文(简体) ), `["dark"]`,或 `["light", "dark"]` |
| `title` | 字符串 | 没有 | 预览的名称 |

免费计划:每天30个预览. [报名](https://emailens.dev/?utm_source=mcp)

#### `share_preview`

创建共享链接 。 接受者在没有账户的情况下看到全面分析.

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `html` | 字符串 | 一个 | 电子邮件 HTML 来源 |
| `path` | 字符串 | 一个 | 源文件的绝对路径代替 `html` (单位:千美元)`.html`, (中文(简体) ), `.htm`, (中文(简体) ), `.mjml`, (中文(简体) ), `.jsx`, (中文(简体) ), `.tsx`, (中文(简体) ), `.vue`); 扩展集 `format` |
| `title` | 字符串 | 没有 | 显示标题 |
| `format` | 语句 | 没有 | 输入格式 |

需要Dev计划(9/mo)。 共享链接在7天后过期(Dev)或永远不过期(Pro.

## 模板格式

`format` 接受 `html` (默认), `mjml`, (中文(简体) ), `maizzle` 财务报告和审定财务报表 `jsx` (反应) 电子邮件. `maizzle` 是 HTML 模板或 Vue 单文件组件。 粘贴 Vue 文件无 `format` 编译为 `maizzle`. 任何东西,但 `html` 实值 在分析前编译,并同时决定语法 固定片段回来.

编译比这更重要 一个电子邮件客户端使 _产出_这样 需要检查的是: 交出了原始文件 `<mjml>` 文档, HTML 解析器 在其中找不到 CSS 并报告一个完全干净的电子邮件 。 这样的答案是 比错误更糟糕,因为一个助手会重复它.

**编译器没有被捆绑.** MJML独自拉出56MB,这个服务器是 通常开始于 `npx`,所以引擎将它们保留为可选对等点 依赖性 :

```bash
npm install mjml                                              # MJML
npm install @maizzle/framework@5                             # Maizzle HTML
npm install @maizzle/framework@6                             # Maizzle Vue single-file components
npm install sucrase react @react-email/components @react-email/render  # React Email
```

它们必须安装在服务器运行的地方, 它并不总是在某个地方 你来控制 如果没有,请自行编译模板并发送结果 HTML 为 `format: "html"`:工具在打出这个时是这样说的.

## 支持的电子邮件客户端( 21)

每个客户端都会链接到其CSS支持页面. 每个助手的设置指南 : [电子邮件.dev/mcp](https://emailens.dev/mcp)。 。 。 .

| 客户端 | 身份证 | 黑暗模式 | 页:1 |
| --- | --- | --- | --- |
| [邮件](https://emailens.dev/email-css/clients/gmail-web) | `gmail-web` | 对 |  |
| [Gmail 安卓尔](https://emailens.dev/email-css/clients/gmail-android) | `gmail-android` | 对 |  |
| [邮件 iOS](https://emailens.dev/email-css/clients/gmail-ios) | `gmail-ios` | 对 |  |
| [展望365](https://emailens.dev/email-css/clients/outlook-web) | `outlook-web` | 对 |  |
| [展望窗口](https://emailens.dev/email-css/clients/outlook-windows) | `outlook-windows` | 没有 |  |
| [展望窗口遗产](https://emailens.dev/email-css/clients/outlook-windows-legacy) | `outlook-windows-legacy` | 没有 | 2026年10月折旧 |
| [IOS展望](https://emailens.dev/email-css/clients/outlook-ios) | `outlook-ios` | 对 | 以 4. 0 为单位新建 |
| [展望 Android](https://emailens.dev/email-css/clients/outlook-android) | `outlook-android` | 对 | 以 4. 0 为单位新建 |
| [宏的前景](https://emailens.dev/email-css/clients/outlook-macos) | `outlook-macos` | 对 | V.1.0中新建 |
| [苹果邮件](https://emailens.dev/email-css/clients/apple-mail-macos) | `apple-mail-macos` | 对 |  |
| [苹果邮件 iOS](https://emailens.dev/email-css/clients/apple-mail-ios) | `apple-mail-ios` | 对 |  |
| [雅虎邮件](https://emailens.dev/email-css/clients/yahoo-mail) | `yahoo-mail` | 对 |  |
| [雅虎邮件Android](https://emailens.dev/email-css/clients/yahoo-mail-android) | `yahoo-mail-android` | 对 | V.1.0中新建 |
| [Yahoo 邮件 iOS](https://emailens.dev/email-css/clients/yahoo-mail-ios) | `yahoo-mail-ios` | 对 | V.1.0中新建 |
| [三星邮件](https://emailens.dev/email-css/clients/samsung-mail) | `samsung-mail` | 对 |  |
| [雷鸟](https://emailens.dev/email-css/clients/thunderbird) | `thunderbird` | 没有 |  |
| [嘿,邮件](https://emailens.dev/email-css/clients/hey-mail) | `hey-mail` | 对 |  |
| [质子邮件](https://emailens.dev/email-css/clients/protonmail) | `protonmail` | 对 | V.1.0中新建 |
| [AOL 邮件](https://emailens.dev/email-css/clients/aol) | `aol` | 对 | V.1.0中新建 |
| [快递](https://emailens.dev/email-css/clients/fastmail) | `fastmail` | 对 | V.1.0中新建 |
| [超级人](https://emailens.dev/email-css/clients/superhuman) | `superhuman` | 对 |  |

## 释放

两个出版物:npm和MCP登记册。 登记名单排列为5个 释放后,因为没有推进 `server.json`,所以一半是一个 现在工作流程. [相关内容](https://npmcn.com/package/%40emailens/mcp/RELEASING.md) 有细节和四个 设置该版本必须同意.

## 发展

```bash
bun install
bun run build
bun test
bun run typecheck
```

## 许可证

麻省理工学院

* * *

如果这能让你免于Outlook惊喜, [一颗恒星](https://github.com/emailens/mcp) 帮助其他电子邮件开发者找到它.

## 常见问题

### @emailens/mcp 是什么？

MCP服务器用于电子邮件兼容性分析:通过克洛德或任何MCP相容工具,在21个电子邮件客户端上预览,分析,修复,diff和抓取截图,来自HTML,MJML,Maizzle或React Email源\.

### 如何安装 @emailens/mcp？

在项目目录运行 npm install @emailens/mcp，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 emailens-mcp，可以用 npx emailens-mcp 直接运行。

### @emailens/mcp 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @emailens/mcp 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @emailens/mcp 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @emailens/mcp 可以商用吗？

@emailens/mcp 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @emailens/mcp 的下载量有多少？

根据 npm 官方下载统计，@emailens/mcp 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,314 次，日均约 77 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @emailens/mcp 还在维护吗？

最新版本 0\.16\.0 发布于 2026/11/12（2 天前）；至今共发布 25 个版本，其中过去 12 个月发布了 25 个；首次发布于 2026/02/26。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

