DOCX MCP Server
DOCX MCP 服务器
通用 DOCX 处理服务器,实现模型上下文协议(MCP),支持完整的 OOXML。
功能
完整 OOXML 支持:读写所有 DOCX 文档部件(document.xml、样式、编号、页眉/页脚等)
文本操作:以字面量或正则模式提取、查找和替换文本
表格编辑:插入/删除行和列、合并单元格、设置单元格内容
结构化数据标签(SDT):按标签或别名获取/设置内容控件
图像:列出图像、插入内联或锚定图像,并控制位置/大小
批注与修订:列出批注、添加/删除批注、接受所有跟踪修订
文档属性:读写元数据(标题、作者、主题等)
LRU 缓存:内存高效的文档部件缓存
Stdio 传输:通过 stdin/stdout 进行 MCP 通信
安装
npm install
npm run build运行
开发
npm run dev生产
npm start使用 Claude Code
claude mcp add --scope user --transport stdio docx -- node /path/to/dist/index.js工具
文档管理
docx.open
从文件或 base64 打开 DOCX 文档
{
"docId": "uuid",
"parts": ["word/document.xml", "word/styles.xml", ...],
"partCount": 42,
"props": { "core": {...}, "app": {...} }
}docx.close
关闭并卸载文档
docx.save
将文档保存到文件或返回 base64
部件管理
docx.list_parts
列出文档中的所有部件
docx.part_read
读取特定部件的原始 XML
docx.part_write
写入/更新部件的 XML 内容
文本操作
docx.get_text
提取文档中的所有文本
{
"docId": "uuid",
"scope": "document" | "headers" | "footers" | "all"
}docx.find
搜索文本并返回上下文
{
"docId": "uuid",
"query": "search term",
"mode": "literal" | "regex"
}docx.replace_text
替换文档中的文本
{
"docId": "uuid",
"match": "old text",
"replace": "new text",
"mode": "literal" | "regex"
}表格
docx.tables_list
列出所有表格及其尺寸
{
"tables": [
{
"xpath": "/w:document/w:body/w:tbl[1]",
"rows": 3,
"colsApprox": 4
}
]
}docx.table_edit
修改表格结构和内容
{
"docId": "uuid",
"tableXPath": "/w:document/w:body/w:tbl[1]",
"op": {
"kind": "setCellText",
"row": 0,
"col": 1,
"text": "new value"
}
}操作:
setCellText(row, col, text)- 设置单元格内容insertRow(at)- 在指定位置插入行deleteRow(at)- 删除行insertCol(at)- 插入列deleteCol(at)- 删除列
结构化数据(SDT)
docx.sdt_get
按标签或别名获取内容控件内容
docx.sdt_put
更新内容控件
图像
docx.images_list
列出所有图像及其元数据
docx.image_add
插入内联或锚定图像
样式与编号
docx.styles_get / docx.styles_set
读写 styles.xml
docx.numbering_get / docx.numbering_set
读写 numbering.xml
页眉/页脚
docx.headers_footers_list
列出所有页眉/页脚部件
批注
docx.comments_list
列出所有批注
docx.comments_add
添加新批注
docx.changes_accept_all
接受文档中的所有跟踪修订
元数据
docx.metadata_get
获取文档属性(标题、作者、创建时间、修改时间等)
测试场景
1. 基本读写
# Open document
docx.open: { "path": "/path/to/document.docx" }
# Get text
docx.get_text: { "docId": "returned-id" }
# Replace text
docx.replace_text: {
"docId": "returned-id",
"match": "old text",
"replace": "new text"
}
# Save
docx.save: { "docId": "returned-id", "returnBase64": true }2. 表格操作
# List tables
docx.tables_list: { "docId": "id" }
# Edit cell
docx.table_edit: {
"docId": "id",
"tableXPath": "/w:document/w:body/w:tbl[1]",
"op": { "kind": "setCellText", "row": 0, "col": 0, "text": "Hello" }
}3. 图像
# List images
docx.images_list: { "docId": "id" }4. 跟踪修订
# Accept all changes
docx.changes_accept_all: { "docId": "id" }架构
src/
index.ts # Entry point
errors.ts # Error definitions
logger.ts # Logging utilities
ooxml/
namespaces.ts # XML namespace definitions
emu.ts # EMU conversion utilities
dom.ts # XML DOM utilities (xmldom + fontoxpath)
xmlParser.ts # fast-xml-parser wrapper
parts.ts # DOCX ZIP part management
rels.ts # Relationships management
text.ts # Text extraction & replacement
tables.ts # Table operations
sdt.ts # Structured Data Tags
drawings.ts # Images & DrawingML
headersFooters.ts # Headers/Footers
styles.ts # Style operations
numbering.ts # Numbering operations
changes.ts # Track changes
comments.ts # Comments
store/
types.ts # Type definitions
docStore.ts # Document store + LRU cache
mcp/
schemas.ts # Tool input schemas
tools.ts # Tool implementations
server.ts # MCP server setup依赖
@modelcontextprotocol/sdk- MCP 实现jszip- ZIP 归档处理fast-xml-parser- 无损 XML 解析@xmldom/xmldom- DOM 实现fontoxpath- XPath 查询diff-match-patch- 文本差异比较lru-cache- 内存高效缓存uuid- 文档 ID 生成
性能说明
支持最大 10 MB 的文档
LRU 缓存限制为 100 个部件,内存上限 1 GB
部件按需加载,不全部载入内存
脏部件优化:仅将修改过的部件保存到 ZIP
不深拷贝 XML 结构
限制
页眉/页脚:基本支持(复杂的节结构可能需要手动调整)
批注:基本列出/添加/删除(回复链未完全支持)
跟踪修订:支持接受全部;详细修订检查有限
样式:获取/设置完整 XML;不支持选择性样式合并
EMU/尺寸:已计算,但渲染几何取决于 Word 的布局引擎
许可证
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Use your own Word templates to convert Markdown → DOCX/PDF/HTML from any MCP-compatible AI.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP-native collaborative markdown editor with real-time AI document editing
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mavline/docx-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server