Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
Convert GitHub Flavored Markdown to Word (.docx) documents in Node or the browser
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"markdown-to-word": {
"command": "npx",
"args": [
"-y",
"markdown-to-word",
"mcp"
]
}
}
}Run this in your terminal
claude mcp add markdown-to-word -- npx -y markdown-to-word mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"markdown-to-word": {
"command": "npx",
"args": [
"-y",
"markdown-to-word",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"markdown-to-word": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"markdown-to-word",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account benbalter, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.5.0) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Convert GitHub Flavored Markdown to a formatted Word (.docx) document, entirely in your browser, at [md2word.app](https://md2word.app). Nothing is uploaded.
The same converter is on npm as markdown-to-word: a command-line tool, a Node library, and an MCP server for AI agents, no clone required:
npx markdown-to-word input.md
It's the mirror image of word2md.com (word-to-markdown-js), which goes the other way, and the successor to markdown_to_word, the original Ruby gem and web demo, first published in 2015 and now archived.
.md file anywhere on the page, choose one, or paste Markdown. AI chat responses (ChatGPT, Claude, and others) are Markdown, so they paste in as-is.The document is named after its first heading, which also becomes its title.
| Markdown | In Word |
|---|---|
# to ###### headings | Heading 1–6 styles |
**bold**, *italic*, ~~strikethrough~~ | The same formatting |
| Bulleted and numbered lists, nested | Word lists |
- [x] task lists | ☒ (done) and ☐ (to do) items, since Word can't show checkboxes from HTML |
| Tables | Thin borders, a bold header row that repeats on each page, and the column alignment from the Markdown |
[links](https://example.com) | Clickable hyperlinks |
`inline code` and fenced code blocks | Monospace; code blocks keep their line breaks |
> block quotes | Left-aligned paragraphs, indented one step per level of nesting |
--- horizontal rules | A line across the page |
[^1] footnotes | Superscript numbers, with the notes as a numbered list after a line at the end of the document (not Word footnotes) |
| Embedded, when the browser can fetch them; otherwise the alt text, linked to the image (see Limitations) |
, , and other inline HTML | The text, with in the code font and highlighted |
As on GitHub, a single newline inside a paragraph is joined into the same line, so hard-wrapped files convert to normal paragraphs. End a line with two spaces or a backslash to force a line break.
Conversions use Word's standard styling by default. Choosing Chinese official document (公文) from the Style menu (always shown on the Chinese page, and elsewhere once the pasted text is mostly Chinese) rewrites the generated document to the layout of GB/T 9704-2012 《党政机关公文格式》. Each level gets an East Asian face and a 公文 size alongside Times New Roman:
| Level | Font size | Chinese characters | Latin letters and digits |
|---|---|---|---|
| Body | 三号 (16pt) | 仿宋 | Times New Roman |
| Heading 1 | 二号 (22pt) | 方正小标宋简体 | Times New Roman |
| Heading 2 | 三号 (16pt) | 黑体 | Times New Roman |
| Heading 3 | 三号 (16pt) | 楷体 | Times New Roman |
| Heading 4 | 三号 (16pt) | 仿宋 (bold) | Times New Roman |
| Heading 5-6 | 三号 (16pt) | 仿宋 | Times New Roman |
The preset also sets the page:
The app remembers your choice in this browser, and suggests the preset when the text you paste is mostly Chinese.
Word resolves a typeface per character class, so English words and numbers inside a Chinese sentence stay in Times New Roman. The fonts must be installed on the machine that opens the document. Some of the choices go beyond the standard:
Page numbers (7.5) aren't added yet; see #106. Neither are the red separator line and the other 版头 elements, which Markdown has no way to express.
Programmatically:
import {
convertMarkdownToWord, CHINESE_OFFICIAL_DOC_FONTS, } from 'markdown-to-word';
const blob = await convertMarkdownToWord(markdown, { fontPreset: CHINESE_OFFICIAL_DOC_FONTS, });
pageMargins, when you also pass it, takes precedence over the preset's margins; the line grid is fitted to the margins the document ends up with.
Conversion happens entirely in your browser: your Markdown and the Word document never leave your device. Images your Markdown links to load from the sites that host them, like on any web page. md2word.app uses cookie-free Cloudflare Web Analytics and keeps an anonymous count of conversions (whether each succeeded and if not why, the page's language, and how it started; never the content, filename, size, or anything that identifies you); a local or self-hosted copy sends neither. Raw HTML in the preview is sanitized, so a shared file can't run script. See the privacy policy.
data: URIs, and web URLs whose server allows cross-origin requests (most image hosts and CDNs do). Any other image, including a local file path, becomes its alt text, linked to the image's URL when it has one.$x^2$ comes out as $x^2$, not an equation.:tada: aren't converted; paste the emoji itself instead.[see below](#usage)) don't jump anywhere in Word. sections are flattened: the summary and the hidden content both show, as ordinary paragraphs.Run it directly with npx (downloads and runs the latest published version):
npx markdown-to-word report.md
Or install it globally to get the md2w command:
npm install -g markdown-to-word
md2w report.md
It writes the .docx next to the input with the same name (report.md becomes report.docx), replacing any file already there, and prints where it wrote it to stderr. It needs Node 22.12 or later, and exits with status 1 and a message if the file is missing or empty.
To read the Markdown from stdin, pass - as the file, or leave it out and pipe the Markdown in. There's no file name to go on then, so -o is required:
cat reply.md | md2w -o reply.docx
md2w - -o - < report.md > report.docx
Options:
-o, --output : write the .docx to , creating folders as needed. -o - writes it to stdout.--font-preset : restyle the document with a font preset. chinese-official is the Chinese official document (公文) style described in Optional Font Presets.-q, --quiet: print nothing to stderr except errors.-V, --version: print the version.md2w mcp runs a local Model Context Protocol server on stdio, so AI agents can turn Markdown into Word documents on your machine. Like the website, it never uploads anything: the server converts in-process and writes the .docx to disk.
In Claude Desktop, it's one click: download markdown-to-word.mcpb and double-click it. Claude Desktop installs it as an extension. You don't need Node or a terminal, since Claude Desktop includes Node.
Add it to Claude Code:
claude mcp add markdown-to-word -- npx -y markdown-to-word mcp
Or to any MCP client that takes a JSON config:
{
"mcpServers": { "markdown-to-word": { "command": "npx", "args": ["-y", "markdown-to-word", "mcp"] } } }
It has one tool, convert_markdown_to_word:
markdown or path (exactly one): the Markdown as a string, or the path of a Markdown file (.md, .markdown, .mdown, or .txt). Prefer absolute paths; relative ones resolve against the server's wOnly the beginning is shown; read the rest in the repo