一个功能强大的 Word 文档处理 MCP 服务,提供文档结构提取、内容修改、云存储集成等完整的文档处理解决方案。支持从URL下载文档、批量修改内容、自动上传到阿里云OSS等功能,完全兼容MCP协议,可无缝集成到各种AI助手中。
2.0w 查看 · 2026-07-07 更新
简介
一个功能强大的 Word 文档处理 MCP 服务,提供文档结构提取、内容修改、云存储集成等完整的文档处理解决方案。支持从URL下载文档、批量修改内容、自动上传到阿里云OSS等功能,完全兼容MCP协议,可无缝集成到各种AI助手中。
简介
一个功能强大的 Word 文档处理 MCP 服务,提供文档结构提取、内容修改、云存储集成等完整的文档处理解决方案。支持从URL下载文档、批量修改内容、自动上传到阿里云OSS等功能,完全兼容MCP协议,可无缝集成到各种AI助手中。
📚 DOCX MCP 完整用户指南
🌟 项目简介
DOCX MCP 是一个功能强大的 Word 文档处理工具,基于 MCP (Model Context Protocol) 协议,提供 42 个专业的文档处理工具,支持智能表格分析、自动化填充、文档生成等高级功能。
核心特性
- 🎯 42个MCP工具: 涵盖文档管理、表格处理、图片编辑等全方位功能
- 🤖 AI友好: 完美适配 Claude、ChatGPT 等 AI 助手
- 📊 智能表格: 自动识别表格结构,智能填充数据
- 🎨 丰富格式: 支持文本、图片、表格的精细化格式控制
- 🚀 高性能: 基于 FastMCP 框架,快速响应
- 🔧 易集成: 标准 MCP 协议,轻松接入各类应用
📦 快速安装
方式1:使用 pip(推荐)
pip install docx-mcp
方式2:使用 uv(更快)
uv pip install docx-mcp
方式3:使用 uvx(临时运行)
uvx docx-mcp
验证安装
# 检查版本 pip show docx-mcp # 测试命令 docx-mcp --help
🚀 快速开始
1. 作为 MCP 服务器运行
# 启动 MCP 服务器 docx-mcp # 或使用 uvx(无需安装) uvx docx-mcp
服务器启动后会显示:
启动最终完整MCP服务器... 功能模块: - 📊 工具分类(42个) - 📁 文档管理工具 (8个) - ✍️ 文本内容工具 (5个) - 📊 表格操作工具 (6个) - 🔍 表格分析工具 (5个) - 📝 表格填充工具 (4个) - 🖼️ 图片处理工具 (3个) - 📐 页面设置工具 (3个) - 🧠 智能功能工具 (5个) - ⚙️ 系统状态工具 (3个) ... 总计: 42个工具
2. 配置 Claude Desktop
编辑 claude_desktop_config.json:
{ "mcpServers": { "docx-mcp": { "command": "uvx", "args": ["docx-mcp"] } } }
配置文件位置:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
🛠️ 42个工具完整列表
📁 文档管理工具 (8个)
1. create_document
创建新的 Word 文档
参数:
file_path(必需): 文档保存路径
示例:
create_document("report.docx")
2. open_document
打开现有文档
参数:
file_path(必需): 文档路径
3. save_document
保存当前文档
4. save_as_document
另存为新文档
参数:
new_file_path(必需): 新文档路径
5. close_document
关闭当前文档
6. get_document_info
获取文档信息(段落数、表格数等)
7. copy_document
复制文档到新位置
参数:
source_path(必需): 源文件路径target_path(必需): 目标路径
8. create_work_copy
创建文档的工作副本
参数:
file_path(必需): 原文件路径suffix(可选): 后缀名,默认"_工作版"
✍️ 文本内容工具 (5个)
9. add_paragraph
添加段落
参数:
text(必需): 段落文本bold(可选): 是否粗体italic(可选): 是否斜体underline(可选): 是否下划线font_size(可选): 字体大小font_name(可选): 字体名称color(可选): 颜色(十六进制)alignment(可选): 对齐方式
示例:
add_paragraph( text="这是重要内容", bold=True, font_size=14, color="#FF0000", alignment="center" )
10. add_heading
添加标题
参数:
text(必需): 标题文本level(可选): 标题级别(1-9)
11. add_text_with_formatting
添加精确格式化的文本
12. search_and_replace
搜索并替换文本
参数:
search_text(必需): 搜索文本replace_text(必需): 替换文本case_sensitive(可选): 是否区分大小写
13. smart_add_content
智能添加内容(自动识别类型)
参数:
content(必需): 内容content_type(可选): 类型(paragraph/heading/list)style(可选): 样式(normal/emphasis/quote)auto_format(可选): 自动格式化
📊 表格操作工具 (6个)
14. add_table
添加表格
参数:
rows(必需): 行数cols(必需): 列数data(可选): 表格数据(二维数组)has_header(可选): 是否有表头
示例:
add_table( rows=3, cols=3, data=[ ["姓名", "年龄", "职业"], ["张三", "25", "工程师"], ["李四", "30", "设计师"] ], has_header=True )
15. add_table_row
添加表格行
参数:
table_index(必需): 表格索引row_data(必需): 行数据数组
16. add_table_column
添加表格列
参数:
table_index(必需): 表格索引column_index(可选): 插入位置data(可选): 列数据
17. format_table
格式化表格
参数:
table_index(必需): 表格索引style(可选): 表格样式
18. merge_table_cells
合并表格单元格
参数:
table_index(必需): 表格索引row_start(必需): 起始行col_start(必需): 起始列row_end(必需): 结束行col_end(必需): 结束列
19. intelligent_create_table
智能创建表格(自动样式)
参数:
data(必需): 表格数据(二维数组)auto_style(可选): 自动应用样式
🔍 表格分析工具 (5个)
20. extract_table_structure
提取表格结构(完整分析)
参数:
file_path(必需): 文档路径table_index(必需): 表格索引
返回: JSON格式的详细表格结构
示例:
structure = extract_table_structure("report.docx", 0) # 返回:表格行列数、单元格内容、合并信息等
21. extract_all_tables_structure
提取所有表格结构
参数:
file_path(必需): 文档路径
22. extract_document_structure
提取完整文档结构
参数:
file_path(必需): 文档路径include_cell_details(可选): 是否包含单元格详情
23. get_table_structure_cache_info
获取表格结构缓存信息
24. clear_table_structure_cache
清空表格结构缓存
📝 表格填充工具 (4个)
25. extract_fillable_fields
提取可填充字段(坐标专用)
参数:
file_path(必需): 文档路径
返回: 字段坐标映射、空位信息、填充建议
示例:
fields = extract_fillable_fields("template.docx") # 返回:{"field_coordinates": {"姓名": [0, 1, 2]}, ...}
26. fill_with_coordinates
使用坐标填充(主要功能)
参数:
file_path(必需): 文档路径coordinate_data(必需): 坐标数据字典
示例:
fill_with_coordinates( "template.docx", { "张三": [0, 1, 2], # [表格索引, 行, 列] "2023001": [0, 2, 2], "计算机学院": [0, 3, 2] } )
27. basic_table_fill
基础表格填充(智能匹配)
参数:
file_path(必需): 文档路径fill_data(必需): 填充数据字典
示例:
basic_table_fill( "template.docx", { "姓名": "张三", "学号": "2023001", "学院": "计算机学院", "专业": "计算机科学与技术" } )
28. intelligent_table_fill
智能表格填充(辅助功能)
🖼️ 图片处理工具 (3个)
29. add_image
添加图片
参数:
image_path(必需): 图片路径width(可选): 宽度(英寸)height(可选): 高度(英寸)
示例:
add_image("logo.png", width=3, height=2)
30. extract_images
提取文档中的所有图片
参数:
output_dir(可选): 输出目录
31. resize_image
调整图片大小
参数:
image_index(必需): 图片索引width(必需): 新宽度height(必需): 新高度
📐 页面设置工具 (3个)
32. set_page_margins
设置页边距
参数:
top(可选): 上边距(英寸)bottom(可选): 下边距left(可选): 左边距right(可选): 右边距
示例:
set_page_margins(top=1, bottom=1, left=1.5, right=1.5)
33. set_page_orientation
设置页面方向
参数:
orientation(可选): portrait(纵向)或 landscape(横向)
34. set_page_size
设置页面大小
参数:
width(可选): 宽度(英寸)height(可选): 高度(英寸)
🧠 智能功能工具 (5个)
35. intelligent_create_document
智能创建文档(含模板)
参数:
file_path(必需): 文档路径template_type(可选): 模板类型basic: 基础文档business: 商务文档academic: 学术论文
auto_optimize(可选): 自动优化页面
示例:
intelligent_create_document( "report.docx", template_type="business", auto_optimize=True )
36. get_smart_suggestions
获取智能建议
参数:
context(可选): 上下文类型document_editing: 文档编辑table_creation: 表格创建content_formatting: 内容格式化structure_optimization: 结构优化professional_polish: 专业润色
37. get_intelligent_planning_guide
获取智能规划指导
返回: AI使用MCP工具的完整指南
38. create_intelligent_workflow_plan
创建智能工作流规划
参数:
user_request(必需): 用户请求描述
返回: 详细的工具调用计划
39. get_tool_detailed_guidance
获取工具详细指导
参数:
tool_name(必需): 工具名称
⚙️ 系统状态工具 (3个)
40. get_system_status
获取系统状态
返回: 当前文档状态、可用工具列表等
41. test_connection
测试连接
返回: 连接状态确认
42. get_server_info
获取服务器信息
返回: 服务器版本、功能列表等
💡 使用场景示例
场景1:批量生成报告
from final_complete_server import * # 1. 创建文档 intelligent_create_document("report.docx", "business", True) # 2. 添加标题 add_heading("月度工作报告", level=1) # 3. 添加表格 intelligent_create_table([ ["项目名称", "完成度", "备注"], ["项目A", "100%", "已完成"], ["项目B", "80%", "进行中"] ]) # 4. 保存 save_document()
场景2:智能填充表单
from core.universal_table_filler import UniversalTableFiller filler = UniversalTableFiller() # 1. 分析表格结构 coordinates = filler.analyze_and_get_coordinates("template.docx") # 2. 准备数据 data = { "姓名": "张三", "学号": "2023001", "学院": "计算机学院", "专业": "计算机科学与技术", "联系方式": "13800138000" } # 3. 智能填充 fill_with_coordinates("template.docx", { "张三": [0, 1, 2], "2023001": [0, 2, 2], "计算机学院": [0, 3, 2], "计算机科学与技术": [0, 4, 2], "13800138000": [0, 5, 2] })
场景3:文档批量处理
import os from pathlib import Path # 批量处理文件夹中的所有文档 folder = Path("documents") for doc in folder.glob("*.docx"): # 打开文档 open_document(str(doc)) # 添加页码 add_paragraph(f"第 {{PAGE}} 页", alignment="center") # 统一页边距 set_page_margins(1, 1, 1, 1) # 保存 save_document() close_document()
🎯 高级功能
1. 表格结构分析
from core.table_structure_extractor import table_extractor # 提取表格结构 structure = table_extractor.extract_table_structure("document.docx", 0) # 获取表格信息 print(f"行数: {structure.rows}") print(f"列数: {structure.columns}") print(f"表格类型: {structure.table_type}") print(f"页面格式: {structure.page_format}") # 遍历单元格 for row in structure.cells: for cell in row: print(f"({cell.row_index}, {cell.col_index}): {cell.text}")
2. 智能工作流规划
from core.intelligent_tool_planner import intelligent_planner # 获取工具规划 plan = intelligent_planner.create_intelligent_plan( "创建一个学生信息表,包含姓名、学号、班级,并填充示例数据" ) # 按计划执行 for step in plan.workflow_steps: print(f"步骤 {step.step_id}: {step.description}") print(f"工具: {step.tool_name}") print(f"参数: {step.parameters}")
3. 自定义模板
# 创建自定义业务模板 intelligent_create_document("template.docx", "business") # 添加公司信息 add_paragraph("ABC公司", bold=True, font_size=16, alignment="center") add_paragraph("地址:XX市XX路XX号") add_paragraph("电话:021-12345678") # 添加表格框架 add_table(10, 3, has_header=True) # 保存为模板 save_as_document("custom_template.docx")
🔧 配置与优化
环境变量配置
# 设置缓存目录 export UV_CACHE_DIR=/path/to/cache # 禁用进度条 export UV_NO_PROGRESS=1 # 使用国内镜像 export UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
性能优化建议
- 使用缓存: 表格结构会自动缓存,提高重复操作速度
- 批量操作: 尽量打开文档后一次性完成多个操作
- 合理使用工具: 根据需求选择合适的工具(如基础vs智能)
🐛 常见问题
Q1: 安装失败怎么办?
# 方式1:使用国内镜像 pip install docx-mcp -i https://pypi.tuna.tsinghua.edu.cn/simple # 方式2:升级pip python -m pip install --upgrade pip pip install docx-mcp # 方式3:使用uv(更快) curl -LsSf https://astral.sh/uv/install.sh | sh uv pip install docx-mcp
Q2: 导入模块失败?
# 确保使用正确的导入方式 from final_complete_server import mcp # ✅ 正确 # from docx_mcp import mcp # ❌ 错误
Q3: 表格填充不准确?
# 推荐使用坐标填充方式 # 1. 先分析结构 fields = extract_fillable_fields("template.docx") # 2. 根据返回的坐标信息填充 fill_with_coordinates("template.docx", coordinate_data)
Q4: 如何调试?
# 启用详细日志 import logging logging.basicConfig(level=logging.DEBUG) # 查看工具列表 status = get_system_status() print(status)
📝 API 参考
Python API
# 导入方式 from final_complete_server import mcp from core.universal_table_filler import UniversalTableFiller from core.intelligent_table_analyzer import IntelligentTableAnalyzer from core.table_structure_extractor import table_extractor
MCP Protocol API
作为 MCP 服务器运行时,通过标准 MCP 协议调用工具:
{ "jsonrpc": "2.0", "method": "tools/call", "params": { "name": "create_document", "arguments": { "file_path": "example.docx" } } }
🔗 相关链接
- PyPI: https://pypi.org/project/docx-mcp/
- GitHub: https://github.com/rockcj/Docx_MCP_cj
- 问题反馈: https://github.com/rockcj/Docx_MCP_cj/issues
- MCP协议: https://modelcontextprotocol.io/
- FastMCP: https://gofastmcp.com
📄 许可证
MIT License
🙏 致谢
感谢所有贡献者和用户的支持!
版本: 0.1.6
更新时间: 2025-10-02
作者: DOCX MCP Team
📞 获取帮助
如果遇到问题或需要帮助:
- 查看本文档的常见问题部分
- 访问 GitHub Issues
- 查看示例代码
- 联系维护团队
Happy Documenting! 📝✨
工具列表
- create_document: 创建新的Word文档
Parameters:
-
file_path: 文档保存路径
-
open_document: 打开现有的Word文档
Parameters:
-
file_path: 文档路径
-
save_document: 保存当前文档
-
save_as_document: 将当前文档另存为
Parameters:
-
new_file_path: 新的文档路径
-
close_document: 关闭当前文档
-
get_document_info: 获取文档信息
-
copy_document: 复制文档文件并重命名保存
功能说明: 复制指定的文档文件到新位置,用于创建文档的工作副本。 这样可以保持原始文件干净,在副本上进行修改操作。
参数说明:
- source_path (必需): 源文件路径
- 支持相对路径和绝对路径
- 示例: "docs/原始文档.docx"
- target_path (必需): 目标文件路径
- 支持相对路径和绝对路径
- 示例: "docs/工作副本.docx"
- 如果目标目录不存在,会自动创建
返回结果: 成功时返回: "文档复制成功: 源文件 -> 目标文件" 失败时返回: "文档复制失败: [错误信息]"
使用示例:
-
基本复制: copy_document("docs/实习鉴定表.docx", "docs/实习鉴定表_工作版.docx")
-
复制到新目录: copy_document("docs/原始.docx", "work/修改版.docx")
注意事项:
-
源文件必须存在
-
目标路径的目录会自动创建
-
如果目标文件已存在,会被覆盖
-
建议在修改文档前先创建副本
-
create_work_copy: 为文档创建工作副本
功能说明: 自动为指定文档创建一个工作副本,在原文件名基础上添加后缀。 这是一个便捷的工具,用于快速创建文档的工作版本。
参数说明:
- file_path (必需): 原文件路径
- 支持相对路径和绝对路径
- 示例: "docs/实习鉴定表.docx"
- suffix (可选): 文件名后缀,默认"_工作版"
- 示例: "_修改版", "_副本", "_backup"
返回结果: 成功时返回: "工作副本创建成功: 原文件 -> 工作副本文件" 失败时返回: "工作副本创建失败: [错误信息]"
使用示例:
-
创建工作副本: create_work_copy("docs/实习鉴定表.docx")
结果: docs/实习鉴定表_工作版.docx
-
自定义后缀: create_work_copy("docs/文档.docx", "_修改版")
结果: docs/文档_修改版.docx
注意事项:
-
原文件必须存在
-
如果工作副本已存在,会被覆盖
-
建议在修改文档前先创建工作副本
-
intelligent_create_document: 智能创建文档 - 集成模板和自动优化
功能说明: 根据指定的模板类型自动创建Word文档,包含预设的结构和格式。 支持自动页面设置优化,提升文档的专业度。
参数说明:
- file_path (必需): 文档保存路径,支持相对路径和绝对路径
- 示例: "C:/Users/用户名/Desktop/我的文档.docx" 或 "report.docx"
- 如果路径没有.docx扩展名,会自动添加
- 如果目录不存在,会自动创建
- template_type (可选): 模板类型,默认"basic"
- "basic": 基础文档模板,包含标题和基本段落
- "business": 商务文档模板,包含日期、收件人、主题等商务格式
- "academic": 学术论文模板,包含摘要、引言、方法、结果、结论等学术结构
- auto_optimize (可选): 是否自动优化页面设置,默认True
- True: 自动设置页边距为1英寸,提升文档专业度
- False: 使用默认页面设置
使用示例:
-
创建基础文档: intelligent_create_document("C:/Users/用户名/Desktop/报告.docx", "basic", True)
-
创建商务文档: intelligent_create_document("商务信函.docx", "business", True)
-
创建学术论文: intelligent_create_document("/path/to/论文.docx", "academic", True)
返回结果: 成功时返回: "智能文档创建成功: [文件路径] (模板类型: [模板类型])" 失败时返回: "智能文档创建失败: [错误信息]"
注意事项:
-
确保有写入权限到指定目录
-
文件名不要包含特殊字符
-
建议使用英文路径避免编码问题
-
add_paragraph: 添加段落
Parameters:
-
text: 段落文本
-
bold: 是否粗体
-
italic: 是否斜体
-
underline: 是否下划线
-
font_size: 字体大小
-
font_name: 字体名称
-
color: 字体颜色
-
alignment: 对齐方式
-
style: 样式名称
-
add_heading: 添加标题
Parameters:
-
text: 标题文本
-
level: 标题级别(1-9)
-
add_text_with_formatting: 添加带格式的文本 - 精确控制文本格式
功能说明: 添加具有精确格式控制的文本内容,支持字体、颜色、对齐等多种格式设置。 适用于需要精确控制文本外观的场景。
参数说明:
- text (必需): 要添加的文本内容
- 示例: "这是重要文本" 或 "标题内容"
- 支持中文和英文
- bold (可选): 是否粗体,默认False
- True: 文本显示为粗体
- False: 正常字重
- italic (可选): 是否斜体,默认False
- True: 文本显示为斜体
- False: 正常字体
- underline (可选): 是否下划线,默认False
- True: 文本下方添加下划线
- False: 无下划线
- font_size (可选): 字体大小,默认12
- 范围: 8-72,常用值: 10, 12, 14, 16, 18, 20, 24
- 示例: 12 表示12号字体
- font_name (可选): 字体名称,默认"宋体"
- 中文: "宋体", "黑体", "楷体", "仿宋"
- 英文: "Arial", "Times New Roman", "Calibri"
- 示例: "微软雅黑", "Arial"
- color (可选): 字体颜色,默认"#000000"(黑色)
- 格式: 十六进制颜色代码
- 示例: "#FF0000"(红色), "#0000FF"(蓝色), "#008000"(绿色)
- alignment (可选): 对齐方式,默认"left"
- "left": 左对齐
- "center": 居中对齐
- "right": 右对齐
- style (可选): 样式名称,默认None
- 暂时未使用,保留用于未来扩展
使用示例:
-
添加普通文本: add_text_with_formatting("普通文本内容", False, False, False, 12, "宋体", "#000000", "left")
-
添加粗体标题: add_text_with_formatting("重要标题", True, False, False, 16, "黑体", "#000000", "center")
-
添加强调文本: add_text_with_formatting("强调内容", True, True, False, 14, "微软雅黑", "#FF0000", "left")
-
添加下划线文本: add_text_with_formatting("链接文本", False, False, True, 12, "Arial", "#0000FF", "left")
返回结果: 成功时返回: "格式化文本添加成功" 失败时返回: "添加格式化文本失败: [错误信息]"
注意事项:
-
使用前需要先创建或打开文档
-
颜色代码必须是6位十六进制格式
-
字体名称需要系统中已安装
-
格式设置会应用到整个文本段落
-
search_and_replace: 搜索和替换文本
Parameters:
-
search_text: 搜索文本
-
replace_text: 替换文本
-
case_sensitive: 是否区分大小写
-
smart_add_content: 智能添加内容 - 自动格式化和样式应用
功能说明: 智能添加文本内容到当前文档,根据内容类型自动应用最佳格式。 支持自动样式识别和格式化,提升文档的专业度和可读性。
参数说明:
- content (必需): 要添加的文本内容
- 示例: "这是一个重要的段落内容。" 或 "# 这是标题" 或 "• 这是列表项"
- 支持中文和英文文本
- 可以包含换行符,会自动处理
- content_type (可选): 内容类型,默认"paragraph"
- "paragraph": 普通段落,适用于正文内容
- "heading": 标题,会自动识别标题级别(如 # 表示一级标题)
- "list": 列表项,会自动应用项目符号格式
- style (可选): 文本样式,默认"normal"
- "normal": 普通样式,12号字体
- "emphasis": 强调样式,粗体+斜体
- "quote": 引用样式,居中+斜体+小字体
- auto_format (可选): 是否自动格式化,默认True
- True: 自动应用最佳格式和样式
- False: 使用基础格式
使用示例:
-
添加普通段落: smart_add_content("这是文档的正文内容,用于描述具体信息。", "paragraph", "normal", True)
-
添加标题: smart_add_content("# 第一章 项目概述", "heading", "normal", True)
-
添加列表: smart_add_content("• 项目目标", "list", "normal", True)
-
添加强调内容: smart_add_content("重要提示:请仔细阅读以下内容。", "paragraph", "emphasis", True)
-
添加引用: smart_add_content("正如某位专家所说:技术改变世界。", "paragraph", "quote", True)
返回结果: 成功时返回: "智能内容添加成功: [内容类型] - [内容前50字符]..." 失败时返回: "智能内容添加失败: [错误信息]"
注意事项:
-
使用前需要先创建或打开文档
-
标题会自动识别级别:# = 1级,## = 2级,以此类推
-
列表项会自动添加项目符号
-
内容过长时会自动截断显示
-
add_table: 添加表格
Parameters:
-
rows: 行数
-
cols: 列数
-
data: 表格数据(可选)
-
has_header: 是否有表头
-
add_table_row: 在指定表格中添加行
Parameters:
-
table_index: 表格索引(从0开始)
-
row_data: 行数据
-
format_table: 格式化表格
Parameters:
-
table_index: 表格索引
-
style: 表格样式
-
add_table_column: 添加表格列 - 在指定位置插入新列
功能说明: 在现有表格的指定位置添加新列,支持在任意位置插入或末尾追加。 可以同时为新列的所有单元格填充数据。
参数说明:
- table_index (必需): 表格索引,从0开始计数
- 示例: 0 表示第一个表格,1 表示第二个表格
- 必须小于文档中表格的总数
- column_index (可选): 插入位置,默认None表示在末尾添加
- None: 在表格末尾添加新列
- 0: 在第一列之前插入
- 1: 在第二列之前插入
- 示例: 2 表示在第三列之前插入新列
- data (可选): 新列的单元格数据列表
- 格式: ["数据1", "数据2", "数据3", ...]
- 长度应该等于表格的行数
- 示例: ["新列标题", "数据1", "数据2", "数据3"]
使用示例:
-
在表格末尾添加空列: add_table_column(0, None, None)
-
在第二列位置插入新列: add_table_column(0, 1, ["新列标题", "数据1", "数据2"])
-
在表格末尾添加带数据的列: add_table_column(0, None, ["备注", "备注1", "备注2", "备注3"])
-
在第一列之前插入标题列: add_table_column(0, 0, ["序号", "1", "2", "3"])
返回结果: 成功时返回: "表格 0 添加列成功" 失败时返回: "添加表格列失败: [错误信息]"
注意事项:
-
使用前需要先创建或打开文档
-
表格索引必须有效
-
列索引不能超出范围
-
数据列表长度建议与表格行数匹配
-
新列会自动继承表格的样式
-
merge_table_cells: 合并表格单元格
Parameters:
-
table_index: 表格索引
-
row_start: 起始行
-
col_start: 起始列
-
row_end: 结束行
-
col_end: 结束列
-
extract_table_structure: 提取完整表结构 - 支持A3和A4格式文档的表格结构提取
功能说明: 提取指定文档中指定表格的完整结构信息,包括单元格内容、合并情况、表格类型等。 支持A3和A4格式的文档,能够自动识别页面格式和表格类型。 提取的结构信息会暂存在内存缓存中,供后续MCP工具快速访问。
参数说明:
- file_path (必需): 文档文件路径
- 支持相对路径和绝对路径
- 示例: "docs/学生综合素质评价表.docx"
- 示例: "C:/Documents/表格文档.docx"
- table_index (必需): 表格索引,从0开始计数
- 0: 第一个表格
- 1: 第二个表格
- 示例: 2 表示第三个表格
返回结果: 成功时返回JSON格式的表格结构信息,包含:
- table_index: 表格索引
- rows: 行数
- columns: 列数
- table_type: 表格类型 (evaluation/signature/award/internship/student_info/general)
- page_format: 页面格式 (A3/A4)
- has_merged_cells: 是否有合并单元格
- header_rows: 标题行数量
- data_rows: 数据行数量
- cells: 详细的单元格信息数组,每个单元格包含:
- row_index, col_index: 行列索引
- text: 单元格文本内容
- is_merged, merge_span: 合并单元格信息
- cell_type: 单元格类型
- style_info: 样式信息 (边框、对齐方式等)
- size_info: 大小信息 (宽度、高度等)
- position_info: 位置信息 (行列位置、边界信息等)
- format_info: 格式信息 (字体、颜色、段落等)
使用示例:
-
提取第一个表格结构: extract_table_structure("docs/学生综合素质评价表.docx", 0)
-
提取A3格式文档的表格: extract_table_structure("docs/实习鉴定表A3.docx", 0)
-
提取特定表格: extract_table_structure("docs/陈杰综合素质评价表.docx", 2)
注意事项:
-
表格索引必须有效(0到表格总数-1)
-
提取的结构会缓存到内存中,提高后续访问速度
-
支持自动识别A3和A4格式文档
-
能够智能识别表格类型(评价表、签名表、获奖表等)
-
extract_all_tables_structure: 提取文档中所有表格的完整结构
功能说明: 提取指定文档中所有表格的完整结构信息,返回所有表格的结构摘要。 适用于需要了解整个文档表格布局的场景。
参数说明:
- file_path (必需): 文档文件路径
- 支持相对路径和绝对路径
- 示例: "docs/学生综合素质评价表.docx"
返回结果: 成功时返回JSON格式的表格摘要信息,包含:
- file_path: 文件路径
- total_tables: 表格总数
- page_format: 页面格式
- tables: 每个表格的基本信息数组
使用示例:
-
提取所有表格结构: extract_all_tables_structure("docs/学生综合素质评价表.docx")
-
分析A3格式文档: extract_all_tables_structure("docs/实习鉴定表A3.docx")
注意事项:
-
会提取并缓存所有表格的结构信息
-
返回的是摘要信息,详细结构请使用extract_table_structure
-
extract_document_structure: 提取完整文档结构 - 包含所有表格、段落、图片等元素的综合分析
功能说明: 一次性提取文档的完整结构信息,包括所有表格、段落、图片、页面格式等。 提供文档的全局视图,帮助AI更好地理解文档布局和内容组织。 支持A3和A4格式的文档,能够自动识别页面格式和表格类型。
参数说明:
- file_path (必需): 文档文件路径
- 支持相对路径和绝对路径
- 示例: "docs/学生综合素质评价表.docx"
- include_cell_details (可选): 是否包含详细的单元格信息
- true: 包含完整的单元格详细信息
- false: 仅包含表格摘要信息(默认)
返回结果: 成功时返回JSON格式的文档结构信息,包含:
- file_path: 文档路径
- document_info: 文档基本信息
- page_format: 页面格式 (A3/A4)
- total_paragraphs: 段落总数
- total_tables: 表格总数
- total_images: 图片总数
- total_pages: 页数估算
- tables: 所有表格的详细信息
- 每个表格包含完整的结构信息
- 如果include_cell_details=true,包含详细单元格信息
- paragraphs: 段落信息摘要
- 段落数量和主要段落类型
- images: 图片信息摘要
- 图片数量和位置信息
使用示例:
-
提取文档完整结构: extract_document_structure("docs/学生综合素质评价表.docx")
-
包含详细单元格信息: extract_document_structure("docs/实习鉴定表A3.docx", true)
-
分析复杂文档: extract_document_structure("docs/陈杰综合素质评价表.docx", false)
注意事项:
-
会提取并缓存所有表格的结构信息
-
include_cell_details=true时返回数据量较大
-
支持自动识别A3和A4格式文档
-
能够智能识别表格类型和文档结构
-
get_table_structure_cache_info: 获取表格结构缓存信息
功能说明: 查看当前表格结构缓存的状态信息,包括缓存大小、缓存文件等。 用于监控缓存使用情况和调试。
返回结果: 成功时返回JSON格式的缓存信息,包含:
- cache_size: 当前缓存数量
- max_cache_size: 最大缓存数量
- cache_timeout: 缓存超时时间
- cached_files: 已缓存的文件列表
使用示例:
- 查看缓存状态: get_table_structure_cache_info()
注意事项:
-
缓存信息仅用于监控和调试
-
缓存会在超时后自动清理
-
get_intelligent_planning_guide: 获取智能规划指导 - AI使用MCP工具前的必读指南
功能说明: 这是AI在使用MCP工具前必须阅读的智能规划指导。 包含了所有工具的详细说明、使用场景、参数要求和最佳实践。
返回结果: 返回完整的智能规划指导文档,包括:
- 所有工具的分类和描述
- 智能工作流规划建议
- 工具使用最佳实践
- 常见任务的处理流程
使用说明: AI在处理任何文档任务前,都应该先调用此工具获取规划指导, 然后基于指导制定合理的工具调用计划。
注意事项:
-
此工具返回的是静态指导文档,不涉及具体文档操作
-
AI应该将此指导作为工具选择的决策依据
-
建议AI在处理复杂任务时多次参考此指导
-
create_intelligent_workflow_plan: 创建智能工作流规划 - 为AI提供具体的执行计划
功能说明: 根据用户的具体请求,生成详细的工具调用工作流规划。 AI可以使用此规划来有序地执行复杂的文档处理任务。
参数说明:
- user_request (必需): 用户的完整请求描述
- 示例: "帮我创建一个学生信息表,包含姓名、学号、班级字段,并填充一些示例数据"
- 示例: "打开现有文档,分析表格结构,然后智能填充数据"
返回结果: 返回JSON格式的详细工作流规划,包括:
- 任务类型分析
- 步骤化执行计划
- 工具调用顺序
- 参数配置建议
- 风险评估和优化建议
使用示例:
-
创建表格任务规划: create_intelligent_workflow_plan("创建学生综合素质评价表,包含评价项目、分值、得分字段")
-
表格填充任务规划: create_intelligent_workflow_plan("打开docs/评价表.docx,智能填充学生张三的评价数据")
注意事项:
-
此工具只生成规划,不执行具体操作
-
AI应该按照返回的规划逐步执行工具调用
-
可以根据实际情况调整规划中的参数
-
get_tool_detailed_guidance: 获取特定工具的详细指导 - 深入了解单个工具的使用方法
功能说明: 获取指定工具的详细使用指导,包括参数说明、使用示例、最佳实践等。 当AI需要深入了解某个特定工具时使用。
参数说明:
- tool_name (必需): 工具名称
- 示例: "intelligent_table_fill"
- 示例: "extract_table_structure"
- 示例: "create_document"
返回结果: 返回指定工具的详细指导文档,包括:
- 功能描述和适用场景
- 详细的参数说明
- 使用示例和最佳实践
- 前置条件和输出格式
使用示例:
-
获取智能表格填充工具指导: get_tool_detailed_guidance("intelligent_table_fill")
-
获取表格结构提取工具指导: get_tool_detailed_guidance("extract_table_structure")
注意事项:
-
工具名称必须准确匹配MCP工具名称
-
此工具返回静态指导,不执行实际操作
-
建议AI在处理复杂任务前先了解相关工具
-
clear_table_structure_cache: 清空表格结构缓存
功能说明: 清空所有已缓存的表格结构信息,释放内存。 在MCP调用完成后或需要重置缓存时使用。
返回结果: 成功时返回: "表格结构缓存已清空" 失败时返回: "清空缓存失败: [错误信息]"
使用示例:
- 清空所有缓存: clear_table_structure_cache()
注意事项:
-
清空后需要重新提取表格结构
-
建议在MCP调用完成后使用
-
extract_fillable_fields: 提取文档中所有可填充的字段和位置信息(坐标填充专用)
功能说明: 自动分析文档结构,提取所有表格中的字段坐标、空位坐标等信息, 为坐标填充提供精确的位置映射。返回AI友好的JSON格式数据。
参数说明:
- file_path (必需): 文档文件路径
- 支持相对路径和绝对路径
- 示例: "docs/实习鉴定表.docx"
返回结果: 返回JSON格式的坐标信息,包含:
- field_coordinates: 字段名到坐标的映射
- empty_positions: 空位坐标列表
- fill_suggestions: 填充建议
- coordinate_format: 坐标格式说明
- usage_instructions: AI使用说明
使用示例:
- 提取坐标信息: extract_fillable_fields("docs/实习鉴定表.docx")
注意事项:
-
专注于坐标信息,弱化智能匹配
-
返回的数据格式适合AI进行坐标填充
-
AI判断指导: 查看 fill_suggestions 中的 ai_guidance 字段
-
字段保护: 如果单元格是字段名,AI需要谨慎判断是否修改
-
内容覆盖: 如果单元格有内容但不是字段,AI可以判断是否覆盖现有内容
-
intelligent_table_fill: 智能表格填充 - 简化的辅助填充功能
功能说明: 这是一个简化的智能填充功能,主要用于辅助坐标填充。 建议优先使用 extract_fillable_fields + fill_with_coordinates 的组合。
参数说明:
- file_path (必需): 文档文件路径
- fill_data (必需): 填充数据字典
- 格式: {"字段名1": "值1", "字段名2": "值2", ...}
返回结果: 返回填充结果或建议使用坐标填充的提示
使用建议: 推荐使用以下工作流程:
- 调用 extract_fillable_fields() 获取坐标信息
- 根据坐标信息创建填充计划
- 调用 fill_with_coordinates() 执行精确填充
- fill_with_coordinates: 使用坐标数据直接填充表格(主要功能)
功能说明: 这是表格填充的主要功能,根据AI提供的坐标数据直接填充表格, 支持精确的位置控制。配合 extract_fillable_fields 使用效果最佳。
工作流程:
- 调用 extract_fillable_fields() 分析文档结构
- 根据返回的坐标信息创建填充计划
- 调用本工具执行精确填充
参数说明:
- file_path (必需): 文档文件路径
- 支持相对路径和绝对路径
- 示例: "docs/实习鉴定表.docx"
- coordinate_data (必需): 坐标数据字典
- 格式: {"数据内容": [表格索引, 行索引, 列索引], ...}
- 示例: {"张三": [1, 1, 3], "2023001234": [1, 2, 3]}
- 坐标从0开始计数
返回结果: 成功时返回详细的填充结果信息 失败时返回错误信息
使用示例:
- 基本坐标填充: fill_with_coordinates("docs/实习鉴定表.docx", { "张三": [1, 1, 3], "2023001234": [1, 2, 3], "计算机学院": [1, 1, 5] })
注意事项:
-
坐标格式为[表格索引, 行索引, 列索引]
-
索引从0开始计数
-
建议先使用 extract_fillable_fields() 获取准确坐标
-
AI判断策略: 如果目标单元格是字段名,需要谨慎判断是否修改
-
内容覆盖: 如果单元格有内容但不是字段,AI可以判断是否覆盖现有内容
-
查看 fill_suggestions 中的 ai_guidance 字段获取判断指导
-
basic_table_fill: 基础表格填充 - 智能字段匹配填充
功能说明: 自动分析文档中的字段位置,通过智能匹配进行填充。 不再依赖硬编码的位置映射,具有更好的通用性。
参数说明:
- file_path (必需): 文档文件路径
- fill_data (必需): 填充数据字典
- 格式: {"字段名1": "值1", "字段名2": "值2", ...}
- 支持任意字段名,系统会自动匹配
返回结果: 成功时返回: "基础表格填充成功,共填充X个字段" 失败时返回: "基础表格填充失败: [错误信息]"
使用示例: basic_table_fill("docs/实习鉴定表.docx", { "姓名": "张三", "学号": "2021001234", "学院": "计算机学院", "专业": "计算机科学与技术", "实习单位": "腾讯科技有限公司", "实习时间": "2024年7月-2024年9月" })
- intelligent_create_table: 智能创建表格 - 自动样式和优化
功能说明: 智能创建表格并自动应用最佳样式,根据数据结构自动优化格式。 支持表头自动加粗,表格边框样式,提升表格的专业度和可读性。
参数说明:
- data (必需): 表格数据,二维列表格式
- 格式: [["列1标题", "列2标题", "列3标题"], ["数据1", "数据2", "数据3"], ...]
- 第一行通常作为表头,会自动加粗显示
- 示例: [["姓名", "年龄", "职业"], ["张三", "25", "工程师"], ["李四", "30", "设计师"]]
- 所有数据会自动转换为字符串格式
- auto_style (可选): 是否自动应用样式,默认True
- True: 自动应用表格样式,表头加粗,添加边框
- False: 使用基础表格格式
使用示例:
-
创建人员信息表: data = [ ["姓名", "部门", "职位", "入职日期"], ["张三", "技术部", "软件工程师", "2023-01-15"], ["李四", "设计部", "UI设计师", "2023-02-20"], ["王五", "市场部", "市场专员", "2023-03-10"] ] intelligent_create_table(data, True)
-
创建项目进度表: data = [ ["项目名称", "开始时间", "结束时间", "状态"], ["项目A", "2023-01-01", "2023-06-30", "进行中"], ["项目B", "2023-02-01", "2023-08-31", "计划中"] ] intelligent_create_table(data, True)
-
创建简单数据表: data = [["项目", "数量", "单价"], ["产品A", "100", "50"], ["产品B", "200", "30"]] intelligent_create_table(data, True)
返回结果: 成功时返回: "智能表格创建成功: [行数]行 x [列数]列" 失败时返回: "智能表格创建失败: [错误信息]"
注意事项:
-
使用前需要先创建或打开文档
-
数据不能为空,至少需要一行数据
-
第一行建议作为表头使用
-
表格会自动添加到文档末尾
-
支持中文和英文内容
-
add_image: 添加图片
Parameters:
-
image_path: 图片文件路径
-
width: 图片宽度(英寸)
-
height: 图片高度(英寸)
-
extract_images: 提取文档中的所有图片
Parameters:
-
output_dir: 输出目录
-
resize_image: 调整图片大小
Parameters:
-
image_index: 图片索引
-
width: 新宽度(英寸)
-
height: 新高度(英寸)
-
set_page_margins: 设置页面边距
Parameters:
-
top: 上边距(英寸)
-
bottom: 下边距(英寸)
-
left: 左边距(英寸)
-
right: 右边距(英寸)
-
set_page_orientation: 设置页面方向
Parameters:
-
orientation: 页面方向(portrait/landscape)
-
set_page_size: 设置页面大小
Parameters:
-
width: 页面宽度(英寸)
-
height: 页面高度(英寸)
-
get_smart_suggestions: 获取智能建议 - 基于上下文的建议
功能说明: 根据当前文档编辑上下文提供智能建议,帮助用户优化文档结构、 格式和内容,提升文档的专业度和可读性。
参数说明:
- context (可选): 上下文类型,默认"document_editing"
- "document_editing": 文档编辑建议,适用于一般文档编辑场景
- "table_creation": 表格创建建议,适用于创建和编辑表格
- "content_formatting": 内容格式化建议,适用于文本格式优化
- "structure_optimization": 结构优化建议,适用于文档结构改进
- "professional_polish": 专业润色建议,适用于提升文档专业度
使用示例:
-
获取一般编辑建议: get_smart_suggestions("document_editing")
-
获取表格创建建议: get_smart_suggestions("table_creation")
-
获取格式化建议: get_smart_suggestions("content_formatting")
-
获取结构优化建议: get_smart_suggestions("structure_optimization")
-
获取专业润色建议: get_smart_suggestions("professional_polish")
返回结果: 返回JSON格式的建议列表,包含:
- context: 上下文类型
- suggestions: 建议内容数组
- total_count: 建议总数
示例返回: { "context": "document_editing", "suggestions": [ "建议添加目录以改善文档结构", "考虑使用标题样式统一格式", "检查段落间距是否合适" ], "total_count": 3 }
注意事项:
-
建议基于最佳实践和文档标准
-
可以根据具体需求选择合适的上下文类型
-
建议内容会根据上下文动态调整
-
返回的JSON可以直接解析使用
-
get_system_status: 获取系统状态
-
test_connection: 测试连接
-
get_server_info: 获取服务器信息
服务配置
[{'mcpServers': {'Docx-Mcp_Server': {'args': ['docx-mcp'], 'command': 'uvx'}}}]
来源
- 来源:ModelScope
- 链接:https://github.com/rockcj/Docx_MCP_cj.git