mcpField
D
docx-mcp

docx-mcp

本地服务
github.com/SecurityRonin文件与存储6512 周前更新

关于 docx-mcp

docx-mcp 是一个 MCP 服务,让 AI Agent 读取和编辑 Word(.docx)文档,修订以追踪更改形式呈现。面向法务、咨询、安全测试和合规审计等需要处理 Word 交付物的专业人员。

主要功能

  1. 01以追踪更改方式插入、删除和替换文本
  2. 02添加并回复批注
  3. 03查找替换,支持正则表达式
  4. 04生成修订变更日志
  5. 05文档结构校验和审计
  6. 06支持 OOXML 层面的脚注管理

适用场景

  1. 01对合同进行带修订标记的审阅
  2. 02根据 Markdown 生成带模板的报告
  3. 03批量替换模板库中的内容并审计文档

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露读取、编辑和校验 .docx 文档的大量工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"docx": {
"command": "uvx",
"args": [
"docx-mcp-server"
]
}
}
}
启动命令uvx docx-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypidocx-mcp-server

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

docx-mcp

PyPI Python License: MIT CI Coverage Sponsor SafeSkill 91/100

docx-mcp MCP server

让你的 AI 编码 Agent 能够创建、读取和编辑 Word 文档。编辑内容会以修订的形式显示在 Microsoft Word 中——删除内容为红色删除线,插入内容为绿色下划线。每次修订完成后,Agent 都能生成一份可直接用于邮件的变更日志,列出所有插入、删除和替换内容。你也可以比较两个独立文件,自动获得相同的输出。

适用人群

需要制作 Word 交付件,并希望 AI Agent 直接处理文档工作的专业人士:

  • 法律 — 使用修订标记审阅合同、批量替换模板中的条款、添加解释每项变更的批注、管理脚注
  • 安全与渗透测试 — 根据 Markdown 调查结果生成渗透测试报告、合并多个项目的附录、添加执行摘要批注、交付前移除 DRAFT 水印
  • 咨询 — 使用模板编制提案和工作说明书(SOW)、将会议记录转换为格式规范的交付件、批量更新一组文档中的付款条款
  • 合规与审计 — 验证文档完整性结构、检查交叉引用、审计标题级别、执行保护策略

可以让你的 Agent 执行哪些任务

审阅合同:

“打开 contract.docx,查找所有 ‘Net 30’,将其改为 ‘Net 60’,并在每处添加批注,说明这是根据 Amendment 3 更新的。另存为 contract_revised.docx。”

根据 Markdown 生成报告:

“将我的 pentest-findings.md 转换为 Word 文档,并使用客户的报告模板。为每个 CVE 引用添加脚注。”

批量编辑模板库:

“打开 MSA 模板,将所有 ‘ACME Corp’ 替换为 ‘GlobalTech Inc’,更新页眉中的生效日期,并将文档保护设置为仅跟踪修订。”

发送前审计文档:

“打开最终交付件,执行结构审计,检查是否存在 DRAFT 或 TODO 标记,验证所有脚注交叉引用,并移除所有水印。”

你的 Agent 会处理整个工作流——打开文件、浏览文档结构、进行精确编辑并保留完整修订历史、验证完整性并保存文件——让你专注于内容本身。

安装

Claude Code(推荐):

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

就是这么简单。配套的 技能 会在服务首次启动时自动安装,指导 Claude 完成文档编辑工作流、避开 OOXML 陷阱并执行审计清单。每次升级时都会自动更新。

其他平台和安装方式

Claude Desktop:

添加到你的 MCP 设置中:

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

Cursor / Windsurf / VS Code:

添加到你的 MCP 配置文件中:

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

OpenClaw:

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

使用 pip:

