Office MCP Server
AI-Powered Office Automation - 基于 MCP 协议的 Office 文档智能处理服务
📋 项目简介
Office MCP Server 是一个基于 Model Context Protocol (MCP) 的 Office 文档自动化服务,支持通过自然语言指令操作 Word、Excel、PowerPoint 文档。
核心功能
✅ Word 文档处理: 创建、编辑、格式化 Word 文档
✅ Excel 表格处理: 数据操作、公式计算、图表生成
✅ PowerPoint 演示: 幻灯片创建、内容排版、样式设置
✅ 读写支持: 支持读取和写入现有文档(Python 方案优势)
✅ PDF 转换: 原生支持 PDF 生成和转换
✅ AI 集成: 与 Claude、Cursor 等 AI 客户端无缝集成
参考项目
本项目参考了 GongRzhe/Office-Word-MCP-Server(960+ stars)的成功实现,采用 Python + FastMCP 技术栈。
⚠️ 功能限制说明
本项目基于 Python 生态的 Office 处理库(python-docx、openpyxl、python-pptx)实现,已覆盖 85%+ 的日常办公自动化需求。但由于技术栈限制,部分 Microsoft Office 专有功能暂不支持。
Excel 功能限制
功能类别 | 限制说明 | 技术原因 | 替代方案 |
🔧 VBA 宏与自动化 | 不支持 VBA 宏的执行、录制和编辑 |
库不支持 VBA 宏引擎 | 使用 Python 脚本实现自动化逻辑 |
📊 数据透视表 | 基础功能可用,但跨平台支持受限 |
对数据透视表支持有限,完整功能需 Windows +
| 已实现基础创建和刷新功能,复杂场景建议使用 Excel 应用 |
🔍 Power Query | 不支持数据获取和转换功能 | Power Query 是 Excel 专有功能,无开源实现 | 使用 Python 的
进行数据处理 |
📈 Power Pivot | 不支持数据建模、DAX 公式、KPI | Power Pivot 是 Excel 专有功能 | 使用 Python 数据分析库(如
、
) |
👥 共享工作簿 | 不支持多用户协作编辑和更改历史 |
不支持共享工作簿协议 | 使用版本控制系统(如 Git)管理文件版本 |
🎯 高级假设分析 | 不支持数据表和方案管理器 | 这些是 Excel 内置的交互式工具 | 已支持单变量求解(目标搜索),其他场景可用 Python 实现 |
PowerPoint 功能限制
功能类别 | 限制说明 | 技术原因 | 替代方案 |
🎬 动画效果 | 动画支持非常有限,仅提供基础标记 |
对动画的 API 支持不完整,完整功能需 Windows +
| 在 PowerPoint 中手动添加复杂动画,或使用基础动画效果 |
🎨 SmartArt 图形 | 不支持 SmartArt 的创建和编辑 | SmartArt 是 Microsoft Office 专有功能,
不支持 | 使用形状组合模拟 SmartArt 效果 |
🎵 音频与视频 | 不支持音频和视频文件嵌入 |
库不支持多媒体嵌入 | 在 PowerPoint 中手动添加音频/视频 |
📐 母版编辑 | 不支持幻灯片母版的完整编辑 |
对母版的支持非常有限 | 使用预设模板或在 PowerPoint 中编辑母版 |
📋 高级表格操作 | 不支持删除行列、拆分单元格、调整行高列宽 |
表格操作 API 有限 | 已支持基础表格创建、数据填充、合并单元格 |
📄 PDF/视频导出 | PDF 导出需要 PowerPoint 应用,不支持视频导出 | 需要 Microsoft PowerPoint +
库(仅 Windows) | 使用 PowerPoint 应用手动导出,或使用在线转换工具 |
📌 页眉页脚 | 通过文本框模拟,非原生页眉页脚 |
对页眉页脚支持有限 | 已实现文本框模拟方案,基本满足需求 |
🏢 企业级功能 | 不支持品牌模板管理、批量生成、演示录制等 | 这些是高级业务功能,需要额外开发 | 使用 Python 脚本实现批量处理逻辑 |
Word 功能限制
功能类别 | 限制说明 | 技术原因 | 替代方案 |
📝 脚注与尾注 | 不支持脚注和尾注的创建和编辑 |
库不支持脚注/尾注 API | 使用文本框或段落备注替代 |
🔗 交叉引用 | 不支持交叉引用的创建和更新 |
对域代码支持有限 | 使用超链接或手动引用 |
📋 修订跟踪 | 不支持修订跟踪和批注的完整功能 |
对修订跟踪支持非常有限 | 使用版本控制系统(如 Git)管理文档版本 |
🔒 文档保护 | 不支持文档保护和权限控制 |
不支持文档保护 API | 使用 PDF 格式或手动在 Word 中设置保护 |
📐 域代码 | 对域代码支持非常有限,仅支持基础日期时间域 |
的域代码 API 不完整 | 已支持基础日期时间域,复杂域建议在 Word 中手动添加 |
🔧 VBA 宏 | 不支持 VBA 宏的执行、录制和编辑 |
不支持 VBA 宏引擎 | 使用 Python 脚本实现自动化逻辑 |
🎨 SmartArt | 不支持 SmartArt 图形的创建和编辑 | SmartArt 是 Microsoft Office 专有功能 | 使用表格或形状组合实现类似效果 |
🖼️ 图片高级编辑 | 不支持图片裁剪、旋转、艺术效果 |
图片操作 API 有限 | 已支持图片插入和大小调整,高级编辑建议使用图像处理库或 Word |
📄 多栏布局 | 不支持多栏布局设置 |
对分栏支持有限 | 使用表格模拟多栏效果 |
📑 分节符 | 对分节符支持有限 |
分节符 API 不完整 | 已支持基础分页符,复杂分节建议在 Word 中手动设置 |
📊 长文档管理 | 不支持大纲视图、主控文档、子文档 | 这些是 Word 的高级文档管理功能 | 使用 Python 脚本实现文档拆分和合并 |
📇 索引与目录 | 目录生成支持有限,不支持索引 |
对目录和索引支持不完整 | 已支持基础目录生成,索引建议在 Word 中手动创建 |
需要额外系统支持的功能
功能类别 | 限制说明 | 技术原因 | 替代方案 |
🏢 企业级功能 | 不支持品牌模板管理、批量文档生成、工作流集成 | 这些是高级业务功能,需要额外开发 | 使用 Python 脚本实现批量处理逻辑 |
☁️ 在线协作 | 不支持 OneDrive、SharePoint 集成 | 需要 Microsoft 365 API 集成 | 使用本地文件系统或第三方云存储 |
🌐 多语言支持 | 不支持自动翻译和多语言校对 | 需要集成翻译 API | 使用第三方翻译服务 |
📊 文档分析 | 不支持可读性分析、关键词提取等高级分析 | 需要 NLP 库支持 | 使用 Python NLP 库(如 spaCy、NLTK)实现 |
已完整支持的核心功能 ✅
尽管存在上述限制,本项目已完整实现以下功能,足以满足绝大多数办公自动化场景:
✅ 工作簿与工作表管理:创建、打开、保存、复制、保护
✅ 数据操作:单元格读写、批量数据处理、数据清除
✅ 公式与函数:100+ 常用函数(SUM、VLOOKUP、IF 等)
✅ 数据格式化:字体、颜色、对齐、边框、条件格式
✅ 数据排序与筛选:多列排序、按颜色排序、自动筛选
✅ 图表创建:柱状图、折线图、饼图、散点图、组合图、趋势线
✅ 行列操作:插入、删除、隐藏、调整大小、复制、移动
✅ 数据导入导出:CSV、JSON、PDF、HTML 格式互转
✅ 打印设置:页面设置、页边距、打印区域、分页符
✅ 数据分析:描述性统计、回归分析、方差分析、t检验、趋势预测
✅ 协作功能:批注添加、查看、删除
✅ 安全功能:工作簿加密、单元格锁定、数据脱敏
✅ 批量处理:批量文件处理、工作簿合并、报表自动化
✅ 文档基础操作:创建、打开、保存、插入文本、添加标题、分页符
✅ 文本编辑与格式化:字体设置、字符样式、段落格式、列表格式、正则表达式查找替换(新增)
✅ 特殊字符:插入 40+ 种特殊字符(版权、商标、数学符号、箭头、货币符号等)(新增)
✅ 样式与主题:应用内置样式、创建自定义段落样式、列出所有样式(新增)
✅ 表格操作:创建表格、填充数据、读取数据、插入/删除行列、合并单元格、格式化、表格排序、数据导入(新增)
✅ 图片与多媒体:从文件/URL 插入图片、完整的大小和对齐控制(新增)
✅ 页眉页脚与页码:添加页眉页脚、插入页码、首页不同、奇偶页不同(新增)、插入日期时间域(新增)
✅ 目录与引用:生成目录
✅ 书签与超链接:添加/删除书签、添加/编辑/删除超链接、批量更新超链接(新增)
✅ 文档元数据:获取和设置文档属性(作者、标题、主题、关键词等)(新增)
✅ 内容提取:提取文本、段落、表格数据、图片信息、超链接、文档统计
✅ 导出功能:导出为 PDF、HTML、TXT、Markdown、RTF
✅ 批量操作:批量替换文本、批量应用样式、批量转换格式(新增)、批量添加页眉页脚(新增)、批量插入内容(新增)
✅ 高级功能:邮件合并、文档合并、文档拆分、多级列表(新增)
✅ 演示文稿管理:创建、打开、保存、获取信息
✅ 幻灯片操作:添加、删除、移动、复制、布局设置
✅ 文本处理:文本框插入、字符格式、段落格式、项目符号
✅ 图片操作:图片插入、大小调整、位置设置
✅ 表格功能:表格创建、数据填充、单元格合并、格式化
✅ 形状绘制:矩形、椭圆、三角形、箭头、圆角矩形
✅ 图表创建:柱状图、折线图、饼图、条形图、面积图
✅ 样式设置:主题应用、背景设置、过渡效果
✅ 演讲者备注:添加、获取、编辑备注
✅ 超链接:网页链接、幻灯片链接、文件链接、邮箱链接
✅ 批量操作:批量设置过渡、批量添加页脚
✅ 内容提取:提取文本、标题、备注、图片信息、超链接(新增)
✅ 导出功能:导出为 PDF(需 PowerPoint 应用)、HTML
💡 使用建议
Excel 使用建议
日常办公自动化:本项目完全满足需求,无需担心功能限制
数据分析场景:已提供丰富的统计分析工具,可替代 Excel 的大部分分析功能
复杂 VBA 宏:建议改用 Python 脚本实现,更易维护和跨平台
企业级数据建模:推荐使用专业 BI 工具(如 Power BI、Tableau)或 Python 数据分析栈
PowerPoint 使用建议
演示文稿创建与编辑:核心功能完整,满足日常演示需求
复杂动画效果:建议在 PowerPoint 中手动添加,或使用基础动画效果
多媒体内容:音频/视频需在 PowerPoint 中手动添加
SmartArt 图形:可使用形状组合实现类似效果
批量处理:利用 Python 脚本实现批量演示文稿生成和处理
内容分析:使用新增的内容提取功能分析演示文稿结构
Word 使用建议
日常文档处理:核心功能完整,满足绝大多数文档创建和编辑需求
文本编辑增强:使用正则表达式查找替换功能处理复杂文本模式
样式管理:创建自定义样式实现文档格式统一,提高效率
批量处理:利用批量操作功能处理多个文档,节省时间
内容提取:使用内容提取功能分析文档结构和数据
脚注与交叉引用:这些功能受限,建议在 Word 中手动添加
文档保护:使用 PDF 格式或在 Word 中手动设置保护
复杂域代码:基础日期时间域已支持,复杂域建议在 Word 中手动添加
📊 功能覆盖率
Office 应用 | 功能类别 | 覆盖率 | 说明 |
📊 Excel | 核心办公功能 | 95%+ | 工作簿、数据、格式、公式、图表等 |
📊 Excel | 数据分析功能 | 90%+ | 统计分析、预测分析、数据可视化 |
📊 Excel | 协作与安全 | 70% | 批注、加密、权限控制(不含共享工作簿) |
📊 Excel | 高级专有功能 | 20% | VBA、Power Query、Power Pivot 等 |
📊 Excel | 整体覆盖率 | ✅ 85%+ | 满足绝大多数办公自动化需求 |
🎨 PowerPoint | 核心演示功能 | 90%+ | 幻灯片管理、文本、图片、表格、图表 |
🎨 PowerPoint | 样式与设计 | 60% | 主题、背景、过渡(动画支持有限) |
🎨 PowerPoint | 内容提取 | 100% | 文本、标题、备注、图片、超链接提取 |
🎨 PowerPoint | 高级专有功能 | 10% | SmartArt、音视频、母版、企业级功能 |
🎨 PowerPoint | 整体覆盖率 | ✅ 60%+ | 满足日常演示文稿创建和编辑需求 |
📄 Word | 核心文档功能 | 95%+ | 文档创建、编辑、格式化、表格、图片(新增功能) |
📄 Word | 文本编辑增强 | 90%+ | 正则表达式、特殊字符、多级列表(新增) |
📄 Word | 样式与格式 | 75% | 内置样式、自定义样式、主题(部分支持) |
📄 Word | 内容提取 | 100% | 文本、表格、图片、超链接、元数据提取 |
📄 Word | 批量操作 | 85%+ | 批量转换、批量格式化、批量插入(新增) |
📄 Word | 高级专有功能 | 20% | 脚注、交叉引用、修订跟踪、VBA 宏等 |
📄 Word | 整体覆盖率 | ✅ 70%+ | 满足日常文档处理需求,新增 15+ 工具 |
🎯 项目整体 | 综合覆盖率 | ✅ 75%+ | 覆盖三大 Office 应用的核心功能 |
🚀 快速开始
前置要求
Python: 3.10 或更高版本(推荐 3.11+)
操作系统: Windows 10/11, macOS 10.15+, 或 Linux
AI 客户端: Claude Desktop, Cursor, 或其他支持 MCP 的客户端
安装步骤
方式一:使用 pip(推荐)
方式二:使用 uv(更快)
方式三:使用 uvx(无需安装)
🛠️ 技术栈
组件 | 技术 | 版本 | 说明 |
运行环境 | Python | 3.10+ | 推荐 3.11 或 3.12 |
MCP SDK | FastMCP | 最新版 | 简化 MCP 开发 |
Word | python-docx | 1.1.0+ | ✅ 支持读写 |
Excel | openpyxl | 3.1.0+ | ✅ 支持读写 |
PowerPoint | python-pptx | 0.6.23+ | ✅ 支持读写 |
reportlab | 4.0+ | PDF 生成 | |
图像 | Pillow | 10.0+ | 图像处理 |
📦 项目结构
⚙️ 客户端配置
Cursor 编辑器
打开 MCP 设置:
Ctrl+Shift+P→View: Open MCP Settings编辑配置文件(Windows:
%APPDATA%\Cursor\mcp.json)
Claude Desktop
编辑配置文件(Windows: %APPDATA%\Claude\claude_desktop_config.json)
使用 uvx(推荐)
💡 使用示例
示例 1: 创建 Word 文档
用户指令:
AI 自动调用:
示例 2: 生成 Excel 报表
用户指令:
AI 自动调用:
示例 3: 制作 PowerPoint 演示
用户指令:
AI 自动调用:
🧪 测试
📚 文档
技术方案设计 - 完整的技术架构和实现方案
开发计划 - 详细的开发路线图
服务集成指南 - 客户端集成指南
Word 功能说明 - Word 功能详细说明
Excel 功能说明 - Excel 功能详细说明
PowerPoint 功能说明 - PowerPoint 功能详细说明
🤝 贡献
欢迎贡献代码、报告问题或提出建议!
Fork 本仓库
创建特性分支 (
git checkout -b feature/AmazingFeature)提交更改 (
git commit -m 'Add some AmazingFeature')推送到分支 (
git push origin feature/AmazingFeature)开启 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件
🙏 致谢
Anthropic - MCP 协议开发者
python-docx - Word 文档处理库
openpyxl - Excel 表格处理库
python-pptx - PowerPoint 演示处理库
📞 联系方式
问题反馈: https://github.com/your-username/office-mcp-server/issues
讨论区: https://github.com/your-username/office-mcp-server/discussions
⭐ 如果这个项目对你有帮助,请给个 Star!
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
AI-powered Office automation server that enables creating, editing, and processing Word, Excel, and PowerPoint documents through natural language instructions using Python-based libraries.