docx-mcp

Read and edit Word (.docx) documents with track changes, comments, footnotes, and structural validation. 18 tools with OOXML-level paraId validation and document auditing.

docx-mcp

PyPI Python License: MIT CI Coverage Sponsor

docx-mcp MCP server

Give your AI coding agent the ability to create, read, and edit Word documents. Every edit appears as a tracked change in Microsoft Word — red strikethrough for deletions, green underline for insertions, comments in the sidebar — so your colleagues see exactly what changed and why.

Who This Is For

Professionals who produce Word deliverables and want their AI agent to handle the document work directly:

  • Legal — contract review with tracked redlines, batch clause replacement across templates, comment annotations explaining each change, footnote management
  • Security & Penetration Testing — generate pentest reports from markdown findings, merge appendices from multiple engagements, add executive-summary comments, remove DRAFT watermarks before delivery
  • Consulting — build proposals and SOWs from templates, convert meeting notes to formatted deliverables, bulk-update payment terms across document sets
  • Compliance & Audit — structural validation of document integrity, cross-reference checking, heading-level audits, protection enforcement

What You Can Ask Your Agent To Do

Review a contract:

"Open contract.docx, find every instance of 'Net 30', change it to 'Net 60', and add a comment on each explaining it was updated per Amendment 3. Save as contract_revised.docx."

Generate a report from markdown:

"Convert my pentest-findings.md to a Word document using the client's report template. Add footnotes for each CVE reference."

Batch-edit a template library:

"Open the MSA template, replace 'ACME Corp' with 'GlobalTech Inc' everywhere, update the effective date in the header, and set document protection to track-changes-only."

Audit a document before sending:

"Open the final deliverable, run a structural audit, check for any DRAFT or TODO markers, validate all footnote cross-references, and remove any watermarks."

Your agent handles the entire workflow — opening the file, navigating the structure, making precise edits with full revision history, validating integrity, and saving — while you focus on the substance.

Installation

Claude Code (recommended):

claude mcp add docx-mcp -- uvx docx-mcp-server

That's it. A companion skill auto-installs the first time the server starts, teaching Claude the document editing workflow, OOXML pitfalls, and audit checklist. It auto-updates on every upgrade.

Other platforms and installation methods

Claude Desktop:

Add to your MCP settings:

{
  "mcpServers": {
    "docx-mcp": {
      "command": "uvx",
      "args": ["docx-mcp-server"]
    }
  }
}

Cursor / Windsurf / VS Code:

Add to your MCP configuration file:

{
  "mcpServers": {
    "docx-mcp": {
      "command": "uvx",
      "args": ["docx-mcp-server"]
    }
  }
}

OpenClaw:

mcpServers:
  docx-mcp:
    command: uvx
    args:
      - docx-mcp-server

With pip:

pip install docx-mcp-server

Capabilities

CapabilityWhat your agent can do
Create documentsStart blank, from a .dotx template, or from markdown — headings, tables, lists, images, footnotes, code blocks, smart typography
Track changesInsert and delete text with proper revision marks that show up in Word's review pane
CommentsAdd comments anchored to specific paragraphs, reply to comment threads
Find and replaceSearch by text or regex across body, footnotes, and comments — then make targeted edits
TablesCreate tables, modify cells, add or delete rows — all with revision tracking
Footnotes & endnotesAdd, list, and validate cross-references
FormattingBold, italic, underline, color — with revision tracking so formatting changes are visible
Headers & footersRead and edit header/footer content with tracked changes
ImagesList embedded images, insert new ones with specified dimensions
Sections & layoutPage breaks, section breaks, page size, orientation, margins
Cross-referencesInternal hyperlinks between paragraphs with bookmarks
Document mergeCombine content from multiple DOCX files
ProtectionLock documents for tracked-changes-only, read-only, or comments-only with passwords
Structural auditValidate footnotes, headings, bookmarks, images, and internal consistency before delivery
Watermark removalDetect and strip DRAFT watermarks from headers

Example: Contract Review with Redlines

