Convert Markdown into WhatsApp formatting: tables drawn to fit the phone's monospace width.
MCPpedia last refreshed this data
io.github.drsound/markdown-to-whatsapp is an MCP server that convert Markdown into WhatsApp formatting: tables drawn to fit the phone's monospace width. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 44/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"markdown-to-whatsapp": {
"args": [
"-y",
"markdown-to-whatsapp",
"mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Convert standard Markdown into WhatsApp's formatting syntax — as a web page, an npm library, a command line tool or an MCP server for agents.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'markdown-to-whatsapp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked markdown-to-whatsapp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in writing
MCP server for document format conversion using pandoc.
The markdown workspace your AI can read, search, and suggest edits in — every change signed.
Scrape, crawl, and map websites to Markdown or JSON via local CLI.
Model Context Protocol (MCP) Server to connect your AI with any MediaWiki
MCP Security Weekly
Get CVE alerts and security updates for io.github.drsound/markdown-to-whatsapp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Convert standard Markdown into WhatsApp's formatting syntax — as a web page, an npm library, a command line tool or an MCP server for agents.
npm i markdown-to-whatsapp · npx markdown-to-whatsapp mcp
WhatsApp uses a non-standard syntax for text formatting (e.g., *bold*, _italic_, ~strikethrough~). This is similar, but not identical, to standard Markdown.
This tool provides a simple way to convert text from Markdown sources (like text editors, Google Docs, etc.) into the format that WhatsApp expects, saving the need for manual correction.
The entire conversion process runs locally in your browser using JavaScript, and the parser ships with the page. No data is ever sent to a server — the only request that leaves the page is for the font.
The script uses the marked library for proper AST-based parsing and handles:
**text** → *text**text* or _text_ → _text_~~text~~ → ~text~`code` → `code`***text*** → _*text*_ (preserves both styles)Headings are converted to bold text with level-specific emoji prefixes:
# H1 → *📌 H1*## H2 → *🟠 H2*### H3 → *🟡 H3*The emoji prefix can be turned off in the UI (Headings · Emoji), leaving plain *Title*.
* prefix with ◦ for nested levels
* Item* ◦ Item* ◦ ◦ Item◦ marking nested levels
1. A / ◦ 1. A1 / ◦ ◦ 1. A1a / 2. B- [x] → ☑, - [ ] → ☐, also inside ordered lists (1. ☑ done)A WhatsApp bubble fits a fixed number of monospace characters on one line — about 26 on a 360 px phone, which is the default. Measure yours by sending yourself a code block and counting where it breaks, then set Width in the bar to that (the ? next to it says the same). The field accepts 10 to 80: no phone is outside that range.
The number is a property of the phone, not of any one table, so it governs everything monospace: tables degrade to stay under it, and the preview draws every code block exactly that wide, wrapping where the recipient's WhatsApp will wrap.
A table is rendered in one of two styles, chosen in the UI for the whole document or for one table at a time:
Auto (default): a drawn table inside a monospace block, as wide as it needs and never wider than the bubble — and the bulleted list when no box can be drawn at all.
+--------+-------------+
| Name | Description |
+========+=============+
| Value | Details |
+--------+-------------+
List: always the bulleted list.
How the list is laid out
A list can group the cells in three ways. The converter guesses from the headers and the bold cells, and the guess can be overridden per table (Layout: Auto · Rows · Columns · Pairs):