Docx Forge

io.github.mdfifty50-boopPublished by GitHub account mdfifty50-boopv0.1.1Updated Oct 24, 2026

Professional document generation from structured data

Overview

AI-generated overview

Local MCP server that lets an assistant create, edit, read, merge and export Word .docx documents without Microsoft Office.

What you can do
  • Create documents from a title and markdown content, and append sections with headings and body text
  • Read existing .docx files to extract text, headings, paragraphs and metadata
  • Find and replace text for template variable substitution, and insert formatted tables with bold headers
  • Merge several .docx files into one and get word count, page estimate, section and table counts
  • Export a .docx to PDF through LibreOffice or pandoc
When to use it
Useful when an assistant should produce contracts, reports, proposals or compliance documents as Word files, or edit and inspect existing .docx files, without a Word installation or manual formatting.
Requirements
Runs locally over stdio, typically via npx docx-forge-mcp or a global npm install. Needs Node.js 18 or newer. No Office installation and no credentials are required. PDF export additionally needs LibreOffice or pandoc installed on the system.
Before you install
Tools write, modify and merge files at paths the assistant supplies, so point them at intended locations and keep backups. PDF export depends on an external converter and fails with success false if neither LibreOffice nor pandoc is present; the source .docx is kept.

Installation

In SourceWeft

  1. Open Docx Forge in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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:

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

Cursor

Add to your .cursor/mcp.json:

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

Manual (Node.js)

bash
npm install -g docx-forge-mcpdocx-forge-mcp

Usage Examples

Create a contract from a template

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

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

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

Merge chapter files into a book

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-mcpcd docx-forge-mcpnpm installnpm test        # Run test suitenpm start       # Start MCP server (stdio)

License

MIT — see LICENSE


Related MCP Servers

Source: README.md at commit 848734f

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts