使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,它允许大型语言模型 (LLM) 通过标准化的 MCP 协议与 Microsoft Word 应用程序进行交互。借助 Windows COM Interop 技术,该服务器将 Word 的各种功能封装成 MCP 工具,供 LLM 客户端调用,实现文档的创建、编辑、格式化等操作。

主要功能点

  • Word 文档操作: 提供创建、打开、保存、另存为、关闭 Word 文档的功能。
  • 文本编辑: 支持在 Word 文档中插入、删除、查找和替换文本,以及设置文本格式(粗体、斜体、下划线)。
  • 段落格式化: 允许调整段落的对齐方式、缩进、行间距、段前距和段后距。
  • 表格操作: 支持在文档中添加表格、设置单元格文本、插入行列以及应用表格样式。
  • 图片处理: 能够插入图片并调整图片大小。
  • 页眉页脚设置: 允许设置页眉和页脚文本。
  • 页面布局: 支持设置页面边距、纸张方向和纸张大小。
  • 多种通信协议: 支持 stdio 和 SSE (Server-Sent Events) 两种 MCP 通信传输协议。

安装步骤

  1. 环境准备:
    • 确保已安装 Node.js (推荐 v18 或更高版本)。
    • 确保已安装 npm 包管理器。
    • 必须在 Windows 操作系统 上运行,并且已安装 Microsoft Word 应用程序。
  2. 下载代码:
    • 克隆 GitHub 仓库或下载源代码压缩包。
    git clone https://github.com/mario-andreschak/mcp-msoffice-interop-word.git
    cd mcp-msoffice-interop-word
  3. 安装依赖:
    • 在项目根目录下运行以下命令安装项目依赖。
    npm install
  4. 构建项目:
    • 运行以下命令编译 TypeScript 代码到 JavaScript。
    npm run build
    • 编译后的文件将输出到 'dist' 目录。

服务器配置

MCP 服务器需要配置启动命令才能被 MCP 客户端(如 MCP Inspector)调用。以下是针对 stdio 传输方式的 MCP 客户端配置信息(JSON 格式):

{
  "server name": "mcp-msoffice-interop-word",
  "command": "node",
  "args": [
    "dist/index.js"
  ],
  "transport": "stdio"
}

配置参数说明:

  • '"server name"': 服务器名称,可以自定义,用于在客户端标识该服务器。
  • '"command"': 启动服务器进程的命令,这里使用 'node' 命令来运行 JavaScript 文件。
  • '"args"': 传递给启动命令的参数,这里指定了编译后的服务器入口文件 'dist/index.js'。
  • '"transport"': 指定 MCP 客户端与服务器的通信方式,这里设置为 '"stdio"' (标准输入输出)。

如果使用 SSE 传输: 需要配置 SSE 相关的 endpoint 信息,具体配置方法请参考 MCP 客户端工具的文档。启动 SSE 传输模式的服务器,需要在运行服务器前设置环境变量 'MCP_TRANSPORT=sse',例如:'MCP_TRANSPORT=sse npm start'。 SSE 模式的服务器默认监听端口 3001,可以通过设置 'PORT' 环境变量来修改端口。

基本使用方法

  1. 启动服务器:
    • stdio 传输 (默认): 在项目根目录下运行 'npm start' 或 'node dist/index.js' 命令。
    • SSE 传输: 在 PowerShell 中运行 '$env:MCP_TRANSPORT="sse"; npm start' 或在 Bash/Cmd 中运行 'MCP_TRANSPORT=sse npm start' 命令。
  2. 连接 MCP 客户端:
    • 使用 MCP 客户端工具(如 MCP Inspector),根据选择的传输协议 (stdio 或 SSE) 和上述服务器配置信息,连接到正在运行的 MCP 服务器。
  3. 调用工具:
    • 连接成功后,在 MCP 客户端中可以发现并调用服务器提供的各种 'word_' 开头的工具。
    • 根据工具的参数描述,提供相应的参数值,即可让 LLM 控制 Word 执行相应的文档操作。
    • 例如,调用 'word_insertText' 工具可以在 Word 文档的当前选中位置插入指定的文本。

注意:

  • 运行该服务器的机器必须安装了 Microsoft Word,并且服务器进程需要有权限访问 Word 应用程序。
  • Word 常量(如 'WdSaveFormat', 'WdUnits' 等)在工具参数中以数字值表示,具体数值请参考 Microsoft Word VBA 文档。

信息

分类

桌面与硬件