Connects Claude to the Unmarkdown API for converting markdown into styled HTML across eight destinations including Google Docs, Word, Slack, and email. Exposes tools for one-off conversions plus full document lifecycle management: create, update, list, and publish documents to shareable URLs. Supports 62 visual templates ranging from free options like Swiss and GitHub to Pro business themes. Useful when you need AI-generated content formatted for specific platforms without manual styling, or when building a document library with public publishing. Includes usage tracking to monitor your monthly quota. Requires an Unmarkdown API key and works via stdio or streamable HTTP transport.
Public tool metadata for what this MCP can expose to an agent.
convert_markdownConvert markdown to destination-specific HTML and plain text. Returns JSON with 'html' and 'plain_text' fields. For Slack, present the plain_text to the user. For Google Docs/Word/OneNote, direct users to unmarkdown.com to use the copy button (raw HTML cannot be pasted into th...4 paramsConvert markdown to destination-specific HTML and plain text. Returns JSON with 'html' and 'plain_text' fields. For Slack, present the plain_text to the user. For Google Docs/Word/OneNote, direct users to unmarkdown.com to use the copy button (raw HTML cannot be pasted into th...
markdownstringtheme_modestringlight · darkdestinationstringgoogle-docs · word · slack · onenote · email · plain-texttemplate_idstringcreate_documentCreate a new markdown document in Unmarkdown5 paramsCreate a new markdown document in Unmarkdown
titlestringfolderstringcontentstringtheme_modestringlight · darktemplate_idstringlist_documentsList your saved documents with pagination. Optionally filter by folder name or ID.3 paramsList your saved documents with pagination. Optionally filter by folder name or ID.
limitintegercursorstringfolderstringget_documentGet a document by ID, including its full markdown content1 paramsGet a document by ID, including its full markdown content
idstringupdate_documentUpdate a document's content or metadata8 paramsUpdate a document's content or metadata
idstringtitlestringfoldervaluecontentstringpage_widthstringfull · wide · standardtheme_modestringlight · darkdescriptionvaluetemplate_idstringpublish_documentPublish a document to a shareable web page. Default visibility is 'link' (unlisted). Published pages render all content including Chart.js charts, Mermaid diagrams, Graphviz graphs, and KaTeX math. Email-based sharing is not available here; direct users to unmarkdown.com for t...5 paramsPublish a document to a shareable web page. Default visibility is 'link' (unlisted). Published pages render all content including Chart.js charts, Mermaid diagrams, Graphviz graphs, and KaTeX math. Email-based sharing is not available here; direct users to unmarkdown.com for t...
idstringslugstringpage_widthstringfull · wide · standardvisibilitystringpublic · linkdescriptionstringget_usageCheck your API usage quota for the current billing monthCheck your API usage quota for the current billing month
No parameter schema in public metadata yet.
A Model Context Protocol (MCP) server that connects AI assistants to the Unmarkdown API. Convert markdown to beautifully formatted documents, manage your document library, and publish pages to the web, all from inside Claude, Cursor, VS Code, or any MCP-compatible client.
Also available as: Chrome Extension | Web App | REST API
unmarkdown.com/d/your-slugAdd this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"unmarkdown": {
"command": "npx",
"args": ["-y", "@un-markdown/mcp-server"],
"env": {
"UNMARKDOWN_API_KEY": "um_your_api_key_here"
}
}
}
}
Add to your Cursor MCP settings (.cursor/mcp.json):
{
"mcpServers": {
"unmarkdown": {
"command": "npx",
"args": ["-y", "@un-markdown/mcp-server"],
"env": {
"UNMARKDOWN_API_KEY": "um_your_api_key_here"
}
}
}
}
Add to your VS Code MCP settings (.vscode/mcp.json):
{
"servers": {
"unmarkdown": {
"command": "npx",
"args": ["-y", "@un-markdown/mcp-server"],
"env": {
"UNMARKDOWN_API_KEY": "um_your_api_key_here"
}
}
}
}
If you prefer to install globally instead of using npx:
npm install -g @un-markdown/mcp-server
Then use unmarkdown-mcp as the command instead of npx:
{
"mcpServers": {
"unmarkdown": {
"command": "unmarkdown-mcp",
"env": {
"UNMARKDOWN_API_KEY": "um_your_api_key_here"
}
}
}
}
| Variable | Description |
|---|---|
UNMARKDOWN_API_KEY | Your Unmarkdown API key (starts with um_). Get one from Settings > API in your Unmarkdown account. |
| Variable | Description | Default |
|---|---|---|
UNMARKDOWN_API_URL | Custom API base URL | https://api.unmarkdown.com |
"Take this markdown and convert it for Google Docs using the Executive template:
# Q1 Planning Meeting ## Attendees - Sarah Chen (Product) - Mike Torres (Engineering) - Lisa Park (Design) ## Action Items - [ ] Finalize roadmap by Friday - [ ] Schedule design review for new dashboard - [ ] Update stakeholder presentation ```"
Claude will use the convert_markdown tool with destination: "google-docs" and template_id: "executive", returning styled HTML ready to paste into Google Docs with proper headings, fonts, and colors.
"Create a new document called 'API Changelog - February 2026' in my Release Notes folder with this content, then publish it."
Claude will:
create_document with the title, markdown content, and folder: "Release Notes"publish_document with the returned document IDThe document is created directly in the specified folder, and you get back a live URL like https://unmarkdown.com/d/api-changelog-february-2026.
"Move the Q4 report to the Archive folder and update its title."
Claude will:
list_documents to find the documentupdate_document with the new title and folder: "Archive""Convert this project update to Slack format so it looks good when I paste it in our team channel."
Claude uses convert_markdown with destination: "slack", producing output optimized for Slack's rendering (bold, lists, code blocks, emoji support).
"How many API calls have I used this month?"
Claude calls get_usage and returns your current usage count, monthly limit, and billing period.
| Tool | Description | Read-only | Idempotent |
|---|---|---|---|
convert_markdown | Convert markdown to styled HTML for any of 8 destinations | Yes | Yes |
create_document | Create a new document in your library (optionally in a folder) | No | No |
list_documents | List saved documents with pagination (optionally filter by folder) | Yes | Yes |
get_document | Fetch a document by ID with full content | Yes | Yes |
update_document | Modify a document's title, content, template, metadata, or folder | No | Yes |
publish_document | Publish a document to a shareable public URL | No | Yes |
get_usage | Check API quota for the current billing month | Yes | Yes |
The convert_markdown tool supports these output formats:
| Destination | Description |
|---|---|
google-docs | Optimized for pasting into Google Docs |
word | Formatted for Microsoft Word |
slack | Slack-compatible formatting |
onenote | Microsoft OneNote compatible |
email | Email client friendly HTML |
plain-text | Plain text with ASCII formatting |
generic | General-purpose styled HTML |
html | Raw HTML output |
Pass any template ID to convert_markdown, create_document, or update_document. Popular templates include:
| Template | Category |
|---|---|
swiss | Free (default) |
mono | Free |
github | Free |
terminal | Free |
executive | Business (Pro) |
consulting | Business (Pro) |
startup | Business (Pro) |
Browse all 62 templates at unmarkdown.com/templates.
| Plan | Monthly API Calls | Rate Limit |
|---|---|---|
| Free | 1,000 | 10 req/sec |
| Pro ($8/mo annual) | 10,000 | 30 req/sec |
Overage: $1.00 per 1,000 additional calls (Pro only). Free plan has a hard limit.
This MCP server sends your markdown content and document data to the Unmarkdown API (api.unmarkdown.com) for processing. No data is stored locally by the MCP server itself. All data handling is governed by the Unmarkdown Privacy Policy.
Specifically:
convert_markdown is processed and returned immediately. It is not stored on Unmarkdown servers.create_document or update_document are stored in your Unmarkdown account and can be deleted at any time.For the full privacy policy, visit unmarkdown.com/privacy.
# Clone the repo
git clone https://github.com/UnMarkdown/mcp-server.git
cd mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run locally (requires API key)
UNMARKDOWN_API_KEY=um_your_key node build/index.js
@un-markdown/mcp-server on npmMIT. See LICENSE for details.
UNMARKDOWN_API_KEY*secretYour Unmarkdown API key (starts with um_). Get one from Settings > API in your Unmarkdown account.
csoai-org/pdf-document-mcp
xt765/mcp-document-converter
io.github.xjtlumedia/markdown-formatter
io.github.ai-aviate/better-notion
suekou/mcp-notion-server
meterlong/mcp-doc