Emailens MCP

Created By
KAM Sié Philippe Angelo2 months ago
Email compatibility analysis across 15 clients — preview, audit, fix, diff, and deliverability checks. 9 tools, free and open source. Works with Claude, Cursor, and any MCP client.
Overview

@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.

ParameterTypeRequiredDescription
htmlstringYesEmail HTML source
clientsstring[]NoFilter to specific client IDs
formatenumNo"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.

ParameterTypeRequiredDescription
htmlstringYesEmail HTML source
formatenumNoInput format

audit_email

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

ParameterTypeRequiredDescription
htmlstringYesEmail HTML source
formatenumNoInput format
skipstring[]NoChecks 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.

ParameterTypeRequiredDescription
htmlstringYesEmail HTML to fix
formatenumNoControls fix syntax
scopeenumNo"all" or "current"
selectedClientIdstringNoClient 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.

ParameterTypeRequiredDescription
beforestringYesOriginal email HTML
afterstringYesModified email HTML
formatenumNoInput format

check_deliverability

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

ParameterTypeRequiredDescription
domainstringYesDomain 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.

ParameterTypeRequiredDescription
htmlstringYesEmail HTML source
formatenumNoInput format
clientsstring[]NoFilter clients
modesstring[]No["light"], ["dark"], or ["light", "dark"]
titlestringNoName for the preview

Free plan: 30 previews/day. Sign up

share_preview

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

ParameterTypeRequiredDescription
htmlstringYesEmail HTML source
titlestringNoDisplay title
formatenumNoInput format

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

Supported Email Clients (15)

ClientIDDark ModeNotes
Gmailgmail-webYes
Gmail Androidgmail-androidYes
Gmail iOSgmail-iosYes
Outlook 365outlook-webYes
Outlook Windowsoutlook-windowsNo
Outlook Windows Legacyoutlook-windows-legacyNoDeprecated Oct 2026
Outlook iOSoutlook-iosYesNew in v0.4.0
Outlook Androidoutlook-androidYesNew in v0.4.0
Apple Mailapple-mail-macosYes
Apple Mail iOSapple-mail-iosYes
Yahoo Mailyahoo-mailYes
Samsung Mailsamsung-mailYes
ThunderbirdthunderbirdNo
HEY Mailhey-mailYes
SuperhumansuperhumanYes

Development

bun install
bun run build
bun test
bun run typecheck

Server Config

{
  "mcpServers": {
    "emailens": {
      "url": "https://emailens.dev/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_EMAILENS_API_KEY>"
      }
    }
  }
}
Project Info
Created At
2 months ago
Updated At
2 months ago
Author Name
KAM Sié Philippe Angelo
Star
-
Language
-
License
-
Category

Recommend Servers

View All
GovQL
@Alex Stout

# govql-mcp-server An MCP (Model Context Protocol) server for [GovQL](https://govql.us) — gives AI clients like Claude Desktop, Claude Code, and Cursor direct access to the US Congressional GraphQL API at [api.govql.us/graphql](https://api.govql.us/graphql) without bespoke HTTP wiring. For the design rationale (why FastMCP-Python, the passthrough+curated philosophy, roadmap through v0.4), see [design.md](https://github.com/govql/govql/blob/main/mcp-server/docs/design.md). ## What you can do with it Ask an agent questions like: - *"How did Vermont's two senators vote on the most recent nomination?"* - *"Which legislators in the 118th Congress switched parties during their service?"* - *"Compare Senator Sanders' voting record to Senator Murkowski's on cloture votes in the most recent Congress."* The agent picks the right tool, writes the GraphQL query against the live schema, and parses the response — no manual API wrangling. ## Install The server runs as a per-client subprocess over stdio. Pick your client: ### Claude Desktop Edit `claude_desktop_config.json` (Settings → Developer → Edit Config): ```json { "mcpServers": { "govql": { "command": "uvx", "args": ["govql-mcp-server"] } } } ``` Restart Claude Desktop. The `govql` tools appear in the tools panel. ### Claude Code Add to `.mcp.json` in your project (or `~/.mcp.json` for global): ```json { "mcpServers": { "govql": { "command": "uvx", "args": ["govql-mcp-server"] } } } ``` ### Cursor Settings → MCP → Add Server. Use the same `command` / `args` as above. ### Other clients Any MCP-compatible client that supports stdio servers will work. The command is `uvx govql-mcp-server` with no required arguments. ## Tools | Tool | Purpose | |---|---| | `execute_graphql` | Run any GraphQL query against the GovQL endpoint. Returns the result plus an `last_ingest` timestamp so the agent can reason about data freshness. | | `list_types` | Returns the names and kinds of every type in the GovQL schema. Optional `kind` filter (`"OBJECT"`, `"INPUT_OBJECT"`, `"ENUM"`, etc.) to narrow further. Start here when you don't know what's queryable. | | `describe_type` | Returns one type's full details — fields, arg signatures, input fields, enum values. Call after `list_types` to learn the shape of a specific type before writing a query. | ## Configuration All env vars are optional — the package is zero-config for end users. | Env var | Default | Purpose | |---|---|---| | `GOVQL_ENDPOINT` | `https://api.govql.us/graphql` | Endpoint to query. Override to point at a local dev stack. | | `GOVQL_TIMEOUT_MS` | `30000` | Per-request HTTP timeout. | | `LOG_LEVEL` | `INFO` | Logging level. Logs go to stderr only (stdout is reserved for the MCP transport). | ## Limits (enforced by the upstream API) - Max query depth: 10 - Max query complexity: ~10 billion points (`first: N` multiplies child cost by N — keep page sizes reasonable on deeply nested queries) - Rate limit: 100 requests / 60 s per source IP A depth or complexity violation surfaces as a GraphQL `errors` entry in the tool response so the agent can adjust and retry. ## Data freshness Every `execute_graphql` response includes a `last_ingest` ISO timestamp. Vote data refreshes hourly; legislator data refreshes daily. ## Status Version 0.1.0 ships three foundational tools: a GraphQL passthrough (`execute_graphql`) and two narrow schema-discovery tools (`list_types`, `describe_type`). Curated higher-level tools (`find_legislator`, `get_voting_record`, `compare_voters`, etc.) are planned for subsequent releases — see [design.md](https://github.com/govql/govql/blob/main/mcp-server/docs/design.md) for the roadmap. ## Links - [GovQL project site](https://govql.us) - [GraphQL API](https://api.govql.us/graphql) - [Source / issues](https://github.com/govql/govql)

a day ago