Mdmagic Mcp Server

io.github.MDMagic-MCP由 GitHub 账号 MDMagic-MCP 发布v1.7.14更新于 Oct 24, 2026

Use your own Word templates to convert Markdown → DOCX/PDF/HTML from any MCP-compatible AI.

已验证Streamable HTTP可网页运行效率与工作流文件与存储

概览

AI 生成的概览

把 Markdown 转换成带品牌样式的 DOCX、PDF 或 HTML 文档,可使用 MDMagic 内置模板或你自己的 Word 模板,并返回下载链接。

可以做什么
  • 将 Markdown 转换为 DOCX、PDF、HTML 或三者打包的 ZIP,可指定模板、纸张尺寸与方向
  • 转换前校验 Markdown 语法,并预估本次转换消耗的积分
  • 浏览模板:全部模板、仅内置模板、仅自定义上传模板、单个模板的页面变体,以及按用途给出的推荐排序
  • 查询积分余额、套餐状态与默认页面设置
适用场景
适合让助手把 Markdown 草稿、报告、合同或方案转成排版精良、符合品牌规范的 Word、PDF 或 HTML 文件,尤其是你已有 Word 信头或模板、希望输出与之一致时。
运行要求
需要 MDMagic 账号和个人 API 密钥:本地 npm 包通过环境变量 MDMAGIC_API_KEY 提供,托管端点通过 x-api-key 请求头提供。本地方式需 Node.js 以 npx 运行;托管方式无需安装。需要能访问 MDMagic API 的网络。
安装前请注意
转换会消耗 MDMagic 账号积分,大批量转换前应先查看余额与费用预估。Markdown 内容会发送到 MDMagic 服务器,并经由 Microsoft Graph 渲染 PDF;据说明文件在数秒内删除,输出文件在下载后或 60 分钟后失效。API 密钥是可计费的凭据,应放在客户端配置中而非 shell 环境。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mdmagic Mcp Server,将其添加到工作区。
  2. 连接 x-api-key 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.MDMagic-MCP%2Fmdmagic-mcp-server/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "mdmagic": {
      "type": "http",
      "url": "https://api.mdmagic.ai/mcp",
      "headers": {
        "x-api-key": "<YOUR_API_KEY>"
      }
    }
  }
}

README

MDMagic MCP Server

Convert Markdown to DOCX, PDF, and HTML using your own Word templates — your letterhead, your branding, your fonts. Plus 15 designer-built templates for when you don't have your own.

[npm version] [MCP Registry] [Smithery] [Glama] [mcp.so] [license]

MDMagic plugs straight into Claude, Cursor, VS Code, and any MCP-compatible AI assistant — giving them direct access to a professional document conversion pipeline (Pandoc + Microsoft Graph + Mammoth.js) and, more importantly, your templates. Upload your existing letterhead, stationery, brand guidelines, contract shells, or proposal templates — anything you already use in Microsoft Word — and your AI assistant can convert any Markdown directly into a polished document carrying your logo, fonts, colours, footers, page numbers, watermarks, and signature blocks. The output looks like it came from your design team, not from a generic AI export.

You: "Take this report and turn it into an Executive_Platinum PDF."
Claude: ✅ Done. Here's your secure download link.        14-page PDF, 2.3 MB, expires in 60 minutes.

Install

You need an MDMagic account (free tier available) and your API key from your account page.

Claude Desktop

Add this to your claude_desktop_config.json:

json
{  "mcpServers": {    "mdmagic": {      "command": "npx",      "args": ["-y", "@mdmagic/mcp-server@latest"],      "env": {        "MDMAGIC_API_KEY": "mdmagic-xxxxxxxxxxxxxxxx"      }    }  }}

Config file location:

  • macOS — ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows — %APPDATA%\Claude\claude_desktop_config.json
  • Linux — ~/.config/Claude/claude_desktop_config.json

