word文档编辑mcp全面升级版(支持本地和web上传)
一个功能强大的 Word 文档处理 MCP 服务,提供文档结构提取、内容修改、云存储集成等完整的文档处理解决方案。支持从URL下载文档、批量修改内容、自动上传到阿里云OSS等功能,完全兼容MCP协议,可无缝集成到各种AI助手中。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"Docx-Mcp_Server": {
"args": [
"docx-mcp"
],
"command": "uvx"
}
}
}
可用工具 (42 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
create_document 1 个参数 需填 1 项
创建新的Word文档 Parameters: - file_path: 文档保存路径
必填参数:file_path
open_document 1 个参数 需填 1 项
打开现有的Word文档 Parameters: - file_path: 文档路径
必填参数:file_path
save_document
保存当前文档
该工具无需必填参数,直接调用即可
save_as_document 1 个参数 需填 1 项
将当前文档另存为 Parameters: - new_file_path: 新的文档路径
必填参数:new_file_path
close_document
关闭当前文档
该工具无需必填参数,直接调用即可
get_document_info
获取文档信息
该工具无需必填参数,直接调用即可
copy_document 2 个参数 需填 2 项
复制文档文件并重命名保存 功能说明: 复制指定的文档文件到新位置,用于创建文档的工作副本。 这样可以保持原始文件干净,在副本上进行修改操作。 参数说明: - source_path (必需): 源文件路径 * 支持相对路径和绝对路径 * 示例: "docs/原始文档.docx" - target_path (必需): 目标文件路径 * 支持相对路径和绝对路径 * 示例: "docs/工作副本.docx" * 如果目标目录不存在,会自动创建 返回结果: 成功时返回: "文档复制成功: 源文件 -> 目标文件" 失败时返回: "文档复制失败: [错误信息]" 使用示例: 1. 基本复制: copy_document("docs/实习鉴定表.docx", "docs/实习鉴定表_工作版.docx") 2. 复制到新目录: copy_document("docs/原始.docx", "work/修改版.docx") 注意事项: - 源文件必须存在 - 目标路径的目录会自动创建 - 如果目标文件已存在,会被覆盖 - 建议在修改文档前先创建副本
必填参数:source_path、target_path
create_work_copy 2 个参数 需填 1 项
为文档创建工作副本 功能说明: 自动为指定文档创建一个工作副本,在原文件名基础上添加后缀。 这是一个便捷的工具,用于快速创建文档的工作版本。 参数说明: - file_path (必需): 原文件路径 * 支持相对路径和绝对路径 * 示例: "docs/实习鉴定表.docx" - suffix (可选): 文件名后缀,默认"_工作版" * 示例: "_修改版", "_副本", "_backup" 返回结果: 成功时返回: "工作副本创建成功: 原文件 -> 工作副本文件" 失败时返回: "工作副本创建失败: [错误信息]" 使用示例: 1. 创建工作副本: create_work_copy("docs/实习鉴定表.docx") # 结果: docs/实习鉴定表_工作版.docx 2. 自定义后缀: create_work_copy("docs/文档.docx", "_修改版") # 结果: docs/文档_修改版.docx 注意事项: - 原文件必须存在 - 如果工作副本已存在,会被覆盖 - 建议在修改文档前先创建工作副本
必填参数:file_path
intelligent_create_document 3 个参数 需填 1 项
智能创建文档 - 集成模板和自动优化 功能说明: 根据指定的模板类型自动创建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) 返回结果: 成功时返回: "智能文档创建成功: [文件路径] (模板类型: [模板类型])" 失败时返回: "智能文档创建失败: [错误信息]" 注意事项: - 确保有写入权限到指定目录 - 文件名不要包含特殊字符 - 建议使用英文路径避免编码问题
必填参数:file_path
add_paragraph 9 个参数 需填 1 项
添加段落 Parameters: - text: 段落文本 - bold: 是否粗体 - italic: 是否斜体 - underline: 是否下划线 - font_size: 字体大小 - font_name: 字体名称 - color: 字体颜色 - alignment: 对齐方式 - style: 样式名称
必填参数:text
add_heading 2 个参数 需填 1 项
添加标题 Parameters: - text: 标题文本 - level: 标题级别(1-9)
必填参数:text
add_text_with_formatting 9 个参数 需填 1 项
添加带格式的文本 - 精确控制文本格式 功能说明: 添加具有精确格式控制的文本内容,支持字体、颜色、对齐等多种格式设置。 适用于需要精确控制文本外观的场景。 参数说明: - 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位十六进制格式 - 字体名称需要系统中已安装 - 格式设置会应用到整个文本段落
必填参数:text
search_and_replace 3 个参数 需填 2 项
搜索和替换文本 Parameters: - search_text: 搜索文本 - replace_text: 替换文本 - case_sensitive: 是否区分大小写
必填参数:search_text、replace_text
smart_add_content 4 个参数 需填 1 项
智能添加内容 - 自动格式化和样式应用 功能说明: 智能添加文本内容到当前文档,根据内容类型自动应用最佳格式。 支持自动样式识别和格式化,提升文档的专业度和可读性。 参数说明: - 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级,以此类推 - 列表项会自动添加项目符号 - 内容过长时会自动截断显示
必填参数:content
add_table 4 个参数 需填 2 项
添加表格 Parameters: - rows: 行数 - cols: 列数 - data: 表格数据(可选) - has_header: 是否有表头
必填参数:rows、cols
add_table_row 2 个参数 需填 2 项
在指定表格中添加行 Parameters: - table_index: 表格索引(从0开始) - row_data: 行数据
必填参数:table_index、row_data
format_table 2 个参数 需填 1 项
格式化表格 Parameters: - table_index: 表格索引 - style: 表格样式
必填参数:table_index
add_table_column 3 个参数 需填 1 项
添加表格列 - 在指定位置插入新列 功能说明: 在现有表格的指定位置添加新列,支持在任意位置插入或末尾追加。 可以同时为新列的所有单元格填充数据。 参数说明: - 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 添加列成功" 失败时返回: "添加表格列失败: [错误信息]" 注意事项: - 使用前需要先创建或打开文档 - 表格索引必须有效 - 列索引不能超出范围 - 数据列表长度建议与表格行数匹配 - 新列会自动继承表格的样式
必填参数:table_index
merge_table_cells 5 个参数 需填 5 项
合并表格单元格 Parameters: - table_index: 表格索引 - row_start: 起始行 - col_start: 起始列 - row_end: 结束行 - col_end: 结束列
必填参数:table_index、row_start、col_start、row_end、col_end
extract_table_structure 2 个参数 需填 2 项
提取完整表结构 - 支持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格式文档 - 能够智能识别表格类型(评价表、签名表、获奖表等)
必填参数:file_path、table_index
extract_all_tables_structure 1 个参数 需填 1 项
提取文档中所有表格的完整结构 功能说明: 提取指定文档中所有表格的完整结构信息,返回所有表格的结构摘要。 适用于需要了解整个文档表格布局的场景。 参数说明: - 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
必填参数:file_path
extract_document_structure 2 个参数 需填 1 项
提取完整文档结构 - 包含所有表格、段落、图片等元素的综合分析 功能说明: 一次性提取文档的完整结构信息,包括所有表格、段落、图片、页面格式等。 提供文档的全局视图,帮助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格式文档 - 能够智能识别表格类型和文档结构
必填参数:file_path
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 1 个参数 需填 1 项
创建智能工作流规划 - 为AI提供具体的执行计划 功能说明: 根据用户的具体请求,生成详细的工具调用工作流规划。 AI可以使用此规划来有序地执行复杂的文档处理任务。 参数说明: - user_request (必需): 用户的完整请求描述 * 示例: "帮我创建一个学生信息表,包含姓名、学号、班级字段,并填充一些示例数据" * 示例: "打开现有文档,分析表格结构,然后智能填充数据" 返回结果: 返回JSON格式的详细工作流规划,包括: - 任务类型分析 - 步骤化执行计划 - 工具调用顺序 - 参数配置建议 - 风险评估和优化建议 使用示例: 1. 创建表格任务规划: create_intelligent_workflow_plan("创建学生综合素质评价表,包含评价项目、分值、得分字段") 2. 表格填充任务规划: create_intelligent_workflow_plan("打开docs/评价表.docx,智能填充学生张三的评价数据") 注意事项: - 此工具只生成规划,不执行具体操作 - AI应该按照返回的规划逐步执行工具调用 - 可以根据实际情况调整规划中的参数
必填参数:user_request
get_tool_detailed_guidance 1 个参数 需填 1 项
获取特定工具的详细指导 - 深入了解单个工具的使用方法 功能说明: 获取指定工具的详细使用指导,包括参数说明、使用示例、最佳实践等。 当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在处理复杂任务前先了解相关工具
必填参数:tool_name
clear_table_structure_cache
清空表格结构缓存 功能说明: 清空所有已缓存的表格结构信息,释放内存。 在MCP调用完成后或需要重置缓存时使用。 返回结果: 成功时返回: "表格结构缓存已清空" 失败时返回: "清空缓存失败: [错误信息]" 使用示例: 1. 清空所有缓存: clear_table_structure_cache() 注意事项: - 清空后需要重新提取表格结构 - 建议在MCP调用完成后使用
该工具无需必填参数,直接调用即可
extract_fillable_fields 1 个参数 需填 1 项
提取文档中所有可填充的字段和位置信息(坐标填充专用) 功能说明: 自动分析文档结构,提取所有表格中的字段坐标、空位坐标等信息, 为坐标填充提供精确的位置映射。返回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可以判断是否覆盖现有内容
必填参数:file_path
intelligent_table_fill 2 个参数 需填 2 项
智能表格填充 - 简化的辅助填充功能 功能说明: 这是一个简化的智能填充功能,主要用于辅助坐标填充。 建议优先使用 extract_fillable_fields + fill_with_coordinates 的组合。 参数说明: - file_path (必需): 文档文件路径 - fill_data (必需): 填充数据字典 * 格式: {"字段名1": "值1", "字段名2": "值2", ...} 返回结果: 返回填充结果或建议使用坐标填充的提示 使用建议: 推荐使用以下工作流程: 1. 调用 extract_fillable_fields() 获取坐标信息 2. 根据坐标信息创建填充计划 3. 调用 fill_with_coordinates() 执行精确填充
必填参数:file_path、fill_data
fill_with_coordinates 2 个参数 需填 2 项
使用坐标数据直接填充表格(主要功能) 功能说明: 这是表格填充的主要功能,根据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 字段获取判断指导
必填参数:file_path、coordinate_data
basic_table_fill 2 个参数 需填 2 项
基础表格填充 - 智能字段匹配填充 功能说明: 自动分析文档中的字段位置,通过智能匹配进行填充。 不再依赖硬编码的位置映射,具有更好的通用性。 参数说明: - file_path (必需): 文档文件路径 - fill_data (必需): 填充数据字典 * 格式: {"字段名1": "值1", "字段名2": "值2", ...} * 支持任意字段名,系统会自动匹配 返回结果: 成功时返回: "基础表格填充成功,共填充X个字段" 失败时返回: "基础表格填充失败: [错误信息]" 使用示例: basic_table_fill("docs/实习鉴定表.docx", { "姓名": "张三", "学号": "2021001234", "学院": "计算机学院", "专业": "计算机科学与技术", "实习单位": "腾讯科技有限公司", "实习时间": "2024年7月-2024年9月" })
必填参数:file_path、fill_data
intelligent_create_table 2 个参数 需填 1 项
智能创建表格 - 自动样式和优化 功能说明: 智能创建表格并自动应用最佳样式,根据数据结构自动优化格式。 支持表头自动加粗,表格边框样式,提升表格的专业度和可读性。 参数说明: - 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 [列数]列" 失败时返回: "智能表格创建失败: [错误信息]" 注意事项: - 使用前需要先创建或打开文档 - 数据不能为空,至少需要一行数据 - 第一行建议作为表头使用 - 表格会自动添加到文档末尾 - 支持中文和英文内容
必填参数:data
add_image 3 个参数 需填 1 项
添加图片 Parameters: - image_path: 图片文件路径 - width: 图片宽度(英寸) - height: 图片高度(英寸)
必填参数:image_path
extract_images 1 个参数
提取文档中的所有图片 Parameters: - output_dir: 输出目录
该工具无需必填参数,直接调用即可
resize_image 3 个参数 需填 3 项
调整图片大小 Parameters: - image_index: 图片索引 - width: 新宽度(英寸) - height: 新高度(英寸)
必填参数:image_index、width、height
set_page_margins 4 个参数
设置页面边距 Parameters: - top: 上边距(英寸) - bottom: 下边距(英寸) - left: 左边距(英寸) - right: 右边距(英寸)
该工具无需必填参数,直接调用即可
set_page_orientation 1 个参数
设置页面方向 Parameters: - orientation: 页面方向(portrait/landscape)
该工具无需必填参数,直接调用即可
set_page_size 2 个参数
设置页面大小 Parameters: - width: 页面宽度(英寸) - height: 页面高度(英寸)
该工具无需必填参数,直接调用即可
get_smart_suggestions 1 个参数
获取智能建议 - 基于上下文的建议 功能说明: 根据当前文档编辑上下文提供智能建议,帮助用户优化文档结构、 格式和内容,提升文档的专业度和可读性。 参数说明: - 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
获取服务器信息
该工具无需必填参数,直接调用即可
服务介绍
📚 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! 📝✨