pip install docx-mcp-server
## 功能
功能Agent 可以执行的操作
创建文档从空白文档、.dotx 模板或 Markdown 开始创建文档——支持标题、表格、列表、图片、脚注、代码块和智能排版
跟踪修订以跟踪修订的形式插入、删除和替换文本——插入内容带下划线,删除内容以红色删除线显示。对任何编辑工具传入 tracked=False,即可直接写入更改,不添加修订标记。按作者接受或拒绝更改。
更改日志使用跟踪修订编辑后,调用 generate_change_summary 生成带编号的 .txt 文件,列出每一处插入、删除和替换。或者使用 diff_to_text 比较两个独立文件并自动生成相同的输出——适用于你未亲自编辑的文档版本。
批注为特定段落添加批注,回复批注讨论串
查找和替换在正文、脚注和批注中按文本或正则表达式搜索,然后进行针对性编辑
表格创建表格、修改单元格、添加或删除行——所有操作均支持跟踪修订
脚注和尾注添加、列出并验证交叉引用
格式设置粗体、斜体、下划线、颜色——支持跟踪修订,可查看格式更改
页眉和页脚使用跟踪修订读取和编辑页眉/页脚内容
图片列出嵌入的图片,按指定尺寸插入新图片
分节和版式分页符、分节符、页面大小、方向、页边距
交叉引用使用书签在段落之间添加内部超链接
合并文档合并多个 DOCX 文件的内容
保护使用密码将文档锁定为仅允许跟踪修订、只读或仅允许批注
结构审查在交付前验证脚注、标题、书签、图片和内部一致性
移除水印检测并移除页眉中的 DRAFT 水印
PII 清理 (实验性)使用 Presidio + spaCy NER 检测姓名、电子邮件、电话号码、SSN 等。执行真正的 XML 涂黑——原文将被永久删除,并替换为纯黑矩形。不适用于生产环境——请参阅限制。

示例:带修订痕迹的合同审阅

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")

在 Word 中打开输出文件,你看到的效果与人工审阅者的成果完全一致——修订标记、页边批注和整洁的文档结构。

示例:修订会话后的更改日志

1. open_document("contract.docx")
2. replace_text(para_id, "30 days", "60 days")           → tracked revision (del + ins)
3. add_comment(para_id, "Extended per Amendment 3")
4. save_document("contract_redlined.docx")
5. generate_change_summary("contract_changes.txt")

.txt 输出内容如下:

1. REPLACEMENT by Claude on 2026-05-25
   Deleted:  "30 days"
   Inserted: "60 days"

将其粘贴到电子邮件、PR 描述或交接说明中。

示例:比较两个独立的文档版本

无需编辑会话——指定任意两个文件即可:

1. diff_to_text("proposal_v1.docx", "proposal_v2.docx")

会返回两个文件:

  • proposal_v1_diff.docx — 在 Word 中打开即可查看文档内的跟踪修订
  • proposal_v1_diff.txt — 纯文本摘要,可直接粘贴到任何位置

示例:根据 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

你的 Markdown 调查结果——标题、受影响主机的表格、包含概念验证输出的代码块、严重性评级——会转换成符合客户模板格式的 Word 文档。系统会自动应用智能排版(弯引号、长破折号、规范的省略号)。

PII 清理(实验性)

此功能处于实验阶段,不适合用于生产环境,也不应作为保护特权、受监管或法律敏感文档的唯一措施。

scrub_pii 使用 Microsoft Presidio 和 spaCy NER 模型(en_core_web_lg,约 560 MB,首次调用时下载)来检测并永久删除个人信息。被删除的文本片段会替换为实心黑色 DrawingML 矩形 — 原始文本会从 XML 中删除,而不仅仅是隐藏。

可可靠检测的内容(通过正则表达式/模式匹配,高置信度):

  • 电子邮件地址、电话号码、信用卡号、SSN、IBAN、IP 地址、美国护照号码

通过统计方式检测的内容(通过 NER,可能会漏检):

  • 人名、组织名称、地点、日期

已知的 NER 缺漏 — 以下内容会被漏检:

  • 全部大写的人名(常见于分类账、表格标题、法律文件中的当事人称谓)
  • 周围没有上下文的单词式姓名
  • 非英语人名(此英语模型对阿拉伯语、CJK 及非洲姓名模式的召回率较低)
  • 嵌在法律套话中的姓名(Lender: Jane Doe、Authorized Signatory: John Smith)

建议的工作流:

1. open_document("sensitive.docx")
2. scrub_pii(dry_run=True)             → review detected entities — check for misses
3. scrub_pii("sensitive_redacted.docx") → produce redacted copy
4. open the output in Word and verify manually before sharing

请始终将输出视为需要人工审核的初步结果,而非已完成的删除版本。

工作原理

