open_documentLABSCO SUMMARY
Tracked changes are the point — an agent edit that a reviewer can accept, reject or argue with.
Most document tooling hands back a rewritten file, which is useless when the recipient needs to see what moved. Here insertions and deletions land as real Word revisions with authorship, and generate_change_summary turns a session into a numbered list you can paste into an email. That makes it usable for the work it names — contract redlines, pentest reports built from markdown findings, template libraries updated in bulk. The pre-delivery tools are the other half: audit the structure, validate the footnote references, strip the watermark and scrub personal data before the file leaves.
What it is
A Python server for .docx files that creates, reads and edits Word documents, writing edits as real tracked revisions that open correctly in Microsoft Word.
What you get
- Documents created blank, from a .dotx template, or from markdown through create_from_markdown — headings, tables, lists, images, footnotes and code blocks
- Text edited as tracked revisions by default: insert_text, replace_text and delete_text, with tracked=False to write directly when you do not want markup
- accept_changes and reject_changes, filterable by author, plus get_tracked_changes to see what is outstanding
- generate_change_summary for a numbered change log after a revision session, or diff_to_text to compare two separate files and get the same output
- Comments: add_comment, get_comments and reply_to_comment, for explaining a change next to it
- Tables through get_tables, add_table, modify_cell, add_table_row and delete_table_row
- Footnotes and endnotes with validation, cross-references, bookmarks, hyperlinks and fields
- Structure work: get_headings, generate_toc, update_toc, add_section_break, edit_header_footer and set_section_properties
- Delivery checks: audit_document for structural integrity, remove_watermark for DRAFT markers, scrub_pii for personal data, and set_document_protection to lock a file to tracked changes only
- merge_documents, for pulling appendices from several files into one
Requirements
Nothing to authorize — no account, no key; it works on files on your disk. Published to PyPI as docx-mcp-server and run with uvx. A companion skill installs the first time the server starts and updates with it, teaching the client the editing workflow and the OOXML pitfalls.
Setup effort
One command — claude mcp add docx-mcp -- uvx docx-mcp-server
USE CASES
Redlining a contract so the other side can see every change
Replace the terms as tracked revisions and add a comment on each explaining why it changed.
Sending someone a list of what you changed
Generate the change summary after the session, or diff the before and after files if the edits were made elsewhere.
Turning markdown findings into a client-format report
Build the document from the markdown against the client's template, with footnotes for each reference.
Updating a template library in bulk
Replace the company name throughout, fix the header, and lock the file to tracked changes only.
Checking a deliverable before you send it
Run the structural audit, remove the draft watermark, and scrub personal data out of the file.
Assembling one document out of several
Merge the appendices from separate engagements into the main report and rebuild the table of contents.
52 tools
Listed in project docs. Your client may show a different list.
create_documentcreate_from_markdownclose_documentget_document_infosave_documentget_headingssearch_textget_paragraphinsert_textdelete_textreplace_textmodify_celledit_header_footerset_formattingset_track_changesget_tracked_changesaccept_changesreject_changesgenerate_change_summarycompare_documentsdiff_to_textget_tablesadd_tableadd_table_rowdelete_table_rowadd_listget_commentsadd_commentreply_to_commentget_footnotesadd_footnotevalidate_footnotesget_endnotesadd_endnotevalidate_endnotesget_headers_footersget_stylesget_propertiesset_propertiesget_imagesinsert_imageadd_page_breakadd_section_breakset_section_propertiesadd_cross_referenceset_document_protectionmerge_documentsvalidate_paraidsremove_watermarkaudit_documentscrub_piiBEFORE YOU INSTALL
What to know first
Tools you get
52 tools named in the project's documentation.
Requires
Python 3.10+
Where it runs
All 4 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
Claude Code
claude mcp add docx-mcp -- uvx docx-mcp-serverMCP Clients
Claude Desktop, Cursor, Windsurf
{
"mcpServers": {
"docx-mcp": {
"command": "uvx",
"args": [
"docx-mcp-server"
]
}
}
}