w

word文档编辑mcp全面升级版(支持本地和web上传)

一个功能强大的 Word 文档处理 MCP 服务,提供文档结构提取、内容修改、云存储集成等完整的文档处理解决方案。支持从URL下载文档、批量修改内容、自动上传到阿里云OSS等功能,完全兼容MCP协议,可无缝集成到各种AI助手中。

file-systems

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

性能优化建议

  1. 使用缓存: 表格结构会自动缓存,提高重复操作速度
  2. 批量操作: 尽量打开文档后一次性完成多个操作
  3. 合理使用工具: 根据需求选择合适的工具(如基础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" } } }

🔗 相关链接


📄 许可证

MIT License


🙏 致谢

感谢所有贡献者和用户的支持!


版本: 0.1.6
更新时间: 2025-10-02
作者: DOCX MCP Team


📞 获取帮助

如果遇到问题或需要帮助:

  1. 查看本文档的常见问题部分
  2. 访问 GitHub Issues
  3. 查看示例代码
  4. 联系维护团队

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"
    • 如果目标目录不存在,会自动创建

返回结果: 成功时返回: "文档复制成功: 源文件 -> 目标文件" 失败时返回: "文档复制失败: [错误信息]"

使用示例:

  1. 基本复制: copy_document("docs/实习鉴定表.docx", "docs/实习鉴定表_工作版.docx")

  2. 复制到新目录: copy_document("docs/原始.docx", "work/修改版.docx")

注意事项:

  • 源文件必须存在

  • 目标路径的目录会自动创建

  • 如果目标文件已存在,会被覆盖

  • 建议在修改文档前先创建副本

  • create_work_copy: 为文档创建工作副本

功能说明: 自动为指定文档创建一个工作副本,在原文件名基础上添加后缀。 这是一个便捷的工具,用于快速创建文档的工作版本。

参数说明:

  • file_path (必需): 原文件路径
    • 支持相对路径和绝对路径
    • 示例: "docs/实习鉴定表.docx"
  • suffix (可选): 文件名后缀,默认"_工作版"
    • 示例: "_修改版", "_副本", "_backup"

返回结果: 成功时返回: "工作副本创建成功: 原文件 -> 工作副本文件" 失败时返回: "工作副本创建失败: [错误信息]"

使用示例:

  1. 创建工作副本: create_work_copy("docs/实习鉴定表.docx")

    结果: docs/实习鉴定表_工作版.docx

  2. 自定义后缀: 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: 使用默认页面设置

使用示例:

  1. 创建基础文档: intelligent_create_document("C:/Users/用户名/Desktop/报告.docx", "basic", True)

  2. 创建商务文档: intelligent_create_document("商务信函.docx", "business", True)

  3. 创建学术论文: 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
    • 暂时未使用,保留用于未来扩展

使用示例:

  1. 添加普通文本: add_text_with_formatting("普通文本内容", False, False, False, 12, "宋体", "#000000", "left")

  2. 添加粗体标题: add_text_with_formatting("重要标题", True, False, False, 16, "黑体", "#000000", "center")

  3. 添加强调文本: add_text_with_formatting("强调内容", True, True, False, 14, "微软雅黑", "#FF0000", "left")

  4. 添加下划线文本: 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: 使用基础格式

使用示例:

  1. 添加普通段落: smart_add_content("这是文档的正文内容,用于描述具体信息。", "paragraph", "normal", True)

  2. 添加标题: smart_add_content("# 第一章 项目概述", "heading", "normal", True)

  3. 添加列表: smart_add_content("• 项目目标", "list", "normal", True)

  4. 添加强调内容: smart_add_content("重要提示:请仔细阅读以下内容。", "paragraph", "emphasis", True)

  5. 添加引用: 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"]

使用示例:

  1. 在表格末尾添加空列: add_table_column(0, None, None)

  2. 在第二列位置插入新列: add_table_column(0, 1, ["新列标题", "数据1", "数据2"])

  3. 在表格末尾添加带数据的列: add_table_column(0, None, ["备注", "备注1", "备注2", "备注3"])

  4. 在第一列之前插入标题列: 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: 格式信息 (字体、颜色、段落等)

使用示例:

  1. 提取第一个表格结构: extract_table_structure("docs/学生综合素质评价表.docx", 0)

  2. 提取A3格式文档的表格: extract_table_structure("docs/实习鉴定表A3.docx", 0)

  3. 提取特定表格: 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: 每个表格的基本信息数组

使用示例:

  1. 提取所有表格结构: extract_all_tables_structure("docs/学生综合素质评价表.docx")

  2. 分析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: 图片信息摘要
    • 图片数量和位置信息

使用示例:

  1. 提取文档完整结构: extract_document_structure("docs/学生综合素质评价表.docx")

  2. 包含详细单元格信息: extract_document_structure("docs/实习鉴定表A3.docx", true)

  3. 分析复杂文档: 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: 已缓存的文件列表

使用示例:

  1. 查看缓存状态: 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格式的详细工作流规划,包括:

  • 任务类型分析
  • 步骤化执行计划
  • 工具调用顺序
  • 参数配置建议
  • 风险评估和优化建议

使用示例:

  1. 创建表格任务规划: create_intelligent_workflow_plan("创建学生综合素质评价表,包含评价项目、分值、得分字段")

  2. 表格填充任务规划: create_intelligent_workflow_plan("打开docs/评价表.docx,智能填充学生张三的评价数据")

注意事项:

  • 此工具只生成规划,不执行具体操作

  • AI应该按照返回的规划逐步执行工具调用

  • 可以根据实际情况调整规划中的参数

  • get_tool_detailed_guidance: 获取特定工具的详细指导 - 深入了解单个工具的使用方法

功能说明: 获取指定工具的详细使用指导,包括参数说明、使用示例、最佳实践等。 当AI需要深入了解某个特定工具时使用。

参数说明:

  • tool_name (必需): 工具名称
    • 示例: "intelligent_table_fill"
    • 示例: "extract_table_structure"
    • 示例: "create_document"

返回结果: 返回指定工具的详细指导文档,包括:

  • 功能描述和适用场景
  • 详细的参数说明
  • 使用示例和最佳实践
  • 前置条件和输出格式

使用示例:

  1. 获取智能表格填充工具指导: get_tool_detailed_guidance("intelligent_table_fill")

  2. 获取表格结构提取工具指导: get_tool_detailed_guidance("extract_table_structure")

注意事项:

  • 工具名称必须准确匹配MCP工具名称

  • 此工具返回静态指导,不执行实际操作

  • 建议AI在处理复杂任务前先了解相关工具

  • clear_table_structure_cache: 清空表格结构缓存

功能说明: 清空所有已缓存的表格结构信息,释放内存。 在MCP调用完成后或需要重置缓存时使用。

返回结果: 成功时返回: "表格结构缓存已清空" 失败时返回: "清空缓存失败: [错误信息]"

使用示例:

  1. 清空所有缓存: 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使用说明

使用示例:

  1. 提取坐标信息: 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", ...}

返回结果: 返回填充结果或建议使用坐标填充的提示

使用建议: 推荐使用以下工作流程:

  1. 调用 extract_fillable_fields() 获取坐标信息
  2. 根据坐标信息创建填充计划
  3. 调用 fill_with_coordinates() 执行精确填充
  • fill_with_coordinates: 使用坐标数据直接填充表格(主要功能)

功能说明: 这是表格填充的主要功能,根据AI提供的坐标数据直接填充表格, 支持精确的位置控制。配合 extract_fillable_fields 使用效果最佳。

工作流程:

  1. 调用 extract_fillable_fields() 分析文档结构
  2. 根据返回的坐标信息创建填充计划
  3. 调用本工具执行精确填充

参数说明:

  • file_path (必需): 文档文件路径
    • 支持相对路径和绝对路径
    • 示例: "docs/实习鉴定表.docx"
  • coordinate_data (必需): 坐标数据字典
    • 格式: {"数据内容": [表格索引, 行索引, 列索引], ...}
    • 示例: {"张三": [1, 1, 3], "2023001234": [1, 2, 3]}
    • 坐标从0开始计数

返回结果: 成功时返回详细的填充结果信息 失败时返回错误信息

使用示例:

  1. 基本坐标填充: 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: 使用基础表格格式

使用示例:

  1. 创建人员信息表: data = [ ["姓名", "部门", "职位", "入职日期"], ["张三", "技术部", "软件工程师", "2023-01-15"], ["李四", "设计部", "UI设计师", "2023-02-20"], ["王五", "市场部", "市场专员", "2023-03-10"] ] intelligent_create_table(data, True)

  2. 创建项目进度表: data = [ ["项目名称", "开始时间", "结束时间", "状态"], ["项目A", "2023-01-01", "2023-06-30", "进行中"], ["项目B", "2023-02-01", "2023-08-31", "计划中"] ] intelligent_create_table(data, True)

  3. 创建简单数据表: 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": 专业润色建议,适用于提升文档专业度

使用示例:

  1. 获取一般编辑建议: get_smart_suggestions("document_editing")

  2. 获取表格创建建议: get_smart_suggestions("table_creation")

  3. 获取格式化建议: get_smart_suggestions("content_formatting")

  4. 获取结构优化建议: get_smart_suggestions("structure_optimization")

  5. 获取专业润色建议: 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'}}}]

来源