mcpField
E
Emailens MCP

Emailens MCP

リモート
emailens.dev開発ツール7今日更新
リポジトリ公式サイト

Emailens MCP について

Emailens MCPは、HTML、MJML、Maizzle、React Emailでメールを作る開発者やコンテンツチーム向けに、互換性と品質を検査します。分析前にテンプレートをコンパイルし、版の比較や修正プロンプトの生成も行えます。APIキーでスクリーンショットと共有機能を利用できます。

主な機能

  1. 0121のメールクライアントで互換性を確認
  2. 02スパム・リンク・アクセシビリティを監査
  3. 03複数のメールテンプレート形式をコンパイル
  4. 04版を比較して修正プロンプトを生成
  5. 05任意のスクリーンショットとプレビュー共有

活用シーン

  1. 01送信前に各クライアントでの表示を確認
  2. 02マーケティングメールの到達性とアクセシビリティを監査
  3. 03編集前後の問題を比較
  4. 04互換性問題への修正指針を作成

MCP 対応

メールのプレビュー、分析、監査、修正、クライアント一覧、版の比較、ドメインの到達性確認ツールをMCPクライアントに提供します。スクリーンショットと共有ツールにはEMAILENS_API_KEYが必要で、ホスト済みエンドポイントにも接続できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://emailens.dev/api/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@emailens/mcp0.14.0

ツール

13
パラメーター型必須説明
htmlstringはいメールの HTML ソースコード
formatenumいいえ入力形式:'html'(デフォルト)、'jsx'、'mjml'、または 'maizzle'。html | jsx | mjml | maizzle
clientsarrayいいえ任意のクライアント ID フィルター

詳細

emailens / mcp

AI アシスタント向けメールレンダリング分析

CI npm license MCP Registry Smithery GitHub stars

メールの互換性を分析する MCP サーバーです。21 のメールクライアントでメールを分析、プレビュー、差分確認、修正できます。また、オプションの API キーを使えば、実際のスクリーンショットを取得して共有可能なリンクを作成できます。

HTML、MJML、Maizzle、React Email を送信できます。format を設定すると、分析前にテンプレートがコンパイルされるため、読者が実際に受け取る HTML がチェックされます。

アシスタントが必要な理由:追跡対象の 298 個の CSS および HTML 機能のうち、主要なすべてのメールクライアントで完全にサポートされているのは 6 個だけです(データを見る)。メールを送信する前に、Claude にチェックを依頼しましょう。

@emailens/engine を基盤としています。GitHub Action としても利用できます。

インストール

npx -y @emailens/mcp

セットアップ

Claude Desktop

claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "emailens": {
      "command": "npx",
      "args": ["-y", "@emailens/mcp"]
    }
  }
}
Claude Code
claude mcp add emailens -- npx -y @emailens/mcp
API キーを使用する場合(任意。スクリーンショットと共有機能を利用できます)
{
  "mcpServers": {
    "emailens": {
      "command": "npx",
      "args": ["-y", "@emailens/mcp"],
      "env": {
        "EMAILENS_API_KEY": "ek_live_..."
      }
    }
  }
}

無料の API キーは app.emailens.dev/dashboard/api で取得できます。

リモート(インストール不要)

ホストされたエンドポイントを使用します。npm や Node.js は不要です。API キーが必要です。

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

ツール

ローカルツール(アカウント不要)
preview_email

メールの完全な互換性プレビュー:21 のクライアント向けに HTML を変換し、CSS を分析してスコアを生成し、ダークモードをシミュレートし、受信トレイのプレビューとメールサイズをチェックします。

パラメーター型必須説明
htmlstringいずれか1つメールの HTML ソース
pathstringいずれか1つhtml の代わりに指定するソースファイルの絶対パス(.html、.htm、.mjml、.jsx、.tsx、.vue)。拡張子によって format が設定されます
clientsstring[]いいえ特定のクライアント ID に絞り込みます
formatenumいいえ"html"、"jsx"、"mjml"、"maizzle"
analyze_email

CSS の互換性をすばやく分析し、クライアントごとのスコアと問題ごとの指摘を 1 件ずつ返します。CSS の互換性だけを確認したい場合は、audit_email より高速です。

ParameterTypeRequiredDescription
htmlstringOne ofメールの HTML ソース
pathstringOne ofhtml の代わりに指定する、ソースファイルへの絶対パス(.html、.htm、.mjml、.jsx、.tsx、.vue)。拡張子によって format が設定されます
formatenumNo入力形式
detailenumNo"summary"(デフォルト)または "full"
clientsstring[]No指定したクライアント ID のみを報告します
targetingPolicyenumNo"progressive"(デフォルト)、"strict"、または "lenient"

