使用说明

项目简介

Word文档MCP服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,专注于为LLM应用提供Word文档处理能力。它允许LLM客户端通过调用预定义好的工具 (Tools),实现对Word文档的创建、内容编辑、格式调整以及资源管理等功能。该服务器使用 FastMCP 框架简化开发流程,并以 JSON-RPC 协议与客户端通信,为 LLM 应用集成 Word 文档处理功能提供了便捷的途径。

主要功能点

  • 文档创建与管理:支持创建新的Word文档,打开已有的文档,以及将文档保存到指定位置。
  • 内容编辑:允许添加和格式化文本(标题、段落、 run),支持设置字体大小、粗体、斜体、颜色、高亮、对齐方式等丰富的文本样式。
  • 图片处理:支持在文档中插入图片,并可设定图片宽度。图片可以从本地文件路径或numpy矩阵数据传入。
  • 表格操作:支持创建表格,设置表格样式,以及填充和更新表格单元格内容,包括文本格式和对齐方式。
  • 资源与Prompt管理:具备资源 (Resources) 和 Prompt 模板 (Prompts) 的管理功能,允许存储、读取、列举和删除资源与Prompt,为更复杂的文档生成和编辑流程提供支持。

安装步骤

  1. 环境准备:确保已安装 Python 3.12 或更高版本。
  2. 创建虚拟环境:打开终端,导航到仓库根目录,运行命令 'uv venv' 创建虚拟环境。
  3. 激活虚拟环境:运行命令 'source venv/bin/activate' (Linux/macOS) 或 'venv\Scripts\activate' (Windows) 激活虚拟环境。
  4. 安装依赖:运行命令 'uv pip install .' 安装项目及其依赖库(包括 'python-docx', 'opencv-python', 'numpy', 'FastMCP')。

服务器配置

为了让MCP客户端(如实现了MCP协议的LLM应用)能够连接到 Word文档MCP服务器,需要在客户端的配置文件中添加服务器的启动信息。以下是一个典型的 JSON 格式配置示例,展示了如何配置 'word-mcp-server':

{
  "mcpServers": {
    "word-mcp-server": {
      "command": "/path/to/word-mcp-server/.venv/bin/python3",
      "args": ["/path/to/word-mcp-server/server.py"]
    }
  }
}

配置参数说明

  • 'mcpServers': JSON 对象,用于配置所有的 MCP 服务器。
  • 'word-mcp-server': 服务器的名称,可以自定义,用于在客户端中唯一标识该服务器。
  • 'command': 指向 Python 解释器的路径。通常位于项目虚拟环境的 'bin' 目录下。请务必替换为实际的 Python 解释器路径。
  • 'args': 一个字符串数组,包含了启动服务器脚本所需的命令行参数。数组的第一个元素是 'server.py' 脚本的路径。请务必替换为 'server.py' 脚本的实际路径。

重要提示

  • 上述配置中的 '/path/to/word-mcp-server' 必须替换 为 'word-mcp-server' 仓库在您本地文件系统中的实际路径
  • 确保 MCP 客户端能够正确读取并解析此 JSON 配置文件。

基本使用方法

  1. 启动服务器:在配置好 MCP 客户端后,启动客户端应用。客户端会根据配置文件中的信息,自动启动 Word文档MCP服务器。服务器启动后,即可通过客户端向其发送 MCP 请求。

  2. 通过LLM客户端调用工具 (Tools)

    • LLM 客户端可以调用服务器提供的各种工具来操作 Word 文档。例如,调用 'create_new_document' 工具创建新文档,调用 'add_heading' 添加标题,调用 'add_paragraph' 添加段落,调用 'save_file' 保存文档等。
    • 具体的工具名称、参数和使用方式,请参考 'server.py' 文件中以 '@mcp.tool()' 装饰器定义的函数及其文档字符串 (docstring)。这些文档字符串通常会描述工具的功能和参数。
    • LLM 应用可以根据用户指令或预设流程,智能地调用这些工具,实现自动化的 Word 文档处理任务,例如根据用户输入的自然语言指令创建报告、编辑合同、生成简历等。

示例:使用LLM创建一个简单的Word文档

假设用户希望创建一个包含标题和一段文字的Word文档,LLM 客户端可能会执行以下 MCP 工具调用序列(简化示例,实际调用会更复杂,并遵循 JSON-RPC 协议):

[
  {"method": "create_new_document", "params": {}},
  {"method": "add_heading", "params": {"content": "我的文档标题", "level": 1}},
  {"method": "add_paragraph", "params": {"content": "这是文档的第一段文字。"}},
  {"method": "save_file", "params": {"filename": "my_document.docx"}}
]

LLM 客户端负责将用户的自然语言指令转换为对 MCP 服务器工具的精确调用,并处理服务器返回的响应,最终完成 Word 文档的自动化处理任务。

信息

分类

生产力应用