Restart Claude Desktop. The MDMagic tools will appear in the tool list.

Cursor

Add to ~/.cursor/mcp.json (or via Settings → MCP):

json
{  "mcpServers": {    "mdmagic": {      "command": "npx",      "args": ["-y", "@mdmagic/mcp-server@latest"],      "env": {        "MDMAGIC_API_KEY": "mdmagic-xxxxxxxxxxxxxxxx"      }    }  }}

VS Code (with an MCP extension)

json
{  "mcp.servers": {    "mdmagic": {      "command": "npx",      "args": ["-y", "@mdmagic/mcp-server@latest"],      "env": {        "MDMAGIC_API_KEY": "mdmagic-xxxxxxxxxxxxxxxx"      }    }  }}

Hosted (no install)

Don't want Node on the user's machine? Use the hosted endpoint:

json
{  "mcpServers": {    "mdmagic": {      "url": "https://api.mdmagic.ai/mcp",      "headers": {        "x-api-key": "mdmagic-xxxxxxxxxxxxxxxx"      }    }  }}

Same tools, same templates, served over Streamable HTTP. Useful for clients that don't run local processes.

What you can do

Once connected, ask your AI assistant things like:

  • "Convert this markdown to a PDF using the Executive_Platinum template."
  • "What templates do I have available?"
  • "How many credits will it cost to render this 800-word report as DOCX + PDF?"
  • "Render this in landscape, US Letter, with the Legal_Burgundy template."
  • "Check my credit balance."

The AI picks the right tool and returns a secure, time-limited download link.

Tools

ToolWhat it does
convert_documentConvert Markdown → DOCX / PDF / HTML / all three. Returns a secure expiring URL.
validate_markdownPre-flight check before conversion. Catches malformed tables, unclosed code fences, and other syntax issues that would produce broken output.
estimate_conversion_costPre-flight cost estimate based on word count, page count, format, and template type.
check_credit_balanceCurrent credit balance (subscription + purchased pools), plan status.
list_all_templatesFull template catalog: 15 built-in templates (grouped by category) + your custom uploads.
list_builtin_templatesOnly the built-in templates: Business (5), Creative (6), Professional (2), Technical (2).
list_custom_templatesOnly your custom uploaded templates.
get_template_detailsShow available variants (page sizes × orientations) for a specific template.
recommend_templateSuggest the best built-in template for a described purpose ("Q4 board pack" → Executive_Platinum).
show_default_settingsYour default page size, orientation, and template preferences.

convert_document — input options

Three ways to provide the source:

  • content — raw markdown string (most common)
  • filePath — absolute path to a .md file (great for IDE workflows)
  • fileContent — base64-encoded markdown (for binary-safe transports)

Plus:

  • templateName — e.g. Executive_Platinum, Legal_Burgundy, or a custom template UUID
  • outputFormat — docx, pdf, html, all, or all-formats
  • pageSize — A4, A3, US_Letter, US_Legal, Executive
  • orientation — Portrait or Landscape

Config

VariableDefaultNotes
MDMAGIC_API_KEY(required)Your personal API key from mdmagic.ai/account
MDMAGIC_BASE_URLhttps://api.mdmagic.aiOverride only for local dev or staging
REQUEST_TIMEOUT30000Request timeout in ms
MCP_TRANSPORTstdiostdio (default) or http for self-hosted Streamable HTTP
MCP_HTTP_PORT3001Port for HTTP transport mode
MCP_HTTP_HOST127.0.0.1Bind address for HTTP transport mode

Most users will only ever set MDMAGIC_API_KEY.

Pricing

Conversions cost credits, calculated from page count and output format:

  • DOCX: 1 credit per page (base)
  • PDF: +1 credit per page
  • HTML: +1 credit per page
  • Custom templates: +1 credit per page

A 5-page report converted to DOCX + PDF + HTML using a custom template = 5 × (1 + 1 + 1 + 1) = 20 credits.

