Word文档处理服务

基于MCP协议的Word文档服务器,提供.docx文件的创建、读取、编辑、表格、列表、脚注、注释、PDF导出和PNG预览功能。

  • by Athanaze
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Athanaze/docx-mcp

使用说明

Office Word MCP服务器

MCP(模型上下文协议)服务器 .docx 文件:创建、阅读、编辑、表格、列表、脚注、评论、PDF导出和PNG预览(通过安装的LibreOffice+poppler)。

实施: python docx + **FastMCP**块级内容用单个 block_index 按文档顺序(段落、标题、列表项、表格)。看 word_document_server/operations/ 工具注册 word_document_server/server.py.

运行服务器(仅限HTTP)

在同一台计算机或受信任的网络上使用Streamable HTTP(默认):

export MCP_TRANSPORT=streamable-http
export MCP_HOST=127.0.0.1
export MCP_PORT=8000
export DOCUMENT_ROOT="$(pwd)/workspace"   # optional sandbox for paths
uv run word_mcp_server

端点: http://<host>:<port>/mcp (默认路径;用覆盖 MCP_PATH).可选的传统SSE: MCP_TRANSPORT=sse 和 MCP_SSE_PATH.

变量 默认值 含义
MCP_TRANSPORT streamable-http streamable-http 或 sse
MCP_HOST / PORT / MCP_PORT 0.0.0.0 / 8000 HTTP绑定主机/端口
MCP_PATH /mcp 可流式传输的HTTP路径
DOCUMENT_ROOT (未设置) 如果设置, .docx 路径被限制在此目录下

本地 127.0.0.1 HTTP不添加TLS;如果你公开服务,这取决于你的环境。看 安全.md.

需求

  • Python 3.11+
  • PDF/PNG预览: LibreOffice(soffice / libreoffice)以及 pdftoppm (波普尔)

安装

git clone https://github.com/Athanaze/docx-mcp.git
cd docx-mcp
uv sync --extra dev

或者: pip install -e ".[dev]" 在虚拟世界中。

工具涵盖的内容(摘要)

  • 生命周期: 创建/复制/合并文档、列表文件、元数据、原始XML转储
  • 阅读: get_document_text, get_document_outline, get_blocks (结构化JSON), find_text (正文+表格单元格)
  • 写作: 标题、段落、列表、表格、图像、分页符、TOC字段, insert_content / delete_block / move_block,搜索并替换
  • 格式: 管路和表格单元格、自定义样式、表格布局(宽度、合并、着色、对齐、自动调整)
  • 脚注: 添加/删除/验证脚注文本样式
  • 评论: 列出并添加(by block_index)
  • 出口: convert_to_pdf, preview_document (PNG页面用于视觉检查)

确切的名称和参数与MCP客户端从服务器上列出的内容相匹配——该文件中没有单独的Python API文档。

故障排除(当前行为)

这些是 不 除非我们扩展功能,否则要“修复”代码中的错误;它们反映了Word文件和堆栈的行为方式:

  1. 风格 --具有正常Word样式的模板的行为最可预测。如果缺少样式,许多工具仍然适用 直接的 格式化或回退到可用样式。
  2. 只读文件 --保存带有明显错误的失败;使用 copy_document 然后编辑副本。
  3. 图像 — image_path 与其他文件一样解析(DOCUMENT_ROOT 设置时适用)。使用服务器进程可以读取的路径;格式取决于 python docx /枕头。
  4. 颜色 — #RRGGBB 或 RRGGBB 并命名为颜色(red, blue,…)被接受(见 helpers.parse_color).
  5. 表格 --行/列为 基于0. block_index 标识文档中的整个表。自动调整与固定宽度遵循OOXML;更改布局可以与手动宽度交互。

贡献

看 贡献.md.

许可证

麻省理工学院——见 许可证.

致谢

主控程序, python docx, FastMCP.