DOCX编辑器MCP服务器
   
一个强大的 模型上下文协议(MCP)服务器 用于从Microsoft Word文档中创建、编辑和提取数据(.docx).专为与Claude Desktop、Kilocode和其他MCP兼容客户端等AI助手无缝集成而设计。
📋 目录
✨ 特性
文档创建和管理
- 创建新文档 具有预先配置的专业风格(Times New Roman,14pt,对齐,1.15行距)
- 加载现有模板 用于修改
- 保存文档 到任何指定路径
内容编辑
- 添加标题 自动造型(居中,Times New Roman,16pt)
- 添加段落 具有可定制的对齐方式(左、中、右、对齐)
- 插入格式化文本 具有粗体、斜体、自定义字体大小和语言属性
- 创建项目符号和编号列表 具有自动格式化功能
文档分析和提取
- 提取所有文档参数 结构化JSON包括:
- 核心属性(作者、标题、主题、关键字、创建/修改日期) - 自定义属性(用户定义的元数据) - 文档变量(用于邮件合并和自动化) - 节属性(边距、页面大小、方向) - 样式定义(字体、颜色、间距、缩进) - 编号和列表定义 - 页眉和页脚内容 - 表结构
模板生成
- 应用提取的参数 创建具有相同格式的新文档
- 设置核心属性 编程(作者、标题、主题等)
- 设置自定义属性 用于文档元数据
文档结构分析
- 获取全面的文档结构摘要
- 列出所有带有级别和文本的标题
- 清点段落和表格
- 预览文档内容
📦 安装
先决条件
- Python 3.10或更高版本
- pip包管理器
快速开始
- 克隆存储库:
git clone https://github.com/yourusername/docx-editor-mcp.git
cd docx-editor-mcp- 安装依赖项:
pip install -r requirements.txt- 验证安装:
python -c "from docx import Document; from mcp.server.fastmcp import FastMCP; print('Installation successful!')"⚙️ 配置
了解MCP服务器
重要提示: MCP服务器使用JSON-RPC协议通过stdio进行通信。它们不打算直接从命令行运行以供交互使用。相反,它们必须由MCP客户端启动。
Claude桌面配置
将以下内容添加到您的Claude Desktop配置文件中:
窗户: %APPDATA%\Claude\claude_desktop_config.json\ macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"docx-editor": {
"command": "python",
"args": ["C:\\path\\to\\docx-editor-mcp\\server.py"]
}
}
}千码/VS码配置
添加到您的VS代码设置或Kilocode配置中:
{
"mcp.servers": {
"docx-editor": {
"command": "python",
"args": ["/path/to/docx-editor-mcp/server.py"]
}
}
}🔧 可用工具
文档创建和管理
| 工具 | 说明 |
|---|---|
create_document(filename) | 使用默认专业样式创建新文档 |
save_document(filename) | 将当前文档保存到指定路径 |
load_template(filename) | 加载现有文档进行修改 |
内容添加
表格操作
参数提取
| 工具 | 说明 |
|---|---|
extract_document_parameters(filename, compact, all_styles) | 将所有文档参数提取为JSON |
extract_core_properties(filename) | 提取元数据(作者、标题、日期等) |
extract_custom_properties(filename) | 提取用户定义的自定义特性 |
extract_document_variables(filename) | 提取文档变量以实现自动化 |
extract_section_properties(filename) | 提取页边距、页面大小、方向 |
extract_styles_info(filename, all_styles, compact) | 提取样式定义 |
get_document_structure(filename) | 获取标题、段落、表格摘要 |
模板生成
| 工具 | 说明 |
|---|---|
apply_template_parameters(parameters_json, output_filename) | 从JSON参数创建文档 |
set_core_property(property_name, value) | 设置元数据属性 |
set_custom_property(property_name, value) | 设置自定义属性 |
📖 使用示例
创建新文档
问你的AI助手:
Create a new Word document called "report.docx" with:
- A heading "Annual Report 2024"
- A paragraph about company performance
- A bullet list with key achievements服务器将执行:
create_document("report.docx")
add_heading("Annual Report 2024", level=1)
add_paragraph("The company has shown remarkable growth this year...")
add_list_item("Revenue increased by 25%", style="List Bullet")
add_list_item("Expanded to 3 new markets", style="List Bullet")
save_document()提取文档参数
Extract all parameters from "template.docx" and show me the styles used.返回结构化JSON:
{
"core_properties": {
"author": "John Doe",
"title": "Company Template",
"created": "2024-01-15T10:30:00"
},
"sections": [{
"margins": {
"top_mm": 15,
"bottom_mm": 15,
"left_mm": 20,
"right_mm": 20
},
"orientation": "portrait"
}],
"styles": {
"paragraph_styles": {
"Normal": {
"font": {"name": "Times New Roman", "size_pt": 14},
"paragraph_format": {"alignment": "JUSTIFY", "line_spacing": 1.15}
}
}
}
}克隆文档模板
Extract parameters from "template.docx" and create a new document "new_report.docx" with the same formatting.params = extract_document_parameters("template.docx")
apply_template_parameters(params, "new_report.docx")
# Now add your content...
add_heading("New Report", level=1)
add_paragraph("Your content here...")
save_document()分析文档结构
Load "document.docx" and show me its structure.退货:
{
"headings": [
{"index": 0, "level": "Heading 1", "text": "Introduction"},
{"index": 5, "level": "Heading 2", "text": "Methodology"}
],
"paragraphs": [
{"index": 1, "style": "Normal", "text_preview": "This document describes..."},
{"index": 2, "style": "Normal", "text_preview": "The following sections..."}
],
"tables_count": 2
}🛠 技术栈
| 组件 | 技术 |
|---|---|
| 语言 | Python 3.10+ |
| 协议 | 模型上下文协议(MCP) |
| MCP框架 | FastMCP |
| 文档引擎 | python docx |
| 沟通 | 基于stdio的JSON-RPC |
依赖项
mcp>=1.0.0
python-docx>=0.8.11默认文档样式
新文档是使用专业默认样式创建的:
| 元素 | 样式 |
|---|---|
| 普通文本 | Times New Roman,14pt,对齐,行距1.15 |
| 标题1 | Times New Roman,16pt,居中,无粗体 |
| 标题2 | Times New Roman,16pt,居中,无粗体 |
| 边距 | 顶部/底部:15mm,左侧/右侧:20mm |
| 第一行缩进 | 12.7毫米(1.27厘米) |
🤝 贡献
欢迎投稿!以下是您可以提供帮助的方式:
入门指南
- 分叉存储库
- 克隆你的叉子:
git clone https://github.com/yourusername/docx-editor-mcp.git- 创建要素分支:
git checkout -b feature/amazing-feature- 进行更改并提交:
git commit -m "Add amazing feature"- 推到您的分支:
git push origin feature/amazing-feature- 打开拉取请求
贡献指南
- 遵循PEP 8风格指南
- 将文档字符串添加到所有新函数中
- 更新任何新功能的文档
- 在提交之前彻底测试您的更改
功能请求和Bug报告
- 打开问题以获取错误报告或功能请求
- 提供错误的详细描述和复制步骤
- 包括功能请求示例
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
Made with ❤️ for the MCP community
