Docx Forge README

The full upstream README, mirrored for reference. Install config, tool schemas, adoption signals and our own overview live on the Docx Forge listing page.

docx-forge-mcp

MCP server for Word document (.docx) creation and manipulation — the production-grade document automation tool for AI agents.

Generate contracts, reports, proposals, and compliance documents directly from agent workflows. No Word installation required.

npm License: MIT MCP Compatible


Why docx-forge-mcp?

Word documents are the default format for contracts, compliance reports, legal agreements, and business proposals — especially in enterprise and government workflows. This MCP server gives AI agents the ability to produce and manipulate .docx files programmatically, without any Office installation, UI automation, or file format guesswork.

Only 1 competitor exists for Word document manipulation via MCP as of 2026. This server fills that gap with a production-quality, fully-tested implementation.


Tools

ToolDescription
create_documentCreate a new .docx from a title and markdown content
read_documentExtract text, headings, paragraphs, and metadata from a .docx
add_sectionAppend a new section (heading + body) to an existing .docx
replace_textFind and replace text — ideal for template variable substitution
add_tableInsert a formatted table with bold headers into a .docx
merge_documentsCombine multiple .docx files into one
export_to_pdfConvert .docx to PDF via LibreOffice or pandoc
get_document_statsGet word count, page estimate, section count, table count

Install

Claude Desktop

Add to your claude_desktop_config.json:

config.json
{
  "mcpServers": {
    "docx-forge": {
      "command": "npx",
      "args": ["docx-forge-mcp"]
    }
  }
}

Cursor

Add to your .cursor/mcp.json:

config.json
{
  "mcpServers": {
    "docx-forge": {
      "command": "npx",
      "args": ["docx-forge-mcp"]
    }
  }
}

Manual (Node.js)

Terminal
npm install -g docx-forge-mcp
docx-forge-mcp

Usage Examples

Create a contract from a template

Code
create_document(
  title="Service Agreement",
  content="# Parties\n\n**Client:** {{CLIENT_NAME}}\n**Provider:** Acme Corp\n\n## Scope of Work\n\n{{SCOPE}}\n\n## Payment\n\n{{PAYMENT_TERMS}}",
  outputPath="/tmp/contract.docx"
)

replace_text(filePath="/tmp/contract.docx", find="{{CLIENT_NAME}}", replace="TechCorp Ltd")
replace_text(filePath="/tmp/contract.docx", find="{{SCOPE}}", replace="Software development and consulting services.")
replace_text(filePath="/tmp/contract.docx", find="{{PAYMENT_TERMS}}", replace="Net 30 days. $15,000/month.")

export_to_pdf(filePath="/tmp/contract.docx", outputPath="/tmp/contract.pdf")

Build a structured report

Code
create_document(
  title="Q1 2026 Performance Report",
  content="## Executive Summary\n\nRevenue grew 34% YoY.",
  outputPath="/tmp/report.docx"
)

add_section(
  filePath="/tmp/report.docx",
  heading="Revenue Breakdown",
  content="Product A: $450K\nProduct B: $320K\nServices: $180K",
  headingLevel=2
)

add_table(
  filePath="/tmp/report.docx",
  headers=["Product", "Q1 Revenue", "Growth"],
  rows=[["Product A", "$450K", "+41%"], ["Product B", "$320K", "+28%"], ["Services", "$180K", "+19%"]]
)

get_document_stats(filePath="/tmp/report.docx")

Read and inspect an existing document

Code
read_document(filePath="/path/to/existing.docx")
# Returns: { text, paragraphs[], headings[], metadata: { wordCount, fileSizeBytes, ... } }

Merge chapter files into a book

Code
merge_documents(
  filePaths=["/docs/ch1.docx", "/docs/ch2.docx", "/docs/ch3.docx"],
  outputPath="/docs/complete-manual.docx"
)

Markdown Support

create_document and add_section both accept markdown content:

MarkdownResult
# Heading 1H1 heading
## Heading 2H2 heading
**bold text**Bold text
*italic text*Italic text
- itemBullet list item
1. itemNumbered list item
---Horizontal divider
Blank lineParagraph break

PDF Export

export_to_pdf requires a system-level converter. It tries in order:

  1. LibreOffice (best fidelity) — sudo apt-get install libreoffice
  2. pandoc — sudo apt-get install pandoc

If neither is available, the tool returns success: false with installation instructions. The source .docx file is always preserved.


Resources

URIDescription
docx-forge://usage-guideStep-by-step guide with workflow examples

Dependencies


Requirements

  • Node.js >= 18.0.0
  • No Microsoft Word or Office installation required
  • PDF export requires LibreOffice or pandoc (optional)

Development

bash
git clone https://github.com/mdfifty50-boop/docx-forge-mcp
cd docx-forge-mcp
npm install
npm test        # Run test suite
npm start       # Start MCP server (stdio)

License

MIT — see LICENSE


Related MCP Servers