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:
# File mode: Saves file directly (default for local environments)
python scripts/convert.py input.md
# URL mode: Returns download URL when running remotely
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
--urlonly 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.pywith 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 purposearticle- Article/report stylethesis- 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
# File mode (local environments, default)
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
# URL mode (cloud/remote environments)
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
-or1.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 key403 Forbidden- Quota exceeded → Purchase at https://ds.rick216.cn/purchase413 Payload Too Large- Content exceeds 10MB500 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:
- Set environment variable
DEEP_SHARE_API_KEYexport DEEP_SHARE_API_KEY="your_api_key_here"
- Set environment variable
- 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 --urlThe script will:
- Read the API key from
DEEP_SHARE_API_KEY - Call the conversion API
- Return download URL
- Read the API key from
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 ./outputThe script will:
- Read the API key from
DEEP_SHARE_API_KEY - Call the conversion API
- Save the DOCX file directly
- Read the API key from
Tell user where the file was saved
No cleanup needed - file is the output