Word文档文本编辑MCP服务 - 提供文档文本编辑相关功能
Project description
Word文档文本编辑 MCP服务
这是一个基于Model Context Protocol (MCP)的Word文档文本编辑服务,提供对Word文档进行文本格式化、查找替换、段落删除和样式创建的功能。
功能特性
核心功能
- 文本格式化 - 对文档中指定范围的文本进行格式化(粗体、斜体、下划线、颜色、字体大小、字体名称)
- 查找替换 - 在整个文档中查找并替换指定文本
- 删除段落 - 删除文档中的指定段落
- 创建自定义样式 - 创建带有自定义格式的文档样式
技术特性
- 基于FastMCP框架构建
- 支持异步操作
- 完整的错误处理和验证
- 文件权限检查
- 智能跳过目录(TOC)段落
- 支持多种颜色格式
- 自动文件扩展名处理
安装要求
- Python 3.10+
- python-docx >= 1.1.0
- fastmcp >= 2.8.1
安装方法
使用uv安装依赖:
cd python/Word文档文本编辑
uv sync
或使用pip安装:
pip install python-docx fastmcp
使用方法
启动MCP服务器
# 使用uv运行
uv run python -m word_document_text_editor.main
# 或直接运行
python -m word_document_text_editor.main
MCP配置
将以下配置添加到您的MCP客户端配置文件中:
{
"mcpServers": {
"Word文档文本编辑": {
"command": "uvx",
"args": [
"word-document-text-editor-mcp"
],
"env": {}
}
}
}
在Claude中使用
配置完成后,在Claude中可以使用以下功能:
-
格式化文本
请将文档 "example.docx" 第1段的前5个字符设为粗体红色 -
查找替换
请在文档 "example.docx" 中将所有的 "旧文本" 替换为 "新文本" -
删除段落
请删除文档 "example.docx" 的第3段 -
创建自定义样式
请在文档 "example.docx" 中创建名为 "重要提示" 的样式,设为粗体蓝色
API参考
格式化文本
format_text_tool(filename: str, paragraph_index: int, start_pos: int, end_pos: int,
bold: str = "", italic: str = "", underline: str = "",
color: str = "", font_size: int = 0, font_name: str = "")
filename: Word文档路径paragraph_index: 段落索引(从0开始)start_pos: 文本开始位置end_pos: 文本结束位置bold: 粗体设置("true"=粗体,"false"=非粗体,""=不改变)italic: 斜体设置("true"=斜体,"false"=非斜体,""=不改变)underline: 下划线设置("true"=下划线,"false"=无下划线,""=不改变)color: 文本颜色(如"red"、"blue",""=不改变)font_size: 字体大小(磅,0=不改变)font_name: 字体名称(""=不改变)
查找替换
search_and_replace_tool(filename: str, find_text: str, replace_text: str)
filename: Word文档路径find_text: 要查找的文本replace_text: 替换文本
删除段落
delete_paragraph_tool(filename: str, paragraph_index: int)
filename: Word文档路径paragraph_index: 要删除的段落索引(从0开始)
创建自定义样式
create_custom_style_tool(filename: str, style_name: str, bold: str = "",
italic: str = "", font_size: int = 0,
font_name: str = "", color: str = "",
base_style: str = "")
filename: Word文档路径style_name: 新样式名称bold: 粗体设置("true"=粗体,"false"=非粗体,""=不设置)italic: 斜体设置("true"=斜体,"false"=非斜体,""=不设置)font_size: 字体大小(磅,0=不设置)font_name: 字体名称(""=不设置)color: 文本颜色(如"red"、"blue",""=不设置)base_style: 基础样式名称(""=不设置)
使用示例
格式化文本
# 将第一个段落的前10个字符设为粗体红色
result = format_text_tool("document.docx", 0, 0, 10, bold="true", color="red")
# 设置字体大小和字体名称
result = format_text_tool("document.docx", 1, 5, 15, font_size=14, font_name="Arial")
# 设置斜体和下划线
result = format_text_tool("document.docx", 2, 0, 5, italic="true", underline="true")
# 取消粗体格式
result = format_text_tool("document.docx", 0, 10, 20, bold="false")
查找替换
# 替换所有"旧文本"为"新文本"
result = search_and_replace_tool("document.docx", "旧文本", "新文本")
删除段落
# 删除第三个段落(索引为2)
result = delete_paragraph_tool("document.docx", 2)
创建自定义样式
# 创建一个名为"重要提示"的样式
result = create_custom_style_tool("document.docx", "重要提示",
bold="true", italic="true",
color="blue", font_size=12)
# 基于现有样式创建新样式
result = create_custom_style_tool("document.docx", "自定义标题",
base_style="Heading 1",
color="green", font_size=16)
# 创建只设置字体的样式
result = create_custom_style_tool("document.docx", "特殊字体",
font_name="Arial", font_size=14)
支持的颜色
预定义颜色名称
- red, blue, green, black, white
- yellow, orange, purple, gray/grey
十六进制颜色
- 支持 #RRGGBB 格式,如 "#FF0000" (红色)
- 支持 RRGGBB 格式,如 "00FF00" (绿色)
错误处理
服务提供完整的错误处理:
- 文件存在性检查
- 文件权限验证
- 段落索引有效性验证
- 文本位置范围验证
- 参数类型验证
- 详细的错误信息返回
特殊功能
智能TOC处理
- 自动跳过目录(Table of Contents)段落
- 避免意外修改文档结构
灵活的样式创建
- 支持基于现有样式创建新样式
- 自动处理样式冲突
- 支持多种字体属性组合
参数说明
布尔参数处理
由于MCP框架的类型限制,布尔参数使用字符串表示:
"true"- 启用该格式(如设为粗体)"false"- 禁用该格式(如取消粗体)""(空字符串) - 不改变该格式
其他可选参数
- 字符串参数:空字符串
""表示不改变 - 数值参数:
0表示不改变 - 所有参数都有合理的默认值,可以省略不填
注意事项
- 确保目标Word文档存在且可写
- 文档不能被其他程序打开
- 段落索引从0开始计算
- 文本位置索引基于字符数
- 删除段落操作不可撤销
- 样式名称在文档中必须唯一
许可证
MIT License
作者
Word MCP Services
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file word_document_text_editor_mcp-1.0.2.tar.gz.
File metadata
- Download URL: word_document_text_editor_mcp-1.0.2.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a56c413bb86e51232c2d970218c31a7ad809c4f54cd412c02bcbce0a42754421
|
|
| MD5 |
56bc4db63d013ce43a1f95afc7526934
|
|
| BLAKE2b-256 |
d930bdd5bcb07a3d42e5891a181fdcf93ef62dfc38219724515a640548dcc45a
|
File details
Details for the file word_document_text_editor_mcp-1.0.2-py3-none-any.whl.
File metadata
- Download URL: word_document_text_editor_mcp-1.0.2-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67fcfe14ddc5969013d32f2a5dd57b1a5cf03a457836b03ed00661f63841f5cd
|
|
| MD5 |
f753100c4b1469ae0f7f2d9a8bb8b9ea
|
|
| BLAKE2b-256 |
d71f512550c1bcef9adfde0835696ec3f4924ba55ab89db653b8112d0d6cd74d
|