mcpField
S
Safe Docx

Safe Docx

本地服务
usejunior.com文件与存储47今天更新

关于 Safe Docx

Safe Docx 是一个本地 MCP 服务和命令行工具,用于读取、搜索、编辑、比较和保存 Word(.docx)及 OpenDocument 文件。它面向编码 Agent,可保留 DOCX 结构,并输出干净版或修订跟踪版文档。文件全部在本机处理。

主要功能

  1. 01精准文本替换,保留文档其余内容
  2. 02生成干净版或修订跟踪版文档
  3. 03文档比较与修订查看
  4. 04批注与脚注的添加和管理
  5. 05格式、编号与分节调整
  6. 06全程本地处理,不上传云端

适用场景

  1. 01由编码 Agent 修改合同中的管辖法律条款
  2. 02对比两个版本的合同并生成修订记录
  3. 03批量处理文档中的批注与脚注

MCP 相关

该项目是一个 MCP 服务,以 stdio 方式运行且不接受参数。它向 MCP 客户端暴露读取、编辑、格式化、修订、比较、批注和保存等工具。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"safe-docx": {
"command": "npx",
"args": [
"-y",
"@usejunior/safe-docx"
]
}
}
}
启动命令npx -y @usejunior/safe-docx

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

安装包
npm@usejunior/safe-docx0.25.0

工具

26

收录的工具列表 · 更新于 3 周前

参数类型必填说明
file_pathstring否DOCX 或 ODT 文件的路径。
google_doc_idstring否Google Doc ID 或 URL(file_path 的替代项)。从 URL 中提取:docs.google.com/document/d/{ID}/edit
offsetnumber否用于分页的段落偏移量,从 1 开始。负值从末尾开始计数。
limitnumber否要返回的最大段落数。省略时,输出受约 14k 个令牌的限制,并附带分页信息。
node_idsarray否段落选择器。每项可接受 safe-docx `_bk_*` ID,或(仅 DOCX)任何其他书签名称,前提是其 w:id 配对范围恰好覆盖一个段落。按名称精确匹配;点书签或跨多个段落的范围将被拒绝。即使通过其他书签名称选择,返回的行也始终报告段落的规范 `_bk_*` ID;结果会去重并按文档顺序返回。
formatenum否toon | json | simple
comment_renderingenum否如何在 read_file 输出中呈现评论。使用 "paragraph_notes"(默认值)呈现段落内评论串;使用 "inline_markers" 在 TOON 输出中添加 `[cm-start:N]`/`[cm-end:N]` 标记(与评论串块组合);使用 "endnotes" 将串联评论收集到 TOON 输出末尾的 #COMMENTS 块中;使用 "none" 则采用不呈现评论的旧版输出。none | paragraph_notes | endnotes | inline_markers
show_formattingboolean否为 true(默认值)时,显示行内格式标签(<b>、<i>、<u>、<highlighting>、<a>)。为 false 时,输出不含行内标签的纯文本。
include_fingerprintboolean否当为 true 且 format="json" 时,在每个段落中包含可移植的 content_fingerprint("sha256:nfkc:<32hex>")。这是从段落规范化可见文本派生的只读元数据,不能用作编辑锚点。编辑工具接受 `_bk_*` ID,或(仅 DOCX)其 w:id 配对范围恰好覆盖该段落的其他书签名称。对 TOON/simple 输出无效。对 Google Docs 和 ODT 忽略。
include_fingerprint_ordinalboolean否当为 true,且 include_fingerprint 和 format="json" 同时启用时,为每个段落添加用于消歧重复项的元数据:`content_fingerprint_ordinal`(具有相同 content_fingerprint 的段落按文档顺序排列的位置,从 1 开始)、`content_fingerprint_count_in_document`(整个文档中具有该指纹的段落总数,即使启用了分页也如此),以及 `portable_paragraph_ref`("<content_fingerprint>#<ordinal>")。这是只读消歧信息,不能用作编辑锚点;重复项重新排序可能会改变序号。未启用 include_fingerprint 时无效,对 TOON/simple 输出也无效。对 Google Docs 和 ODT 忽略。默认值:false。
include_footnotesboolean否单次调用同时检索正文和脚注。当为 true 且 format="json" 时,响应会增加文档级顶层 `footnotes` 数组——每个条目为 {id, display_number, ref_paragraph_ids(引用该脚注的段落 ID 数组), paragraphs[]({text, tagged_text(带运行级格式标签), style})}——保留多段正文以及脚注内部的粗体/斜体/引用格式。此顶层数组不会内嵌到 content[],因此保留 content[] 索引一一对应的不变量。为向后兼容,每个作为锚点的段落节点也会附带轻量级的 `footnotes` 数组({id, display_number, text}),范围限于返回的切片。当为 true 且 format="toon" 时,会在末尾附加 `#FOOTNOTES` 旁路块(与 `#COMMENTS` 对称)。正文为空或 display_number 为 0 的脚注会被排除。对 simple 输出无效。对 Google Docs 和 ODT 忽略。默认值:false。

详细介绍

@usejunior/safe-docx

使用编码 Agent 编辑 Word 和 OpenDocument 文件。

npm version License: Apache 2.0

Safe Docx 是一款本地 MCP 服务和命令行工具,可用于读取、搜索、编辑、比较、转换和保存文档文件。它会保留 DOCX 结构,并可生成清稿或带修订痕迹的输出。文档均在你的设备上处理。

示例

向你的编码 Agent 提出要求:

Edit NDA.docx. Change the governing law from New York to Delaware.
Save a clean copy and a tracked-changes copy. Do not change anything else.

Safe Docx 会找到相关条款,按要求进行针对性编辑,并写入两个文件供审阅。文档的其余部分不会受到此次编辑的影响。

请参阅完整的编辑演练。

安装

npm install --global @usejunior/safe-docx
safe-docx --help

该软件包会同时安装 safe-docx 和 safedocx;在新配置中请使用 safe-docx。

配置 MCP 客户端

使用 command -v safe-docx 查找已安装的可执行文件(Windows 上使用 where safe-docx)。桌面应用可能无法继承终端的 PATH,因此请使用绝对路径配置客户端。该服务不需要参数,并使用 stdio。

Claude Code:

claude mcp add safe-docx -- /absolute/path/to/safe-docx

基于 JSON 的客户端,包括 Antigravity CLI(~/.gemini/config/mcp_config.json):

{
  "mcpServers": {
    "safe-docx": {
      "command": "/absolute/path/to/safe-docx",
      "args": []
    }
  }
}

有关固定版本、安装前检查软件包以及从源代码构建的说明,请参阅安装和验证。

工具

  • 读取和导航: read_file、get_document_outline、get_sections、grep
  • 编辑: replace_text、insert_paragraph、batch_edit、clear_formatting
  • 格式设置: format_layout、format_numbering、format_section、insert_section_break
  • 修订痕迹: has_tracked_changes、extract_revisions、accept_changes、accept_ai_edits、reject_ai_edits
  • 比较: compare_documents
  • 批注和脚注: add_comment、get_comments、delete_comment、get_footnotes、add_footnote、update_footnote、delete_footnote
  • 保存和转换: save、export、convert_to_odt、get_file_status、close_file

每个工具的参数和行为请参阅工具参考。

非优化用途

Safe Docx 不是可视化编辑器或版面引擎。它不提供浏览器渲染、实时协作或像素级分页保证。使用 .dotx 模板前,必须先将其转换为 .docx。

链接

评论

支持 Markdown

第一次接触 MCP?

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

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