| Crates.io | docx_mcp_rust |
| lib.rs | docx_mcp_rust |
| version | 0.0.1 |
| created_at | 2026-01-20 08:44:09.356321+00 |
| updated_at | 2026-01-20 08:44:09.356321+00 |
| description | A Rust-based MCP (Model Context Protocol) server for creating and manipulating DOCX files |
| homepage | https://gitee.com/awol2010ex/docx_mcp_rust |
| repository | https://gitee.com/awol2010ex/docx_mcp_rust |
| max_upload_size | |
| id | 2056093 |
| size | 153,882 |
一个基于 Rust 的 DOCX 文件操作 MCP(Model Context Protocol)服务器,使用 docx-rust = "=0.1.10" 库生成标准 DOCX 文件。
🚀 Trae IDE 用户:直接安装即可使用!支持自然语言操作 DOCX 文档,详见 Trae IDE 集成开发 部分。 mcp界面点击“新建”,粘贴
{
"mcpServers": {
"docx_mcp_rust": {
"command": "./target/release/docx_mcp_rust.exe",
"args": []
}
}
}
docx-rust 库生成符合 Office Open XML 标准的 DOCX 文件cargo build
cargo run
服务器启动后,可以通过 JSON-RPC 请求来操作 DOCX 文档:
{
"jsonrpc": "2.0",
"method": "create_docx",
"params": {
"name": "test_document",
"title": "测试文档"
},
"id": 1
}
create_docx - 创建新文档
name (文档名称), title (文档标题)save_docx - 保存文档到文件
file_path (保存路径), document_id (可选,默认为当前文档)docx-rust 库生成标准 DOCX 文件load_docx - 从文件加载文档
file_path (文件路径), name (文档名称)close_docx - 关闭文档
document_id (可选,默认为当前文档)get_current_document - 获取当前文档信息
get_all_documents - 获取所有文档列表
add_paragraph - 添加段落
alignment (可选,对齐方式: left/center/right/justify)get_paragraph - 获取段落信息
paragraph_index (段落索引)update_paragraph_style - 更新段落样式
paragraph_index (段落索引), alignment (对齐方式)get_paragraphs - 获取所有段落信息
add_run - 添加运行(文本片段)
paragraph_index (段落索引)get_run - 获取运行信息
paragraph_index (段落索引), run_index (运行索引)update_run_properties - 更新运行属性(字体、大小、颜色等)
paragraph_index (段落索引), run_index (运行索引), 格式化属性get_runs - 获取段落中的所有运行
paragraph_index (段落索引)add_text - 添加文本
paragraph_index (段落索引), run_index (运行索引), content (文本内容)get_text - 获取文本内容
paragraph_index (段落索引), run_index (运行索引), text_index (文本索引)update_text - 更新文本内容
paragraph_index (段落索引), run_index (运行索引), text_index (文本索引), new_content (新内容)update_text_properties - 更新文本属性
paragraph_index (段落索引), run_index (运行索引), text_index (文本索引), 属性参数// 1. 创建文档
{
"jsonrpc": "2.0",
"method": "create_docx",
"params": {
"name": "my_document",
"title": "我的文档"
},
"id": 1
}
// 2. 添加段落
{
"jsonrpc": "2.0",
"method": "add_paragraph",
"params": {
"alignment": "center"
},
"id": 2
}
// 3. 添加运行
{
"jsonrpc": "2.0",
"method": "add_run",
"params": {
"paragraph_index": 0
},
"id": 3
}
// 4. 添加文本
{
"jsonrpc": "2.0",
"method": "add_text",
"params": {
"paragraph_index": 0,
"run_index": 0,
"content": "Hello, DOCX World!"
},
"id": 4
}
{
"jsonrpc": "2.0",
"method": "update_run_properties",
"params": {
"paragraph_index": 0,
"run_index": 0,
"font_size": 14.0,
"bold": true,
"color": "FF0000",
"font_name": "Arial"
},
"id": 5
}
{
"jsonrpc": "2.0",
"method": "save_docx",
"params": {
"file_path": "output/document.docx"
},
"id": 6
}
在 Trae IDE 中,您可以直接使用自然语言:
"帮我创建一个标题为'项目报告'的Word文档"
"添加一个居中的段落,内容是'项目概述'"
"把这段文字设置为蓝色、加粗、16号字体"
"保存文档到桌面"
Trae IDE 会自动将这些自然语言转换为相应的 JSON-RPC 调用。
本项目基于 docx-rust = "=0.1.10" 库构建,提供以下优势:
MCP Client (如 Claude Desktop)
↓ JSON-RPC 2.0
DOCX MCP Rust Server
↓ 内部API调用
docx-rust 库
↓ Office Open XML
标准 DOCX 文件
docx_mcp_rust/
├── src/
│ ├── lib.rs # 库入口
│ ├── main.rs # 主程序
│ ├── core.rs # 核心数据结构
│ ├── handlers.rs # JSON-RPC 处理器
│ ├── tools/ # 工具模块
│ │ ├── management.rs # 文档管理(集成 docx-rust)
│ │ ├── document.rs # 文档操作
│ │ ├── paragraph.rs # 段落操作
│ │ ├── run.rs # 运行操作
│ │ └── text.rs # 文本操作
│ └── utils.rs # 工具函数
├── Cargo.toml # 项目配置
└── README.md # 项目文档
cargo test
启动服务器后,输入 test 命令可以运行内置的测试序列。
docx-rust = "=0.1.10" - 核心 DOCX 文件生成库,提供 Office Open XML 标准支持serde = "=1.0.228" - JSON 序列化/反序列化serde_json = "=1.0.145" - JSON 数据处理anyhow = "=1.0.100" - 错误处理chrono = "=0.4.42" - 时间戳和日期处理uuid = "=1.19.0" - 唯一标识符生成// 1. 创建文档
{
"jsonrpc": "2.0",
"method": "create_docx",
"params": {
"name": "formatted_document",
"title": "格式化文档示例"
},
"id": 1
}
// 2. 添加标题段落(居中)
{
"jsonrpc": "2.0",
"method": "add_paragraph",
"params": {
"alignment": "center"
},
"id": 2
}
// 3. 添加大号粗体标题文本
{
"jsonrpc": "2.0",
"method": "add_run",
"params": {
"paragraph_index": 0
},
"id": 3
}
{
"jsonrpc": "2.0",
"method": "add_text",
"params": {
"paragraph_index": 0,
"run_index": 0,
"content": "重要文档标题"
},
"id": 4
}
{
"jsonrpc": "2.0",
"method": "update_run_properties",
"params": {
"paragraph_index": 0,
"run_index": 0,
"font_size": 18.0,
"bold": true,
"color": "2E86AB"
},
"id": 5
}
// 4. 添加正文段落(两端对齐)
{
"jsonrpc": "2.0",
"method": "add_paragraph",
"params": {
"alignment": "justify"
},
"id": 6
}
// 5. 添加带格式的正文
{
"jsonrpc": "2.0",
"method": "add_run",
"params": {
"paragraph_index": 1
},
"id": 7
}
{
"jsonrpc": "2.0",
"method": "add_text",
"params": {
"paragraph_index": 1,
"run_index": 0,
"content": "这是一个使用 docx-rust 库生成的标准 DOCX 文件。"
},
"id": 8
}
{
"jsonrpc": "2.0",
"method": "update_run_properties",
"params": {
"paragraph_index": 1,
"run_index": 0,
"font_size": 12.0,
"font_name": "宋体"
},
"id": 9
}
// 6. 保存文档
{
"jsonrpc": "2.0",
"method": "save_docx",
"params": {
"file_path": "output/formatted_document.docx"
},
"id": 10
}
MIT License
欢迎提交 Issue 和 Pull Request!
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)# 克隆仓库
git clone https://gitee.com/awol2010ex/docx_mcp_rust.git
# 进入项目目录
cd docx_mcp_rust
# 构建项目
cargo build
# 运行测试
cargo test
# 运行服务器
cargo run
在 Trae IDE 中使用本项目的步骤:
打开 Trae IDE,点击左侧边栏的 MCP 图标
添加 MCP 服务器:
https://gitee.com/awol2010ex/docx_mcp_rust.git自动安装:Trae IDE 会自动识别 Cargo.toml 并安装依赖
启动服务:Trae IDE 会自动启动 MCP 服务器
使用方式:在 Trae IDE 的聊天界面中,可以直接使用自然语言操作 DOCX 文档,例如:
如果需要手动配置,可以在 Trae IDE 的 MCP 设置中添加:
{
"mcpServers": {
"docx-rust": {
"command": "cargo",
"args": ["run", "--bin", "docx_mcp_rust"],
"cwd": "/path/to/docx_mcp_rust"
}
}
}