クライアントごとではなく、問題ごとに指摘を 1 件返します。 スコアはクライアントごと、修正はセレクターごとに行うため、エンジンはクライアントごと、セレクターごとに報告します。一般的なニュースレターでは、border-radius が 12 回(このプロパティを無視するクライアントが 2 つ、使用するセレクターが 6 つ)届き、どのコピーにも同じ文章が含まれていました。これは 286KB の JSON、約 73,000 トークンに相当し、メールのサイズは 11KB でした。

指摘はプロパティ、重大度、メッセージごとにまとめられ、影響を受けるクライアントが一覧表示され、位置情報もすべて統合されます。同じメールの応答は 40KB になりました。

{
  "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"] を指定します。これがさらなる高速化につながり、2 つのクライアントを指定した場合、応答はおよそ半分になります。どちらの場合もスコアはメール全体を対象とします。報告対象を絞り込んでも、ほかのクライアントにおけるメールの評価は変わりません。不明なクライアント ID は名前を示して拒否されます。結果が空だと、そのクライアントでは「このメールに問題はない」という意味に受け取られるためです。

ソース位置。 HTML 入力の場合、各警告には最初の出現箇所の loc(line、column、offset、length)に加え、ほかの出現箇所を示す alsoAtLines が含まれます。そのため、アシスタントはソースの正確な箇所を編集でき、残りの箇所も把握できます。audit_email も、ほかの指摘について同じ方法で位置を示します。

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

後続の出現箇所は、意図的に完全な位置情報ではなく行番号で示します。この応答を読むモデルはトークンごとにコストがかかり、実際のニュースレターでは出現箇所が 1,000 件を超えることがあるため、すべてを完全な形式で含めるとペイロードがほぼ 2 倍になります。

位置情報が報告されるのは html 入力の場合のみです。JSX、MJML、Maizzle は分析前にコンパイルされるため、行番号は開いているファイルではなく生成された出力を指してしまいます。そのため、ツールは権威があるように見える誤った行番号を返すのではなく、省略します。

audit_email

包括的な品質監査:CSS の互換性、スパムスコア、リンクの検証、アクセシビリティ、画像、受信トレイのプレビュー、サイズ(Gmail によるクリッピング)、テンプレート変数、コンテンツのはみ出し、視覚的な不具合、ダークモードとモバイルでのテキストコントラスト、デザインの一貫性、クライアントのターゲティング。

最後の3項目では、デスクトップでの簡易プレビューでは確認できない問題を扱います。クライアントがダークモードを強制したとき、またはメール内のダークブロックが背景を再描画して、その上のテキストの色を変えないときに消えてしまうテキスト、メールのブレークポイントを下回るコントラスト、そして値は異なっても読者には違いが分からない色です。

パラメーター型必須説明
htmlstringいずれか1つメールの HTML ソース
pathstringいずれか1つhtml の代わりに指定するソースファイルの絶対パス(.html、.htm、.mjml、.jsx、.tsx、.vue)。拡張子によって format が設定されます
formatenumいいえ入力形式
detailenumいいえ"summary"(デフォルト)または "full"
clientsstring[]いいえ指定したクライアント ID のみを報告します
skipstring[]いいえスキップするチェック(例:["spam", "images"])
targetingPolicyenumいいえ"progressive"(デフォルト)、"strict"、または "lenient"
emailTypeenumいいえ"transactional"(配信停止リンクは不要)または "marketing"。省略時はコンテンツから推定します
previousHtmlstringいいえこのバージョンを比較するデザイン。通常は最初のドラフトです。省略時は、セッション内で監査したこのメールの最初のバージョンになります。編集で削除された内容は designRemovals として返されます

error と warning の指摘事項を修正してください。info の指摘事項は問題ではありません。その場合、メールは安全にフォールバックするため、これらを解消する目的でレスポンシブ(@media)やダークモードの CSS を削除しないでください。

fix_email

互換性の問題を修正するための、構造化された修正プロンプトを生成します。AI が直接適用できる修正手順を含む Markdown を返します。

パラメーター型必須説明
htmlstringいずれか1つ修正するメールの HTML
pathstringいずれか1つhtml の代わりに指定するソースファイルの絶対パス(.html、.htm、.mjml、.jsx、.tsx、.vue)。拡張子によって format が設定されます
formatenumいいえ修正構文を制御します
scopeenumいいえ"all" または "current"
selectedClientIdstringいいえ対象を限定した修正に使用するクライアント ID
list_clients

サポートされている21種類のメールクライアントについて、ID、名前、エンジン、ダークモードのサポート状況を一覧表示します。

diff_emails

