使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,它允许大型语言模型 (LLM) 通过标准化的 MCP 协议与 Microsoft Word 应用程序进行交互。借助 Windows COM Interop 技术,该服务器将 Word 的各种功能封装成 MCP 工具,供 LLM 客户端调用,实现文档的创建、编辑、格式化等操作。
主要功能点
- Word 文档操作: 提供创建、打开、保存、另存为、关闭 Word 文档的功能。
- 文本编辑: 支持在 Word 文档中插入、删除、查找和替换文本,以及设置文本格式(粗体、斜体、下划线)。
- 段落格式化: 允许调整段落的对齐方式、缩进、行间距、段前距和段后距。
- 表格操作: 支持在文档中添加表格、设置单元格文本、插入行列以及应用表格样式。
- 图片处理: 能够插入图片并调整图片大小。
- 页眉页脚设置: 允许设置页眉和页脚文本。
- 页面布局: 支持设置页面边距、纸张方向和纸张大小。
- 多种通信协议: 支持 stdio 和 SSE (Server-Sent Events) 两种 MCP 通信传输协议。
安装步骤
- 环境准备:
- 确保已安装 Node.js (推荐 v18 或更高版本)。
- 确保已安装 npm 包管理器。
- 必须在 Windows 操作系统 上运行,并且已安装 Microsoft Word 应用程序。
- 下载代码:
- 克隆 GitHub 仓库或下载源代码压缩包。
git clone https://github.com/mario-andreschak/mcp-msoffice-interop-word.git cd mcp-msoffice-interop-word - 安装依赖:
- 在项目根目录下运行以下命令安装项目依赖。
npm install - 构建项目:
- 运行以下命令编译 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' 环境变量来修改端口。
基本使用方法
- 启动服务器:
- stdio 传输 (默认): 在项目根目录下运行 'npm start' 或 'node dist/index.js' 命令。
- SSE 传输: 在 PowerShell 中运行 '$env:MCP_TRANSPORT="sse"; npm start' 或在 Bash/Cmd 中运行 'MCP_TRANSPORT=sse npm start' 命令。
- 连接 MCP 客户端:
- 使用 MCP 客户端工具(如 MCP Inspector),根据选择的传输协议 (stdio 或 SSE) 和上述服务器配置信息,连接到正在运行的 MCP 服务器。
- 调用工具:
- 连接成功后,在 MCP 客户端中可以发现并调用服务器提供的各种 'word_' 开头的工具。
- 根据工具的参数描述,提供相应的参数值,即可让 LLM 控制 Word 执行相应的文档操作。
- 例如,调用 'word_insertText' 工具可以在 Word 文档的当前选中位置插入指定的文本。
注意:
- 运行该服务器的机器必须安装了 Microsoft Word,并且服务器进程需要有权限访问 Word 应用程序。
- Word 常量(如 'WdSaveFormat', 'WdUnits' 等)在工具参数中以数字值表示,具体数值请参考 Microsoft Word VBA 文档。
信息
分类
桌面与硬件