.docx 文件是由 XML 文件组成的 ZIP 归档。此服务会解压归档、直接编辑 XML,然后重新打包。正因如此,它能够生成真正的修订记录、批注和脚注 — 这是更高层级的文档库无法做到的。

每次编辑在保存前都会根据 OOXML 规范进行验证,以捕获孤立脚注、重复的内部 ID 和损坏的交叉引用等问题,避免 Word 因此“修复”文档(并在不提示的情况下重写文档)。

完整工具清单(200+ 个工具)
文档生命周期
工具描述
open_document打开 .docx 文件以进行读取和编辑
create_document创建新的空白 .docx(或使用 .dotx 模板创建)
create_from_markdown从 GitHub 风格的 Markdown 创建 .docx
close_document关闭当前文档并清理
get_document_info获取概览统计数据(段落、标题、脚注、批注)
save_document将更改保存回 .docx(可覆盖原文件或保存到新路径)
读取
工具描述
get_headings获取标题结构及其级别和文本
search_text在正文、脚注和批注中搜索(文本或正则表达式)
get_paragraph获取段落的完整文本和样式
修订
工具描述
insert_text以修订记录的形式插入文本(在 Word 中带下划线)— 或使用 tracked=False 直接插入
delete_text标记文本为已删除(在 Word 中显示红色删除线)— 或使用 tracked=False 直接删除
replace_text以跟踪的删除和插入对替换文本 — 或使用 tracked=False 直接替换
modify_cell修改表格单元格 — 默认跟踪更改;直接写入请使用 tracked=False
edit_header_footer编辑页眉/页脚文本 — 默认跟踪更改;直接写入请使用 tracked=False
set_formatting使用修订标记应用粗体/斜体/下划线/颜色
set_track_changes启用或禁用 Word 内置的修订记录标志
get_tracked_changes列出所有待处理的修订(作者、日期、类型、文本)
accept_changes接受修订,可按作者筛选
reject_changes拒绝修订,可按作者筛选
更改日志
工具描述
generate_change_summary将打开的文档中的所有修订导出为带编号的 .txt 文件——插入、删除,以及合并为替换项的相邻删除+插入对
compare_documents对比两个 DOCX 文件并生成带修订的 DOCX 文件(可用 Word 打开)
diff_to_text对比两个 DOCX 文件,并生成带修订的 DOCX 文件和纯文本摘要 .txt 文件
表格
工具描述
get_tables获取所有表格及其行数、列数和单元格内容
add_table在段落后插入新表格
modify_cell以修订方式修改表格单元格
add_table_row向表格添加一行
delete_table_row以修订方式删除表格行
列表
工具描述
add_list为段落应用项目符号或编号列表格式
评论
工具描述
get_comments列出所有评论及其 ID、作者、日期和文本
add_comment添加锚定到段落的评论
reply_to_comment回复现有评论(线程式)
脚注和尾注
工具描述
get_footnotes列出所有脚注及其 ID 和文本
add_footnote添加带上标引用的脚注
validate_footnotes验证脚注交叉引用
get_endnotes列出所有尾注及其 ID 和文本
add_endnote添加带上标引用的尾注
validate_endnotes验证尾注交叉引用
页眉、页脚和样式
工具描述
get_headers_footers获取所有页眉和页脚及其文本内容
edit_header_footer以修订方式编辑页眉/页脚文本
get_styles获取所有已定义的样式
属性和图像
工具描述
get_properties获取文档核心属性(标题、创建者、日期)
set_properties设置文档核心属性
get_images获取所有嵌入图像及其尺寸
insert_image在段落后插入图像
分节和交叉引用
工具描述
add_page_break在段落后插入分页符
add_section_break添加分节符(nextPage、continuous、evenPage、oddPage)
set_section_properties设置页面大小、方向和页边距
add_cross_reference添加段落之间的交叉引用链接
保护和合并
工具描述
set_document_protection设置文档保护,可选择设置密码
merge_documents合并另一个 DOCX 文件中的内容
验证和审计
工具描述
validate_paraids检查文档所有部分中的内部 ID 是否唯一
remove_watermark移除文档页眉中的 VML 水印
audit_document全面的结构审计

要求

  • Python 3.10+
  • 支持 macOS、Linux 和 Windows

隐私政策 · 服务条款 · © 2026 Security Ronin Ltd

README 配图

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。