AI Group Markdown to Word MCP Server
This server converts Markdown documents to professional Word (DOCX) files with extensive styling, formatting, and layout capabilities through MCP tools and HTTP APIs.
Document Conversion: Convert Markdown content to Word with full syntax support (headings, lists, tables, code blocks, blockquotes), LaTeX math formulas (inline and block), and image embedding from local files, URLs, or Base64 with automatic scaling.
Styling & Templates: Apply comprehensive styling with customizable fonts, colors, spacing, and themes. Use preset templates for academic papers, business reports, technical documentation, customer analysis, and minimal designs.
Table Processing: Create tables from CSV or JSON data with 12+ preset styles (minimal, professional, striped, grid, elegant, colorful, compact, fresh, tech, report, financial, academic) and advanced features like zebra striping, custom column widths, and cell alignment.
Document Layout: Configure page setup (size, orientation, margins), headers/footers with flexible page numbering and support for different first/odd/even pages, automatic table of contents with configurable levels, and text watermarks with customizable rotation, transparency, and positioning.
Integration & Deployment: Operates as an MCP server supporting STDIO and Streamable HTTP transports, provides RESTful HTTP API endpoints with OpenAPI documentation, offers OpenAI plugin compatibility, and supports deployment to Cloudflare Workers for cloud-based conversion services.
Output Options: Specify output filenames and directories, combine templates with custom configurations, and receive detailed conversion statistics including file size and success status.
Supports LaTeX mathematical formulas with inline and block rendering, converting math expressions into professional Word document formatting.
Converts Markdown documents to professionally formatted Word documents with support for full Markdown syntax including headings, lists, tables, code blocks, and blockquotes.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AI Group Markdown to Word MCP Serverconvert my project report markdown to a Word document with academic template"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AI Group Markdown to Word MCP Server
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
Related MCP server: mdmagic-mcp-server
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-mcpInstall locally
git clone https://github.com/jackdark425/aigroup-mdtoword-mcp.git
cd aigroup-mdtoword-mcp
npm install
npm run build
npm startMCP 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:
markdowninputPathfilenameoutputPathstyleConfig
table_data_to_markdown
Converts CSV or JSON tabular data into formatted Markdown tables.
Typical inputs include:
dataformatstylehasHeader
Resources
Templates
template://customer-analysistemplate://academictemplate://businesstemplate://technicaltemplate://minimal
Style Guides
style-guide://quick-startstyle-guide://advancedstyle-guide://templates
Metrics
metrics://conversion-statsmetrics://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:httpCloudflare Worker
npm install -g wrangler
wrangler login
wrangler deployRelated 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 testAdditional test commands:
npm run test:mathnpm run test:imagesnpm run test:pagesnpm 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
Model Context Protocol SDK
Repository: https://github.com/modelcontextprotocol/servers
Role: MCP server protocol integration
docx by Dolan Miu
Repository: https://github.com/dolanmiu/docx
Role: core Word document generation engine
Community Inspiration
Inspired by the broader MCP community and ecosystem
Support
Available Tools
4 toolscreate_table_from_csv从CSV创建表格B
将CSV数据转换为可用于文档的表格数据
| Name | Required | Description | Default |
|---|---|---|---|
| csvData | Yes | CSV格式的数据 | |
| hasHeader | No | 第一行是否为表头 | |
| delimiter | No | 分隔符 | , |
| styleName | No | 表格样式名称 | minimal |
Output Schema
| Name | Required | Description |
|---|---|---|
| preview | Yes | |
| success | Yes | |
| rowCount | Yes | |
| styleName | Yes | |
| columnCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It states the tool converts CSV data to table data for documents, implying a transformation or creation operation, but lacks details on permissions, side effects, error handling, or output format. While the output schema exists, the description doesn't add behavioral context beyond the basic function, leaving gaps in understanding how the tool behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: '将CSV数据转换为可用于文档的表格数据'. It is front-loaded with the core purpose, has no redundant words, and is appropriately sized for the tool's complexity. Every part of the sentence contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 parameters, no annotations, but with an output schema), the description is minimally adequate. It states what the tool does but lacks behavioral details, usage guidelines, and parameter insights. The presence of an output schema means return values are documented elsewhere, so the description doesn't need to cover that. However, for a tool with no annotations, more context on behavior and usage would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention any parameters, focusing only on the overall function. However, the input schema has 100% description coverage, with clear documentation for all four parameters (csvData, hasHeader, delimiter, styleName). Since the schema provides comprehensive parameter information, the baseline score is 3, as the description adds no extra semantic value but doesn't need to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '将CSV数据转换为可用于文档的表格数据' (Convert CSV data into table data that can be used in documents). It specifies the verb 'convert' and the resource 'CSV data', making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'create_table_from_json', which would be needed for a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools such as 'create_table_from_json' or 'list_table_styles', nor does it specify prerequisites or contexts for usage. This lack of comparative or contextual information limits its helpfulness for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_table_from_json从JSON创建表格B
将JSON数组数据转换为可用于文档的表格数据
| Name | Required | Description | Default |
|---|---|---|---|
| jsonData | Yes | JSON格式的数据(数组) | |
| columns | No | 要包含的列名(可选,默认全部) | |
| styleName | No | 表格样式名称 | minimal |
Output Schema
| Name | Required | Description |
|---|---|---|
| preview | Yes | |
| success | Yes | |
| rowCount | Yes | |
| styleName | Yes | |
| columnCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the conversion action but doesn't describe what happens during processing: whether the transformation preserves all data, how errors are handled, what the output format looks like, or any performance characteristics. For a data transformation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's core function without unnecessary words. It's appropriately sized for a straightforward data transformation tool and gets straight to the point about what the tool accomplishes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description doesn't need to explain return values. However, for a data transformation tool with no annotations, the description should provide more context about the transformation process, error handling, and output characteristics. The current description is minimal but functional - adequate for the basic purpose but lacking depth for confident usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema - it mentions JSON array data generally but doesn't elaborate on format requirements, validation rules, or usage examples. With complete schema documentation, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: converting JSON array data into table data for documents. It specifies both the input (JSON array) and output (table data), making the verb+resource relationship explicit. However, it doesn't distinguish this tool from its sibling 'create_table_from_csv', which performs a similar conversion from a different data format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of when this tool is appropriate versus 'create_table_from_csv' for CSV data, 'list_table_styles' for style information, or 'markdown_to_docx' for document conversion. The description only states what the tool does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_table_styles列出表格样式B
获取所有可用的预定义表格样式
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| styles | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states this is a retrieval operation ('获取'), implying it's likely read-only and non-destructive, but doesn't explicitly confirm safety aspects. It doesn't disclose behavioral traits like rate limits, authentication needs, response format, or whether it returns all styles at once. The description adds minimal value beyond the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that directly states the tool's purpose without any fluff or redundancy. It's front-loaded with the core action and resource, making it easy to parse. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, output schema exists), the description is adequate but minimal. It covers the basic purpose but lacks context about the returned data (e.g., format, scope of 'all') and behavioral details. With no annotations and an output schema, the description should ideally hint at what the output contains, but it doesn't. It meets minimum viability for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline of 4 is applied for tools with zero parameters, as the description correctly avoids unnecessary parameter explanations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('获取' meaning 'get') and resource ('预定义表格样式' meaning 'predefined table styles'). It distinguishes this as a retrieval operation rather than a creation or conversion tool like its siblings (create_table_from_csv, create_table_from_json, markdown_to_docx). However, it doesn't explicitly differentiate from potential similar 'get' operations that might exist elsewhere.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing considerations, or how it relates to sibling tools (e.g., whether these styles are used by the creation tools). The agent must infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
markdown_to_docxMarkdown 转 WordB
将Markdown文档转换为Word文档(DOCX格式),支持样式配置、模板系统和多种图像嵌入方式(本地文件、网络图片、Base64编码)
| Name | Required | Description | Default |
|---|---|---|---|
| markdown | No | Markdown格式的文本内容(与inputPath二选一) | |
| inputPath | No | Markdown文件路径(与markdown二选一) | |
| filename | Yes | 输出的Word文档文件名,必须以.docx结尾 | |
| outputPath | No | 输出目录,默认为当前工作目录 | |
| template | No | 模板配置。使用预设模板可以快速应用专业样式,也可以与styleConfig组合使用 | |
| styleConfig | No | 样式配置对象。支持主题系统(theme)、水印(watermark)、页眉页脚(headerFooter)、自动目录(tableOfContents)、表格样式(tableStyles)、图片样式(imageStyles)等。可与template组合使用以覆盖模板的默认样式 |
Output Schema
| Name | Required | Description |
|---|---|---|
| path | Yes | |
| size | Yes | |
| message | No | |
| success | Yes | |
| filename | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions support for style configuration, templates, and image embedding, but lacks critical behavioral details such as whether this is a read-only or destructive operation, error handling, performance characteristics, or output location behavior. For a complex conversion tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence that efficiently communicates the core functionality and key features. Every word earns its place, with no redundant information. The structure is front-loaded with the primary purpose followed by supporting features.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, nested objects) and the presence of an output schema, the description is moderately complete. It covers the basic conversion purpose and mentions key features, but lacks guidance on usage scenarios, behavioral constraints, and parameter interactions. The output schema reduces the need to describe return values, but more context about the tool's operation would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal parameter semantics beyond the schema. It mentions 'style configuration, template system, and multiple image embedding methods' which loosely maps to the 'styleConfig', 'template', and image handling capabilities, but doesn't explain parameter interactions or provide usage examples. With 100% schema description coverage, the baseline is 3 as the schema does most of the documentation work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb ('convert') and resource ('Markdown document to Word document'), specifying the output format (DOCX). It distinguishes from siblings by focusing on document conversion rather than table creation or listing operations, making the purpose unambiguous and well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, constraints, or scenarios where this conversion is appropriate compared to other document processing tools. Usage context is implied but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: two tools convert different data formats (CSV and JSON) to tables, one lists available styles, and one converts Markdown to DOCX. There is no overlap or ambiguity between these functions, making tool selection straightforward for an agent.
All tool names follow a consistent verb_noun pattern with snake_case (e.g., create_table_from_csv, markdown_to_docx). The naming is predictable and readable, with no deviations in style or convention across the set.
With 4 tools, this server is well-scoped for its purpose of converting data and Markdown to Word documents. Each tool earns its place by covering distinct aspects of the workflow, avoiding bloat or thinness in functionality.
The tool set covers core operations for the domain: data conversion (CSV/JSON to tables), style management, and Markdown-to-DOCX conversion. A minor gap exists in lacking direct table manipulation or editing tools, but agents can work around this by using the provided tools in sequence.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Use your own Word templates to convert Markdown → DOCX/PDF/HTML from any MCP-compatible AI.
Markdown in, any format out. PDFs merged, split, watermarked. Runs on our own doc engines.
Convert documents and web pages to clean Markdown: PDF, DOCX, XLSX, EPUB, scanned files, any URL.
Clean, repair, and convert AI-generated Markdown to HTML/PDF/DOCX/PNG; save and share documents.
Related MCP Servers
- AlicenseAqualityDmaintenanceConverts Markdown documents to PDF files with support for syntax highlighting, custom styling, Mermaid diagrams, optional page numbers, and configurable watermarks.176MIT
- AlicenseAqualityCmaintenanceConvert Markdown into boardroom-grade DOCX, PDF, and HTML using your own custom Word templates — or any of MDMagic's 15 designer-built ones across Business, Creative, Professional, and Technical. Ten tools cover conversion, template recommendations, cost estimation, and markdown validation.10149MIT
- FlicenseBqualityCmaintenanceEnables creating professional Word documents from markdown or structured content with fast, customized formatting via natural language.71
- AlicenseAqualityDmaintenanceConverts Markdown files to Word (.docx) and PDF documents. Supports .dotx templates for branded styling and batch conversion.31MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jackdark425/aigroup-mdtoword-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server