emailmd
MCP serverDocs & knowledgeemailmd turns markdown drafts into email-safe HTML so your messages render properly in inboxes. Once added, your AI can write emails in markdown, convert them for sending, check them for deliverability problems, and preview the result before anything goes out.
Use emailmd in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add emailmd and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use emailmd to render
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Details
Available today. Use it from your connected AI after setup.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Add emailmd, then give your AI a markdown draft to convert, lint, and preview. You can find it at github.com/anypost/emailmd.
What your AI can do with it
- Convert markdown drafts into email-safe HTML
- Lint drafts for deliverability problems before sending
- Preview emails to check how they will look
- Write email content in markdown and get clean HTML back
Install emailmd
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user emailmd 'https://www.emailmd.dev/api/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://www.emailmd.dev/api/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=emailmd&config=eyJ1cmwiOiJodHRwczovL3d3dy5lbWFpbG1kLmRldi9hcGkvbWNwIn0=Open the link and Cursor adds the server at that address.
ChatGPT
https://www.emailmd.dev/api/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add emailmd --url 'https://www.emailmd.dev/api/mcp'Run it once, then sign in with codex mcp login emailmd if the server asks for an account.
From the project's README
As published by anypost/emailmd in README.md.
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).
Charts & Data
Bar charts, progress meters, sparklines, KPI tiles, step trackers, and star ratings, each written as a plain markdown list:
::: chart
- Spotify: 16,900
- Apple Podcasts: 12,400
- Web player: 6,200
- RSS: 2,900
:::
They are drawn from table cells and text glyphs rather than images or SVG, so they still render when the client blocks remote images, and they redraw themselves in the plain-text part instead of collapsing to a list of numbers. See the directives reference.
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
Tools it offers (3)
What this server listed when Ahel dialed its public endpoint in Sep 2026, with no key and no account of yours. The names are the server’s own.
renderlintread_docs
Signals
- GitHub stars
- 1k
- Forks
- 41
- Last commit
- Oct 2026
- Weekly downloads
- 7k
Advanced
- Delivery
- emailmd MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
dev-emailmd-emailmd- Source
- github.com/anypost/emailmd
- Hosted endpoint
https://www.emailmd.dev/api/mcp
More in Docs & knowledge
MCP server · dat999zx
More in Docs & knowledgeagent-native-slides
MCP server · builderio
More in Docs & knowledgemcp-memory-server
MCP server · mnemoverse
More in Docs & knowledgedatasinking
MCP server · heubme2020
More in Docs & knowledgespoken
MCP server · spokenmd
More in Docs & knowledgeTransloadit Media Processing
MCP server · transloadit
More in Docs & knowledge