1. open_document("services-agreement.docx")
2. get_headings()                              → see document structure
3. search_text("30 days")                      → find the payment clause
4. delete_text(para_id, "30 days")             → tracked deletion  (red strikethrough)
5. insert_text(para_id, "60 days")             → tracked insertion (green underline)
6. add_comment(para_id, "Extended per client request — see Amendment 3")
7. audit_document()                            → verify structural integrity
8. save_document("services-agreement_redlined.docx")

Open the output in Word and you see exactly what a human reviewer would produce — revision marks, comments in the margin, clean document structure.

Example: Pentest Report from Markdown

1. create_from_markdown("pentest-report.docx",
       md_path="findings.md",
       template_path="client-template.dotx")
2. audit_document()                            → verify integrity
3. save_document()                             → ready for delivery

Your markdown findings — headings, tables of affected hosts, code blocks with proof-of-concept output, severity ratings — become a formatted Word document matching the client's template. Smart typography is applied automatically (curly quotes, em dashes, proper ellipses).

How It Works

A .docx file is a ZIP archive of XML files. This server unpacks the archive, edits the XML directly, and repacks it. This is what gives it the ability to produce real tracked changes, comments, and footnotes — things that higher-level document libraries can't do.

Every edit is validated against the OOXML specification before saving, catching issues like orphaned footnotes, duplicate internal IDs, and broken cross-references that would otherwise cause Word to "repair" (and silently rewrite) your document.

Full tool inventory (45 tools)

Document Lifecycle

ToolDescription
open_documentOpen a .docx file for reading and editing
create_documentCreate a new blank .docx (or from a .dotx template)
create_from_markdownCreate a .docx from GitHub-Flavored Markdown
close_documentClose the current document and clean up
get_document_infoGet overview stats (paragraphs, headings, footnotes, comments)
save_documentSave changes back to .docx (can overwrite or save to new path)

Reading

ToolDescription
get_headingsGet heading structure with levels and text
search_textSearch across body, footnotes, and comments (text or regex)
get_paragraphGet full text and style of a paragraph

Track Changes

ToolDescription
insert_textInsert text with tracked-change markup
delete_textMark text as deleted with tracked-change markup
accept_changesAccept tracked changes (all or by author)
reject_changesReject tracked changes (all or by author)
set_formattingApply bold/italic/underline/color with tracked-change markup

Tables

ToolDescription
get_tablesGet all tables with row/column counts and cell content
add_tableInsert a new table after a paragraph
modify_cellModify a table cell with tracked changes
add_table_rowAdd a row to a table
delete_table_rowDelete a table row with tracked changes

Lists

ToolDescription
add_listApply bullet or numbered list formatting to paragraphs

Comments

ToolDescription
get_commentsList all comments with ID, author, date, and text
add_commentAdd a comment anchored to a paragraph
reply_to_commentReply to an existing comment (threaded)

Footnotes & Endnotes

ToolDescription
get_footnotesList all footnotes with ID and text
add_footnoteAdd a footnote with superscript reference
validate_footnotesValidate footnote cross-references
get_endnotesList all endnotes with ID and text
add_endnoteAdd an endnote with superscript reference
validate_endnotesValidate endnote cross-references

Headers, Footers & Styles

ToolDescription
get_headers_footersGet all headers and footers with text content
edit_header_footerEdit header/footer text with tracked changes
get_stylesGet all defined styles

Properties & Images

ToolDescription
get_propertiesGet core document properties (title, creator, dates)
set_propertiesSet core document properties
get_imagesGet all embedded images with dimensions
insert_imageInsert an image after a paragraph

Sections & Cross-References

ToolDescription
add_page_breakInsert a page break after a paragraph
add_section_breakAdd a section break (nextPage, continuous, evenPage, oddPage)
set_section_propertiesSet page size, orientation, and margins
add_cross_referenceAdd a cross-reference link between paragraphs

Protection & Merge

ToolDescription
set_document_protectionSet document protection with optional password
merge_documentsMerge content from another DOCX

Validation & Audit

ToolDescription
validate_paraidsCheck internal ID uniqueness across all document parts
remove_watermarkRemove VML watermarks from document headers
audit_documentComprehensive structural audit

Requirements

  • Python 3.10+
  • Works on macOS, Linux, and Windows

License

MIT

관련 서버