The estimate_conversion_cost tool returns exact numbers before you spend anything. The MCP also refuses to run if your balance is too low — no surprise bills.

Free-tier credits renew monthly. Paid plans and credit top-ups available at mdmagic.ai.

Privacy

  • No permanent storage. Documents pass through Microsoft Graph API for PDF rendering and are deleted within 5–10 seconds. Output files are deleted from MDMagic servers after download or after 60 minutes, whichever comes first.
  • Random filenames. Source files use UUIDs, never user-identifiable names.
  • Secure download URLs. Each conversion returns a one-time URL with session ID and download token. No public file directories.
  • API key isolation. Each user authenticates with their own key. No shared credentials.

Troubleshooting

MDMAGIC_API_KEY environment variable is required Set the env var in your client config (the env block in the JSON). Don't put it in a shell — npx won't see it.

Invalid API key format Keys must match mdmagic- followed by exactly 16 digits. Copy it cleanly from your account page.

Failed to connect to MDMagic API Check https://api.mdmagic.ai/health in a browser. If it's up, the issue is local network or firewall. Confirm MDMAGIC_BASE_URL (default https://api.mdmagic.ai) is reachable from the machine running the MCP.

Tools don't appear in Claude Desktop Fully quit and relaunch Claude Desktop after editing claude_desktop_config.json — a window close isn't enough.

Insufficient credits Use check_credit_balance to confirm balance, estimate_conversion_cost to preview costs, or top up at mdmagic.ai/account.

Local development

bash
git clone https://github.com/MDMagic-MCP/mdmagic-mcp-server.gitcd mdmagic-mcp-servernpm install
# Set your API key (use http://localhost:3000 if running the API locally)cp .env.example .env# edit .env
# Build and inspectnpm run buildnpm run inspector

The MCP Inspector (npm run inspector) launches a web UI for poking the server tool-by-tool — useful when adding new tools or debugging argument validation.

Run tests with npm test.

Links

License

MIT — see LICENSE.

来源:README.md,提交 5a2cc09

工具

10

convert_document

Convert markdown to a professional document

