| name | md2docx |
| description | Convert Markdown to Word (DOCX) documents. Use when user wants to export, convert, or create Word documents from Markdown content. |
md2docx - Markdown to Word Converter
Convert Markdown text to professionally formatted Word (DOCX) documents.
Quick Start
Default to file mode for local skill execution:
python scripts/convert.py input.md
python scripts/convert.py input.md --url
Choosing the Right Mode
| Scenario | Mode | Command |
|---|
| Skill runs locally, user wants file saved | file mode | python scripts/convert.py input.md |
| Skill runs in cloud, user needs to download | --url | python scripts/convert.py input.md --url |
| Remote execution (MCP, API, cloud agent) | --url | Returns URL for user to download |
| Local execution (user's machine) | file mode | Saves .docx directly to disk |
Decision Rule:
- Run without a mode flag when the skill runs on the same machine where the user wants the output file.
- Use
--url only when the skill runs in a different environment than the user (cloud, remote server, MCP server).
How It Works
- Prepare Markdown: Ensure content is in standard Markdown format
- Run Script: Execute
scripts/convert.py with appropriate mode
- Get Result:
- URL mode: Receive download URL
- File mode: File saved to specified location
API Details
Endpoints:
- URL mode:
https://api.deepshare.app/convert-text-to-url โ Returns {"url": "..."}
- File mode:
https://api.deepshare.app/convert-text โ Returns DOCX file directly
Authentication: Set the DEEP_SHARE_API_KEY environment variable and send it as X-API-Key.
API Key Configuration
Set the environment variable before running the skill:
export DEEP_SHARE_API_KEY="your_api_key_here"
The skill reads only this environment variable. If it is missing, conversion stops with a configuration error.
Request Format
{
"content": "markdown text here",
"filename": "output",
"template_name": "templates",
"language": "zh"
}
Parameters
| Parameter | Default | Description |
|---|
content | required | Markdown text to convert |
filename | "output" | Output filename (without .docx) |
template_name | "templates" | Template: templates, ่ฎบๆ, article, thesis, etc. |
language | "zh" | Template language: zh or en |
Common Templates
Chinese (language: "zh"):
templates - General purpose
่ฎบๆ - Academic paper
่ฎบๆ-้ฆ่กไธ็ผฉ่ฟ - Paper without indent
่ฎบๆ-ๆ ้ขๅ ็ฒ - Paper with bold headings
English (language: "en"):
templates - General purpose
article - Article/report style
thesis - Academic thesis
Conversion Script Usage
Command Line Options
python scripts/convert.py <input.md> [options]
Options:
--url Return download URL
--file Save file directly to disk (default if no mode specified)
--template, -t Template name (default: templates)
--language, -l Language: zh or en (default: zh)
--filename Output filename without .docx (default: input basename)
--output, -o Output directory for file mode
Examples
python scripts/convert.py document.md
python scripts/convert.py paper.md --file --output ./docs --template thesis --language en
python scripts/convert.py notes.md --file --filename meeting-notes
python scripts/convert.py document.md --url
python scripts/convert.py paper.md --url --template ่ฎบๆ --language zh
Validation Before Conversion
Ensure Markdown content:
- Headers use
# syntax
- Lists use
- or 1. syntax
- Code blocks use triple backticks
- Math formulas use
$...$ (inline) or $$...$$ (block)
- Images use publicly accessible URLs
Response Handling
URL Mode Response
Success (200 OK):
{
"url": "https://flies.deepshare.app/mcp/hash/document_xxx.docx"
}
File Mode Response
Success: File saved to disk, path printed to stdout
Error Responses (Both Modes)
401 Unauthorized - Invalid API key
403 Forbidden - Quota exceeded โ Purchase at https://ds.rick216.cn/purchase
413 Payload Too Large - Content exceeds 10MB
500 Internal Server Error - Service unavailable, retry
User Communication
On Success
Tell user:
- Conversion completed successfully
- URL mode: Provide the download URL
- File mode: Provide the file path where document was saved
- Check which API key was used:
- If using the environment variable: No reminder needed
- If the environment variable is missing: Tell the user to set
DEEP_SHARE_API_KEY
On Quota Exceeded
Tell user:
- Conversion failed: quota exceeded
- Purchase more credits at: https://ds.rick216.cn/purchase
- Recheck
DEEP_SHARE_API_KEY
On Other Errors
Tell user:
- What went wrong (based on error message)
- How to fix it
- Offer to retry
Tips
- API Key Configuration:
- File Size: Keep Markdown under 10MB
- Images: Use
https:// URLs, not local paths
- Math: Use LaTeX syntax:
$E=mc^2$ or $$\int_0^\infty$$
- Templates: Choose based on document type (paper, article, etc.)
Example Workflows
Workflow 1: Cloud Environment (URL Mode)
User asks: "Convert this to Word" (skill running in cloud)
-
Save the Markdown content to a temporary file (e.g., temp.md)
-
Run the conversion script with URL mode:
python scripts/convert.py temp.md --url
-
The script will:
- Read the API key from
DEEP_SHARE_API_KEY
- Call the conversion API
- Return download URL
-
Provide the download URL to user
-
Clean up temporary file
Workflow 2: Local Environment (File Mode)
User asks: "Convert my notes.md to Word" (skill running locally)
-
Run the conversion script with file mode:
python scripts/convert.py notes.md --output ./output
-
The script will:
- Read the API key from
DEEP_SHARE_API_KEY
- Call the conversion API
- Save the DOCX file directly
-
Tell user where the file was saved
-
No cleanup needed - file is the output