Back to Directory/Developer Tools

io.github.jackdark425/aigroup-mdtoword-mcp

本地 Markdown 到 Word 文档转换工具,支持最新 MCP 协议特性、完整的页眉页脚页码功能、增强的表格功能、数据导入和数学公式支持,修复本地相对路径图片嵌入问题

Developer ToolsJavaScriptv4.0.2

AI Group Markdown to Word MCP Server

License: MIT Node.js MCP Protocol Version

Professional Markdown-to-Word conversion over MCP, with advanced styling, tables, formulas, images, Mermaid rendering, and HTTP deployment support.

Overview

aigroup-mdtoword-mcp is an MCP server for generating professional .docx documents from Markdown content.

It is designed for:

  • converting Markdown into structured Word documents
  • applying reusable templates and styling presets
  • rendering tables, formulas, images, and Mermaid diagrams
  • exposing both MCP and simplified HTTP endpoints
  • integrating with Claude Desktop and other MCP-compatible clients

Highlights

  • Markdown to DOCX conversion with document styling and layout control
  • Advanced formatting for headings, tables, lists, code blocks, and blockquotes
  • Math support for inline and block formulas
  • Image embedding for local and remote assets
  • Mermaid rendering with safe fallback to code blocks
  • Header / footer / page numbering / watermark support
  • Template, resource, and prompt support for guided usage
  • HTTP deployment options including Cloudflare Worker workflows

Quick Start

Requirements

  • Node.js >= 18
  • npm >= 8

Run with npx

npx -y aigroup-mdtoword-mcp

Install locally

git clone https://github.com/jackdark425/aigroup-mdtoword-mcp.git
cd aigroup-mdtoword-mcp
npm install
npm run build
npm start

MCP Client Configuration

Claude Desktop / compatible MCP clients

{
  "mcpServers": {
    "markdown-to-word": {
      "command": "npx",
      "args": ["-y", "aigroup-mdtoword-mcp"]
    }
  }
}

Local build output

{
  "mcpServers": {
    "markdown-to-word": {
      "command": "node",
      "args": ["/path/to/aigroup-mdtoword-mcp/dist/index.js"]
    }
  }
}

Tools

markdown_to_docx

Converts Markdown content or a Markdown file into a .docx document.

Typical inputs include:

  • markdown
  • inputPath
  • filename
  • outputPath
  • styleConfig

table_data_to_markdown

Converts CSV or JSON tabular data into formatted Markdown tables.

Typical inputs include:

  • data
  • format
  • style
  • hasHeader

Resources

Templates

  • template://customer-analysis
  • template://academic
  • template://business
  • template://technical
  • template://minimal

Style Guides

  • style-guide://quick-start
  • style-guide://advanced
  • style-guide://templates

Metrics

  • metrics://conversion-stats
  • metrics://memory-usage

Styling Capabilities

The styling system supports:

  • document-level fonts, colors, and page layout
  • heading and paragraph styles
  • table presets and formatting
  • image sizing and placement
  • code block styling
  • headers, footers, page numbers, and watermarks

Included table styles cover common business, academic, financial, technical, and minimal report layouts.

Example

# Project Report

## Executive Summary
This is a sample report with **bold text** and *italic text*.

- Feature 1: Complete Markdown support
- Feature 2: Advanced styling system
- Feature 3: Professional document layout

| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| Data 1   | Data 2   | Data 3   |
| Data 4   | Data 5   | Data 6   |

Mathematical formula: $E = mc^2$

```mermaid
flowchart TD
  A[Start] --> B{Check input}
  B -->|Valid| C[Generate DOCX]
  B -->|Invalid| D[Return error]
```

Deployment

HTTP server

npm run server:http

Cloudflare Worker

npm install -g wrangler
wrangler login
wrangler deploy

Related endpoints typically include:

  • /health
  • /mcp
  • /convert
  • /.well-known/ai-plugin.json
  • /openapi.yaml
  • /openapi.json

See detailed guidance in docs/DEPLOYMENT_INSTRUCTIONS.md.

Project Structure

src/
├── index.ts
├── converter/
├── template/
├── types/
└── utils/

Development

npm run build
npm test

Additional test commands:

  • npm run test:math
  • npm run test:images
  • npm run test:pages
  • npm run test:mermaid

License & Usage

This project is released under the MIT License.

In practical terms, MIT allows you to:

  • use this project in personal, internal, academic, or commercial scenarios
  • copy, modify, merge, publish, and distribute the code
  • build proprietary or open-source products on top of it
  • ship derivative works as long as the required copyright and license notice is preserved

Please keep in mind:

  • you must retain the original copyright notice and MIT license text in copies or substantial portions of the software
  • the software is provided "AS IS", without warranty of any kind
  • if you package this project into hosted services, desktop tools, plugins, or internal workflows, you are responsible for your own compliance, security review, and downstream usage constraints

See the full text in LICENSE.

Acknowledgments

Core Dependencies & Ecosystem

Community Inspiration

  • Inspired by the broader MCP community and ecosystem

Support

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y aigroup-mdtoword-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-jackdark425-aigroup-mdtoword-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "aigroup-mdtoword-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

aigroup-mdtoword-mcpnpm

Compatible MCP Clients

io.github.jackdark425/aigroup-mdtoword-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More