docx-mcp
The docx-mcp server enables reading, editing, and validating Microsoft Word (.docx) documents via OOXML-level manipulation, with advanced support for track changes, comments, and footnotes.
Document Management
Open, close, save, and retrieve overview stats (paragraph count, headings, footnotes, comments, images) for .docx files
Reading & Searching
Extract the heading structure (levels, text, styles, paraIds)
Retrieve specific paragraphs by
paraIdSearch across body, footnotes, and comments using plain text or regex
Track Changes
Insert text with
w:insmarkup (appears as green underlined text in Word)Delete text with
w:delmarkup (appears as red strikethrough in Word)
Comments
List all comments (ID, author, date, text)
Add comments anchored to specific paragraphs
Reply to existing comments to create threaded conversations
Footnotes
List all footnotes with ID and content
Add footnotes with superscript references to specific paragraphs
Validate cross-references between the document body and
footnotes.xml
Validation & Auditing
Validate
paraIduniqueness across all document parts (body, footnotes, headers, footers, comments)Remove VML watermarks (e.g., DRAFT) from document headers
Run comprehensive structural audits covering footnotes, paraIds, heading continuity, bookmark pairing, relationship targets, image references, and residual artifacts
Provides the capability to generate professionally formatted Microsoft Word (.docx) documents from Markdown source files, including support for headings, tables, footnotes, and lists.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@docx-mcpChange 'Net 30' to 'Net 60' in invoice.docx using track changes."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
docx-mcp
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-serverThat'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.
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-serverWith pip:
pip install docx-mcp-serverCapabilities
Capability | What your agent can do |
Create documents | Start blank, from a |
Track changes | Insert and delete text with proper revision marks that show up in Word's review pane |
Comments | Add comments anchored to specific paragraphs, reply to comment threads |
Find and replace | Search by text or regex across body, footnotes, and comments — then make targeted edits |
Tables | Create tables, modify cells, add or delete rows — all with revision tracking |
Footnotes & endnotes | Add, list, and validate cross-references |
Formatting | Bold, italic, underline, color — with revision tracking so formatting changes are visible |
Headers & footers | Read and edit header/footer content with tracked changes |
Images | List embedded images, insert new ones with specified dimensions |
Sections & layout | Page breaks, section breaks, page size, orientation, margins |
Cross-references | Internal hyperlinks between paragraphs with bookmarks |
Document merge | Combine content from multiple DOCX files |
Protection | Lock documents for tracked-changes-only, read-only, or comments-only with passwords |
Structural audit | Validate footnotes, headings, bookmarks, images, and internal consistency before delivery |
Watermark removal | Detect 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 deliveryYour 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.
Document Lifecycle
Tool | Description |
| Open a .docx file for reading and editing |
| Create a new blank .docx (or from a .dotx template) |
| Create a .docx from GitHub-Flavored Markdown |
| Close the current document and clean up |
| Get overview stats (paragraphs, headings, footnotes, comments) |
| Save changes back to .docx (can overwrite or save to new path) |
Reading
Tool | Description |
| Get heading structure with levels and text |
| Search across body, footnotes, and comments (text or regex) |
| Get full text and style of a paragraph |
Track Changes
Tool | Description |
| Insert text with tracked-change markup |
| Mark text as deleted with tracked-change markup |
| Accept tracked changes (all or by author) |
| Reject tracked changes (all or by author) |
| Apply bold/italic/underline/color with tracked-change markup |
Tables
Tool | Description |
| Get all tables with row/column counts and cell content |
| Insert a new table after a paragraph |
| Modify a table cell with tracked changes |
| Add a row to a table |
| Delete a table row with tracked changes |
Lists
Tool | Description |
| Apply bullet or numbered list formatting to paragraphs |
Comments
Tool | Description |
| List all comments with ID, author, date, and text |
| Add a comment anchored to a paragraph |
| Reply to an existing comment (threaded) |
Footnotes & Endnotes
Tool | Description |
| List all footnotes with ID and text |
| Add a footnote with superscript reference |
| Validate footnote cross-references |
| List all endnotes with ID and text |
| Add an endnote with superscript reference |
| Validate endnote cross-references |
Headers, Footers & Styles
Tool | Description |
| Get all headers and footers with text content |
| Edit header/footer text with tracked changes |
| Get all defined styles |
Properties & Images
Tool | Description |
| Get core document properties (title, creator, dates) |
| Set core document properties |
| Get all embedded images with dimensions |
| Insert an image after a paragraph |
Sections & Cross-References
Tool | Description |
| Insert a page break after a paragraph |
| Add a section break (nextPage, continuous, evenPage, oddPage) |
| Set page size, orientation, and margins |
| Add a cross-reference link between paragraphs |
Protection & Merge
Tool | Description |
| Set document protection with optional password |
| Merge content from another DOCX |
Validation & Audit
Tool | Description |
| Check internal ID uniqueness across all document parts |
| Remove VML watermarks from document headers |
| Comprehensive structural audit |
Requirements
Python 3.10+
Works on macOS, Linux, and Windows
License
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SecurityRonin/docx-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server