2つのメール HTML バージョンを比較し、クライアントごとのスコアの変化、修正された問題、新たに発生した問題を表示します。

パラメーター型必須説明
before / beforePathstringいずれか1つ元のメールソース、またはそのファイル
after / afterPathstringいずれか1つ変更後のメールソース、またはそのファイル
formatenumいいえ入力形式
check_deliverability

ドメインのメール到達性を確認します。SPF、DKIM、DMARC、MX、BIMI のレコードをチェックし、スコアと実行可能な問題を提示します。

パラメーター型必須説明
domainstringはい確認するドメイン(例:"company.com")
ホスト型ツール(EMAILENS_API_KEY が必要です)
capture_screenshots

実際のブラウザーで21種類のクライアントにおけるメールのスクリーンショットを撮影します。スクリーンショットは CDN でホストされます。

パラメーター型必須説明
htmlstringいずれか1つメールの HTML ソース
pathstringいずれか1つhtml の代わりに指定するソースファイルの絶対パス(.html、.htm、.mjml、.jsx、.tsx、.vue)。拡張子によって format が設定されます
formatenumいいえ入力形式
clientsstring[]いいえクライアントを絞り込みます
modesstring[]いいえ["light"]、["dark"]、または ["light", "dark"]
titlestringいいえプレビューの名前

無料プラン:1日30回までプレビューできます。登録

share_preview

共有可能なリンクを作成します。受信者はアカウントなしで分析の全内容を確認できます。

パラメーター型必須説明
htmlstringいずれか1つメールの HTML ソース
pathstringいずれか1つhtml の代わりに指定するソースファイルの絶対パス(.html、.htm、.mjml、.jsx、.tsx、.vue)。拡張子によって format が設定されます
titlestringいいえ表示タイトル
formatenumいいえ入力形式

Dev プラン(月額 $9)が必要です。共有リンクの有効期限は Dev では7日間、Pro では無期限です。

テンプレート形式

format には html(デフォルト)、mjml、maizzle、jsx(React Email)を指定できます。maizzle は HTML テンプレート、または Vue の単一ファイルコンポーネントです。format を指定せずに Vue ファイルを貼り付けると、maizzle としてコンパイルされます。html 以外の形式は分析前にコンパイルされ、修正用スニペットの構文も決定します。

コンパイルの重要性は、見た目以上です。メールクライアントがレンダリングするのは 出力 なので、検査対象もそれでなければなりません。生の <mjml> ドキュメントを渡すと、HTML パーサーは CSS を見つけられず、メールに問題がないと報告してしまいます。このような回答はエラーよりも厄介です。アシスタントがその回答を繰り返すためです。

コンパイラーは同梱されていません。 MJML だけでも 56MB を占めます。また、このサーバーは通常 npx で起動されるため、エンジンではコンパイラーをオプションのピア依存関係として扱っています。

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 対応状況のページです。すべてのアシスタント向けのセットアップガイドは、emailens.dev/mcp をご覧ください。

クライアントIDダークモード備考
Gmailgmail-webはい
Gmail Androidgmail-androidはい
Gmail iOSgmail-iosはい
Outlook 365outlook-webはい
Outlook Windowsoutlook-windowsいいえ
Outlook Windows Legacyoutlook-windows-legacyいいえ2026年10月に非推奨
Outlook iOSoutlook-iosはいv0.4.0 で追加
Outlook Androidoutlook-androidはいv0.4.0 で追加
Outlook for Macoutlook-macosはいv0.10.0 で追加
Apple Mailapple-mail-macosはい
Apple Mail iOSapple-mail-iosはい
Yahoo Mailyahoo-mailはい
Yahoo Mail Androidyahoo-mail-androidはいv0.10.0 で追加
Yahoo Mail iOSyahoo-mail-iosはいv0.10.0 で追加
Samsung Mailsamsung-mailはい
Thunderbirdthunderbirdいいえ
HEY Mailhey-mailはい
Proton Mailprotonmailはいv0.10.0 で追加
AOL Mailaolはいv0.10.0 で追加
Fastmailfastmailはいv0.10.0 で追加
Superhumansuperhumanはい

リリース

公開先はnpmとMCPレジストリの2つです。server.jsonがプッシュされていなかったため、レジストリの掲載情報は5回分のリリース遅れが生じていました。そのため、現在はその部分もワークフローに含まれています。詳細と、バージョンを一致させる必要がある4か所については、RELEASING.mdをご覧ください。

開発

bun install
bun run build
bun test
bun run typecheck

ライセンス

MIT


Outlookでの思わぬ事態を防げたなら、スターを付けていただくと、ほかのメール開発者にも見つけてもらいやすくなります。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。