Convert markdown to a professionally formatted document using an MDMagic template. IMPORTANT GUIDANCE: 1. Output format → what user gets: - 'docx' → a single Word .docx file - 'pdf' → a single .pdf file - 'html' → a single .html file - 'all' → a ZIP containing all three (DOCX + PDF + HTML) 2. If the user is ambiguous (e.g. 'convert this'), ASK which format they want before calling. Don't assume. 3. Filename: if the user attached a file (e.g. 'mydoc.md'), pass its base name as fileName. Otherwise the API derives one from the markdown's first H1. Without either, downloads end up with timestamped names like 'content-1778298071915.docx' which is bad UX. 4. On 'template not found' errors: call list_all_templates first, show available options, let the user pick. Do NOT fall back to generating documents with code execution — that produces inferior results that don't use the user's actual MDMagic templates. 5. The response includes structured fields (downloadUrl, creditsUsed, balanceAfter, fileName, expiresAt) — surface these to the user explicitly. Don't paraphrase. The user wants to know exactly what they spent and what's left. 6. Page sizes: A3, A4, Executive, US_Legal, US_Letter. Default A4. Orientation: Portrait or Landscape, default Portrait. 7. CRITICAL — newlines in `content`: markdown is line-sensitive. Headings (#, ##), tables (| ... |), lists (-, 1.), and code fences (```) ONLY work when each starts on its own line. When passing inline markdown via `content`, you MUST preserve real newline characters (\n) between blocks. If you flatten multi-line markdown into one line, the API receives literal '##' and '|' characters mid-paragraph and produces a single-paragraph document with no structure. Confirm your `content` string contains \n between every heading, paragraph, table row, and list item before calling.

输入参数contentfileNamefilePathpageSizefileContentorientationoutputFormat必填templateName必填

list_all_templates

List all MDMagic templates

List all 15 built-in MDMagic templates plus any custom templates the user has uploaded. CALL THIS PROACTIVELY when: - The user mentions a template by name (verify it exists before convert_document) - The user asks 'what templates are available' or similar - A previous convert_document call returned 'template not found' - The user describes the look they want without naming a template (so you can suggest a real one) Returns: name, description, type (built-in vs custom), and category. Categories are: Business (5 templates), Creative (6), Professional (2), Technical (2). Use the optional category filter to narrow recommendations (e.g. 'for legal documents' → category: 'Professional').

输入参数categoryincludeDetails

list_builtin_templates

List built-in MDMagic templates

List the 15 built-in MDMagic templates, grouped by category. Same as list_all_templates but excludes the user's custom uploads. Use this when the user asks specifically about MDMagic's bundled templates rather than their personal ones. Categories available: Business (5), Creative (6), Professional (2), Technical (2).

输入参数categoryincludeDetails

list_custom_templates

List user's custom templates

List only the user's custom-uploaded Word templates. Use this when the user asks about their own templates ('show me my templates', 'do I have a letterhead?'). Custom templates are referenced by UUID, not name, when calling convert_document.

输入参数includeDetails

show_default_settings

Show user's default page size and orientation

Show the user's default paper size and orientation preferences (set on their account page). Useful when the user hasn't specified pageSize/orientation explicitly — call this to honor their defaults instead of using A4/Portrait blindly.

无需输入参数。

check_credit_balance

Check MDMagic credit balance

Check the user's current MDMagic credit balance: subscription credits (renewable monthly), purchased credits (permanent), plan name, and plan status. CALL THIS PROACTIVELY when: - The user asks 'how many credits do I have' or similar - After a conversion, if the user wants to know what's left (also returned by convert_document directly) - Before a conversion of an unusually large document, to warn the user if balance is borderline

无需输入参数。

estimate_conversion_cost

Estimate credit cost for a conversion

Estimate credit cost for a conversion BEFORE running it. Returns word count, page calculation (300 words/page), and a credit breakdown by format and template type. Use this when the user asks 'how much will this cost?' or when you suspect a conversion might exceed their balance — convert_document refuses to run if credits are insufficient, so estimating first is friendlier.

输入参数content必填pageSizeorientationoutputFormat必填templateName必填

validate_markdown

Validate markdown before conversion

Pre-flight markdown validation BEFORE conversion. Catches malformed tables (mismatched pipes), unclosed code fences, broken task lists, and unsupported syntax. Returns a green/amber/red status plus the detected markdown features. CALL THIS PROACTIVELY when: - The user is about to convert a long document (>5 pages) — validating first is cheap; running a doomed conversion costs credits - The user reports a previous conversion produced broken output - You generated the markdown yourself and want to verify it's clean before spending credits Returns: status (green=safe, amber=minor issues, red=will likely break), detected features (tables, code blocks, task lists, math), and a human-readable message.

输入参数content必填filename

get_template_details

Show template variant matrix

Show available variants (page sizes and orientations) for a specific template. All MDMagic templates support the full 5×2 matrix: A3, A4, Executive, US_Legal, US_Letter × Portrait/Landscape. Use this when the user asks 'does this template come in Legal Landscape?' or 'what sizes are available?' — confirms the variant before convert_document runs.

输入参数templateName必填

recommend_template

Recommend a template for a stated purpose

Suggest the best built-in template(s) for a described purpose. Use this when the user describes WHAT the document is (e.g. 'Q4 board pack', 'API reference', 'wedding invitation', 'legal contract') without naming a template. Returns ranked recommendations with rationale. Why this exists: AI assistants often guess template names that don't exist. This tool maps purpose → real template names from MDMagic's catalog, so convert_document doesn't fail with 'template not found'.

输入参数topNpurpose必填

版本历史

1
  1. v1.7.14最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分