emailmd
Renders markdown into email-safe HTML that holds up in Outlook and Gmail, lints drafts for deliverability problems, and returns a live preview link. Also serves the emailmd syntax reference so an assistant can look up directives on demand.
README
emailmd
Write markdown. Ship emails. No HTMHELL.
emailmd converts markdown into responsive, email-safe HTML that works across Gmail, Outlook, Apple Mail, Yahoo, and every other client.

Install
npm install emailmd
Quick Start
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 migration:
render()is now async. Update calls fromrender(md)toawait render(md). Requires Node 20+ (MJML 5).
CLI
emailmd also ships with a command-line interface.
# 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
Run emailmd --help for all options.
React
@emailmd/react provides a live-preview hook (useEmailmd), an <EmailPreview /> iframe component, and <EmailmdBuilder /> — the full builder as a drop-in component for your own app.
npm install @emailmd/react emailmd
Learn More
- Docs — full syntax reference, theming, frontmatter, directives, and API
- Templates — ready-made email templates you can copy and customize
- Builder — live editor to write and preview emails in your browser
MCP
emailmd ships a Model Context Protocol server, so an AI assistant can render, lint, and preview emails for you. It exposes three tools — render (markdown to email-safe HTML), lint (flag deliverability problems without rendering), and read_docs (look up emailmd syntax) — over either transport:
# Hosted (Streamable HTTP)
https://www.emailmd.dev/api/mcp
# Or run it locally over stdio
npx emailmd mcp
Published to the official MCP registry as dev.emailmd/emailmd. See the MCP docs for per-client setup.
AI
Prefer plain context over tools? emailmd is just markdown, so AI is great at writing templates. Feed the full docs to your AI tool:
https://www.emailmd.dev/llms-full.txt
Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request.
emailmd is under active development. The API may change between minor versions until we hit 1.0 — breaking changes are always called out in the changelog. See Stability & Versioning for what the semver contract covers.
Acknowledgements
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.