# AI Group Markdown to Word MCP Server
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org)
[](https://modelcontextprotocol.io)
A comprehensive Model Context Protocol (MCP) server for converting Markdown documents to professional Word documents with advanced formatting, styling, and layout capabilities.
## ๐ Features
### Core Conversion
- **Full Markdown Support**: Complete Markdown syntax including headings, paragraphs, lists, tables, code blocks, and blockquotes
- **Advanced Styling System**: Comprehensive style configuration with themes, templates, and custom styling
- **Professional Document Layout**: Page setup, margins, orientation, and document structure
### Advanced Features
- **Mathematical Formulas**: LaTeX math formula support with inline and block rendering
- **Table Processing**: Advanced table styling with 12+ preset styles, CSV/JSON data import
- **Image Support**: Local and remote image embedding with automatic scaling and formatting
- **Header & Footer**: Complete header/footer system with page numbers, total pages, and custom content
- **Table of Contents**: Automatic TOC generation with configurable levels and styling
- **Watermarks**: Text watermarks with configurable position, rotation, and transparency
### MCP Integration
- **Multiple Transports**: Support for STDIO and Streamable HTTP transports
- **Tool-based Interface**: Clean MCP tool interface for document conversion
- **Resource Templates**: Pre-built document templates for various use cases
- **Prompt System**: Intelligent prompts for user guidance and troubleshooting
## ๐ Quick Start
### Installation
```bash
# Using npx (recommended for one-time use)
npx -y aigroup-mdtoword-mcp
# Or install globally
npm install -g aigroup-mdtoword-mcp
```
### Usage with Claude Desktop
Add to your Claude Desktop configuration (`claude_desktop_config.json`):
```json
{
"mcpServers": {
"markdown-to-word": {
"command": "npx",
"args": ["-y", "aigroup-mdtoword-mcp"]
}
}
}
```
### Usage with Other MCP Clients
```json
{
"mcpServers": {
"markdown-to-word": {
"command": "uvx",
"args": ["aigroup-mdtoword-mcp"]
}
}
}
```
## ๐ ๏ธ Available Tools
### markdown_to_docx
Convert Markdown content to Word document with full styling support.
**Input Schema:**
```typescript
{
markdown?: string; // Markdown content (required if inputPath not provided)
inputPath?: string; // Path to Markdown file
filename: string; // Output filename (without extension)
outputPath?: string; // Custom output directory
styleConfig?: StyleConfig; // Advanced styling configuration
}
```
**Example Usage:**
```markdown
Convert this markdown to a Word document:
# 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$
```
### table_data_to_markdown
Convert structured data (CSV/JSON) to formatted Markdown tables.
**Input Schema:**
```typescript
{
data: string; // CSV or JSON data
format: 'csv' | 'json'; // Data format
style?: string; // Table style preset
hasHeader?: boolean; // Whether data includes headers
}
```
## ๐ Available Resources
### Templates
- `template://customer-analysis` - Business analysis report template
- `template://academic` - Academic paper template
- `template://business` - Professional business report
- `template://technical` - Technical documentation
- `template://minimal` - Clean minimal template
### Style Guides
- `style-guide://quick-start` - Quick styling reference
- `style-guide://advanced` - Advanced styling options
- `style-guide://templates` - Template usage guide
### Performance Metrics
- `metrics://conversion-stats` - Conversion performance data
- `metrics://memory-usage` - Memory usage statistics
## ๐จ Styling System
### Basic Styling
```typescript
{
document: {
defaultFont: "ๅฎไฝ",
defaultSize: 24,
defaultColor: "000000",
page: {
size: "A4",
orientation: "portrait",
margins: { top: 1440, bottom: 1440, left: 1440, right: 1440 }
}
},
headingStyles: {
h1: { font: "้ปไฝ", size: 64, color: "000000", bold: true },
h2: { font: "้ปไฝ", size: 32, color: "000000", bold: true }
}
}
```
### Advanced Features
- **Theme System**: Color and font variables for consistent branding
- **Header/Footer**: Custom headers and footers with page numbers
- **Watermarks**: Text watermarks for document protection
- **Table Styling**: 12+ preset table styles with zebra striping
- **Mathematical Formulas**: Professional math formula rendering
## ๐ Table Styles
The server includes 12 professionally designed table styles:
1. **minimal** - Clean modern style with thin borders
2. **professional** - Business style with dark headers
3. **striped** - Zebra striping for better readability
4. **grid** - Complete grid borders for structured data
5. **elegant** - Double borders for formal documents
6. **colorful** - Colorful headers for vibrant presentations
7. **compact** - Minimal margins for data-dense tables
8. **fresh** - Green theme for environmental reports
9. **tech** - Blue tech theme for technical documents
10. **report** - Formal report style with double borders
11. **financial** - Right-aligned numbers for financial data
12. **academic** - Academic paper style
## ๐ง Configuration
### Style Configuration
Full style configuration supports:
- Document-level settings (fonts, colors, page setup)
- Paragraph and heading styles
- Table and list formatting
- Image and code block styling
- Header/footer configuration
- Watermark settings
### Transport Options
- **STDIO**: Standard input/output for local execution
- **Streamable HTTP**: HTTP transport for remote servers
## ๐ Project Structure
```
src/
โโโ index.ts # Main MCP server implementation
โโโ converter/
โ โโโ markdown.ts # Markdown to DOCX converter
โโโ template/
โ โโโ presetLoader.ts # Template system
โโโ types/
โ โโโ index.ts # Core types
โ โโโ style.ts # Style configuration types
โ โโโ template.ts # Template types
โโโ utils/
โโโ tableProcessor.ts # Table processing utilities
โโโ mathProcessor.ts # Mathematical formula processing
โโโ imageProcessor.ts # Image handling utilities
โโโ styleEngine.ts # Style application engine
โโโ errorHandler.ts # Error handling utilities
```
## ๐งช Testing
Run the test suite:
```bash
npm test
```
Available test scenarios:
- Mathematical formula conversion
- Local image embedding
- Page numbering and headers/footers
- Table styling and data import
- Complete document conversion
## ๐ Performance
- **Fast Conversion**: Optimized processing for large documents
- **Memory Efficient**: Stream-based processing for minimal memory usage
- **Production Ready**: Robust error handling and logging
- **Scalable**: Handles documents of any size efficiently
## ๐ค Contributing
We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests
5. Submit a pull request
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Acknowledgments
- Built with the [Model Context Protocol SDK](https://github.com/modelcontextprotocol/servers)
- Uses [docx](https://github.com/dolanmiu/docx) for Word document generation
- Inspired by the MCP community and ecosystem
## ๐ Support
- **Issues**: [GitHub Issues](https://github.com/aigroup/aigroup-mdtoword-mcp/issues)
- **Documentation**: [Full Documentation](docs/README.md)
- **Examples**: [Example Files](examples/)
---
**AI Group Markdown to Word MCP Server** - Professional document conversion powered by MCP protocol.