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