emailens-mcp

@emailens/mcp MCP server for email compatibility analysis.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • Preview Email: Full email compatibility preview , transforms HTML for 21 email clients, analyzes CSS, generates scores, simulates dark mode, checks inbox preview and email size.
  • Analyze Email: Quick CSS compatibility analysis , returns warnings and per-client scores.
  • Audit Email: Comprehensive quality audit , CSS compatibility, spam, links, accessibility, images, inbox preview, size, templates, content overflow, visual bugs.

What data it sees

Do you need an account

No: the server works without sign-in

@emailens/mcp

MCP server for email compatibility analysis. Analyze, preview, diff, and fix HTML emails across 15 email clients — plus capture real screenshots and create shareable links with an optional API key.

Built on @emailens/engine.

Install

npx -y @emailens/mcp

Setup

Claude Desktop

Add to claude_desktop_config.json:

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

Claude Code

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

With API Key (optional — unlocks screenshots + sharing)

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

Get your free API key at emailens.dev/settings/api-keys.

Tools

Local Tools (no account needed)

preview_email

Full email compatibility preview — transforms HTML for 15 clients, analyzes CSS, generates scores, simulates dark mode, checks inbox preview and email size.

Parameter Type Required Description
html string Yes Email HTML source
clients string[] No Filter to specific client IDs
format enum No "html", "jsx", "mjml", "maizzle"

analyze_email

Quick CSS compatibility analysis — returns per-client scores and warnings. Faster than audit_email when you only need CSS compatibility.

Parameter Type Required Description
html string Yes Email HTML source
format enum No Input format

audit_email

Comprehensive quality audit — CSS compatibility, spam scoring, link validation, accessibility, images, inbox preview, size (Gmail clipping), and template variables.

Parameter Type Required Description
html string Yes Email HTML source
format enum No Input format
skip string[] No Checks to skip (e.g. ["spam", "images"])

fix_email

Generate a structured fix prompt for compatibility issues. Returns markdown with fix instructions that the AI can apply directly.

Parameter Type Required Description
html string Yes Email HTML to fix
format enum No Controls fix syntax
scope enum No "all" or "current"
selectedClientId string No Client ID for scoped fixes

list_clients

List all 15 supported email clients with IDs, names, engines, and dark mode support.

diff_emails

Compare two email HTML versions — shows score changes, fixed issues, and introduced issues per client.

Parameter Type Required Description
before string Yes Original email HTML
after string Yes Modified email HTML
format enum No Input format

check_deliverability

Check email deliverability for a domain — SPF, DKIM, DMARC, MX, BIMI records with a score and actionable issues.

Parameter Type Required Description
domain string Yes Domain to check (e.g. "company.com")

Hosted Tools (require EMAILENS_API_KEY)

capture_screenshots

Capture real email screenshots across 15 clients in real browsers. Screenshots are hosted on CDN.

Parameter Type Required Description
html string Yes Email HTML source
format enum No Input format
clients string[] No Filter clients
modes string[] No ["light"], ["dark"], or ["light", "dark"]
title string No Name for the preview

Free plan: 30 previews/day. Sign up

share_preview

Create a shareable link. Recipients see the full analysis without an account.

Parameter Type Required Description
html string Yes Email HTML source
title string No Display title
format enum No Input format

Requires Dev plan ($9/mo). Share links expire after 7 days (Dev) or never (Pro).

Supported Email Clients (15)

Client ID Dark Mode Notes
Gmail gmail-web Yes
Gmail Android gmail-android Yes
Gmail iOS gmail-ios Yes
Outlook 365 outlook-web Yes
Outlook Windows outlook-windows No
Outlook Windows Legacy outlook-windows-legacy No Deprecated Oct 2026
Outlook iOS outlook-ios Yes New in v0.4.0
Outlook Android outlook-android Yes New in v0.4.0
Apple Mail apple-mail-macos Yes
Apple Mail iOS apple-mail-ios Yes
Yahoo Mail yahoo-mail Yes
Samsung Mail samsung-mail Yes
Thunderbird thunderbird No
HEY Mail hey-mail Yes
Superhuman superhuman Yes

Development

bun install
bun run build
bun test
bun run typecheck

How to connect

How to connect emailens-mcp to Claude

The server address to paste into Claude settings:

https://emailens-mcp.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect emailens-mcp to ChatGPT

The server address to paste into ChatGPT settings:

https://emailens-mcp.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect emailens-mcp to Cursor

The server address to paste into Cursor settings:

https://emailens-mcp.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (9)

Raw names from tools/list. Only developers need these.

preview_emailFull email compatibility preview , transforms HTML for 21 email clients, analyzes CSS, generates scores, simulates dark mode, checks inbox preview and email size.
analyze_emailQuick CSS compatibility analysis , returns warnings and per-client scores.
audit_emailComprehensive quality audit , CSS compatibility, spam, links, accessibility, images, inbox preview, size, templates, content overflow, visual bugs.
fix_emailGenerate a structured fix prompt for email compatibility issues.
list_clientsList all 21 supported email clients with IDs, names, rendering engines, dark mode support, and deprecation status. Use the returned IDs to filter other tools like preview_email or capture_screenshots.
diff_emailsCompare two email HTML versions , shows score changes, fixed issues, and regressions per client.
check_deliverabilityCheck email deliverability for a domain , SPF, DKIM, DMARC, MX, BIMI.
build_emailGenerate a cross-client-compatible email from a brief using Emailens's self-healing loop (generate → score across 21 clients → repair). Output stays in the framework you choose. Returns a runId immediately , poll get_build_status for progress and the final code. Requires a Pro/Team API key.
get_build_statusCheck a build_email run by runId , returns status, iteration, best compatibility score, and the current best source once available.