关于 emailmd
emailmd 是一个用于将 Markdown 转换为邮件安全 HTML 的 MCP 服务,同时可检查草稿的送达问题并预览邮件。适合需要编写邮件模板的开发者和团队。其特点是图表以 Markdown 列表书写,并同时生成纯文本版本。
主要功能
- 01Markdown 转换为响应式、邮件安全的 HTML
- 02检查草稿的送达性问题
- 03图表、进度条、KPI 卡片等数据组件
- 04纯文本版本同步生成图表
- 05提供命令行工具与 React 组件
适用场景
- 01将 Markdown 撰写的内容转换为邮件 HTML
- 02在发送前检查邮件草稿的送达性问题
- 03让 AI 助手直接渲染和预览邮件
MCP 相关
emailmd 提供 MCP 服务,向 MCP 客户端暴露 render、lint 和 read_docs 三个工具,支持远程 Streamable HTTP 与本地 stdio 两种传输方式。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://www.emailmd.dev/api/mcpclaude mcp add --transport http dev-emailmd-emailmd https://www.emailmd.dev/api/mcp{"mcpServers":{"dev-emailmd-emailmd":{"type":"http","url":"https://www.emailmd.dev/api/mcp"}}}在 Cursor 中打开{"servers":{"dev-emailmd-emailmd":{"type":"http","url":"https://www.emailmd.dev/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"dev-emailmd-emailmd":{"type":"http","url":"https://www.emailmd.dev/api/mcp"}}}{"mcpServers":{"dev-emailmd-emailmd":{"serverUrl":"https://www.emailmd.dev/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
3| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| minify | boolean | 否 | 压缩 HTML。建议在发送前使用;有助于避免超过 Gmail 的 102KB 截断限制。 |
| markdown | string | 是 | emailmd Markdown 文档,可选以 YAML frontmatter 开头。 |
| partials | object | 否 | 命名的 Markdown 局部内容,会插入到文档中出现 "::: include <name>" 的位置。 |
详细介绍
emailmd
编写 Markdown。发送邮件。拒绝 HTMHELL。
emailmd 可将 Markdown 转换为响应式、适用于邮件的 HTML,兼容 Gmail、Outlook、Apple Mail、Yahoo 及其他所有客户端。

安装
npm install emailmd
快速入门
import { render } from "emailmd";
const { html, text } = await render(`
# Welcome!
Thanks for signing up.
[Get Started](https://example.com){button}
`);
// html → complete email-safe HTML
// text → plain text version for text/plain MIME part
v0.3.0 迁移说明:
render()现在是异步的。请将调用从render(md)更新为await render(md)。需要 Node 20+(MJML 5)。
图表与数据
条形图、进度条、迷你趋势图、KPI 磁贴、步骤追踪器和星级评分,均可通过普通 Markdown 列表编写:
::: chart
- Spotify: 16,900
- Apple Podcasts: 12,400
- Web player: 6,200
- RSS: 2,900
:::

它们由表格单元格和文本字符绘制,而非图片或 SVG,因此即使客户端屏蔽远程图片,也能正常渲染;在纯文本部分中,它们也会重新绘制,而不是缩成数字列表。请参阅指令参考。
CLI
emailmd 还附带命令行界面。
# Render to HTML
emailmd input.md
# Write to file
emailmd input.md -o output.html
# Plain text output
emailmd input.md --text
# Pipe from another command
echo "# Hello" | emailmd
运行 emailmd --help 查看所有选项。
React
@emailmd/react 提供实时预览钩子(useEmailmd)、<EmailPreview /> iframe 组件,以及 <EmailmdBuilder />——可作为即插即用组件集成到你自己的应用中的完整构建器。
npm install @emailmd/react emailmd
了解更多
MCP
emailmd 附带一个 Model Context Protocol 服务,因此 AI 助手可以为你渲染、检查和预览邮件。它通过以下任一传输方式提供三个工具:render(将 Markdown 转换为适用于邮件的 HTML)、lint(标记送达性问题,无需渲染)和 read_docs(查询 emailmd 语法):
# Hosted (Streamable HTTP)
https://www.emailmd.dev/api/mcp
# Or run it locally over stdio
npx emailmd mcp
该服务已作为 dev.emailmd/emailmd 发布到官方 MCP 注册表。有关各客户端的设置说明,请参阅 MCP 文档。
AI
更喜欢纯文本上下文而非工具?emailmd 就是 Markdown,因此 AI 很擅长编写模板。将完整文档提供给你的 AI 工具:
https://www.emailmd.dev/llms-full.txt
参与贡献
欢迎贡献!欢迎提交 issue 或 pull request。
emailmd 正在积极开发中。在达到 1.0 之前,API 可能会在次要版本之间发生变化——重大变更总会在变更日志中明确说明。关于语义化版本约定所涵盖的内容,请参阅稳定性与版本管理。
致谢
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。