关于 MCP Server for PowerPoint
PptMcp 是一个面向 Microsoft PowerPoint 的 MCP 服务,让 AI 助手通过自然语言完成幻灯片、形状、文本、图表等自动化操作。它通过 Windows COM API 控制实际运行的 PowerPoint 程序,仅适用于 Windows 桌面环境,并需已安装 PowerPoint 2016 或更高版本。
主要功能
- 01通过 COM API 操作 PowerPoint 实例
- 02覆盖幻灯片、形状、文本、表格与图表
- 03支持主题、母版、版式与动画设置
- 04支持导出 PDF、幻灯片图片与 MP4 视频
- 05提供命令行 CLI 与 MCP 服务两种接口
适用场景
- 01根据自然语言指令批量生成季度报告幻灯片
- 02更新模板中的文本、图表与表格数据
- 03在 PowerPoint 中实时观察 AI 的操作过程
MCP 相关
该项目作为 MCP 服务运行,向 MCP 客户端暴露 33 个工具(共 224 项操作),用于控制 PowerPoint 演示文稿。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
PptMcp - Microsoft PowerPoint 的 MCP 服务
安装徽章会将服务注册为
ppt-mcp,并通过mcp-ppt命令运行。请先使用dotnet tool install --global PptMcp.McpServer安装工具,否则客户端将无可启动的程序。
借助 AI 自动化 PowerPoint — 通过对话式 AI 全面自动化 PowerPoint 的模型上下文协议(MCP)服务。
PptMcp 可让 GitHub Copilot、Claude 和 ChatGPT 等 AI 助手通过自然语言命令自动化 Microsoft PowerPoint。它涵盖完整的演示文稿工作流程:创建幻灯片、编辑文本、放置形状和图像、制作图表和表格、应用主题、运行 VBA、导出为 PDF 或视频,以及通过原生 COM API 安全地管理正在运行的 PowerPoint 窗口。
**项目起源与致谢:**本项目基于 Stefan Broenner (sbroenne) 在 mcp-server-excel 中创建的原始 MCP 自动化基础,并在此基础上扩展为完整的 PowerPoint 专用工具链。
发行版与软件包:GitHub Releases | NuGet:PptMcp.McpServer | NuGet:PptMcp.CLI
对于从源代码进行的多阶段构建/验证/修复工作流程,仓库还在 src\PptMcp.Agent 下提供了官方编排客户端。
🛡️ 100% 安全 — 使用 PowerPoint 原生 COM API — 零文件损坏风险。使用 PowerPoint 官方 COM API,确保完全安全且兼容。
💡 交互式开发 — 在 PowerPoint 中即时查看结果。添加幻灯片、创建图表、设置文本格式并不断迭代。让 PowerPoint 成为你的 AI 驱动工作空间。
技术要求:
- ⚠️ 仅限 Windows — COM 互操作仅适用于 Windows
- ⚠️ 需要 PowerPoint — 必须安装 Microsoft PowerPoint 2016 或更高版本
- ⚠️ 桌面环境 — 控制实际的 PowerPoint 进程(不适用于服务器端处理)
🎯 你可以做什么
33 个专用工具,包含 224 项操作:
- 📁 文件(1 个工具,6 项操作)— 打开、关闭、创建、保存、列出和验证演示文稿
- 📄 幻灯片(1 个工具,15 项操作)— 创建、复制、移动、删除幻灯片,应用版式、隐藏/取消隐藏、生成缩略图、克隆并替换
- 🔷 形状(1 个工具,35 项操作)— 添加、移动、调整大小、设置填充、渐变、线条、阴影、发光、倒影、不透明度、3D、旋转、Z 顺序、分组、连接符、合并、翻转、缩放
- ✏️ 文本(1 个工具,18 项操作)— 获取/设置文本、查找、替换、格式设置、间距、项目符号、大小写、符号、替代文本审查
- 📋 幻灯片表格(1 个工具,13 项操作)— 创建、读写单元格和行、添加/删除行和列、合并、格式设置、边框
- 📊 图表(1 个工具,10 项操作)— 创建、设置数据、标题、类型、图例、坐标轴标题、数据表
- 🖼️ 图像(1 个工具,4 项操作)— 插入、裁剪、亮度/对比度、透明颜色
- 🎥 媒体(1 个工具,4 项操作)— 插入音频/视频、媒体信息、播放设置
- 🧩 SmartArt(1 个工具,6 项操作)— 图示信息、添加/删除节点、版式、样式、级别更改
- 🎨 设计/主题(1 个工具,19 项操作)— 主题、配色方案、字体、原型、调色板、布局网格、样式配置
- 🖌️ 幻灯片背景(1 个工具,5 项操作)— 获取、纯色、渐变、图像、重置为母版
- 🎭 母版和版式(1 个工具,5 项操作)— 列出母版和版式、编辑母版形状、删除未使用项
- 📌 占位符(1 个工具,3 项操作)— 列出占位符、设置文本、设置图像
- 📃 页眉和页脚(1 个工具,2 项操作)— 获取/设置页脚文本、幻灯片编号、日期
- 📐 页面设置(1 个工具,3 项操作)— 幻灯片大小、方向、起始幻灯片编号
- ↔️ 形状对齐(1 个工具,2 项操作)— 对齐和分布幻灯片上的形状
- 🎬 动画(1 个工具,6 项操作)— 列出、添加、移除、清除、设置计时、重新排序
- 🔀 切换效果(1 个工具,4 项操作)— 获取、设置、移除、应用到所有幻灯片
- 📺 幻灯片放映(1 个工具,5 项操作)— 开始、停止、导航、状态、配置
- 🎞️ 自定义放映(1 个工具,3 项操作)— 创建、列出、删除自定义幻灯片放映
- 📂 节(1 个工具,4 项操作)— 列出演示文稿的节、添加、重命名、删除节
- 📥 导入幻灯片(1 个工具,1 项操作)— 从其他 .pptx 文件导入幻灯片
- 📝 备注(1 个工具,5 项操作)— 获取、设置、清除、追加、读取所有演讲者备注
- 💬 评论(1 个工具,4 项操作)— 添加、列出、删除、清除幻灯片评论
- 🔗 超链接(1 个工具,5 项操作)— 添加、获取、列出、移除、验证超链接
- 🏷️ 标签(1 个工具,3 项操作)— 为幻灯片和形状添加自定义元数据
- 🗂️ 文档属性(1 个工具,4 项操作)— 获取/设置内置和自定义属性
- ♿ 无障碍(1 个工具,3 项操作)— 审查、获取/设置阅读顺序
- 🔤 校对(1 个工具,3 项操作)— 拼写检查、获取/设置语言
- 📤 导出(1 个工具,9 项操作)— PDF、幻灯片图像、视频(MP4)、打印、另存为、提取文本/图像
- 🖨️ 打印选项(1 个工具,2 项操作)— 获取/设置打印配置
- ⚙️ VBA(1 个工具,5 项操作)— 列出、查看、导入、删除、运行宏
- 🪟 窗口(1 个工具,7 项操作)— 信息、最小化、还原、最大化、缩放、视图模式
📚 完整功能参考 → — 224 项操作的详细文档
💬 示例提示词
创建并制作演示文稿:
- "创建一个名为 QuarterlyReport.pptx 的新 PowerPoint 演示文稿,并添加标题幻灯片"
- "添加 5 张采用“标题和内容”版式的幻灯片"
- "在第一张幻灯片中插入公司徽标图片"
内容与格式设置:
- "在第 2 张幻灯片上添加一个文本框,文本为“Q1 Revenue Summary”,使用粗体 24pt Arial"
- "在第 3 张幻灯片上创建一个表格,列标题为 Region、Q1、Q2、Q3、Q4"
- "将形状填充颜色设置为 #0078D4,并添加 2pt 边框"
图表与视觉效果:
- "在第 4 张幻灯片上创建一个显示季度收入数据的柱状图"
- "将图表标题设置为“Revenue by Quarter”"
- "为图表形状添加进入动画"
自动化:
- "将演示文稿导出为 PDF"
- "运行 FormatAllSlides 宏"
- "在你工作时显示 PowerPoint" — 实时查看更改
🪟 Agent 模式 — 查看 AI 在 PowerPoint 中工作:
- "在你制作此演示文稿时并排显示 PowerPoint" — 实时查看
- "创建幻灯片时让我观看"
- 状态栏会显示实时进度:"PptMcp: 正在第 4 张幻灯片上创建图表..."
👥 适合哪些用户?
非常适合:
- ✅ 演示者:自动化重复的 PowerPoint 工作流
- ✅ 开发者:构建基于 PowerPoint 的报告解决方案
- ✅ 业务用户:管理复杂的演示文稿
- ✅ 团队:维护演示文稿模板和 VBA 宏
不适合:
- ❌ 服务端处理(请改用 Open XML SDK 等库)
- ❌ Linux/macOS 用户(需要安装 Windows 和 PowerPoint)
- ❌ 大批量操作(请考虑无需 PowerPoint 的替代方案)
🚀 快速开始
| 平台 | 安装 |
|---|---|
| 任何 MCP 客户端(无需 .NET) | npx -y mcp-server-ppt |
| 任何 MCP 客户端(.NET 工具) | dotnet tool install --global PptMcp.McpServer |
| 详情 | 📖 安装指南 |
⚠️ 重要: 使用前请关闭所有 PowerPoint 文件。自动化过程中,服务需要独占访问演示文稿。
🔧 CLI 与 MCP 服务
此软件包同时提供 CLI 和 MCP 服务接口。请根据使用场景进行选择:
| 接口 | 适用场景 | 原因 |
|---|---|---|
CLI(pptcli) | 编码 Agent(Copilot、Cursor、Windsurf) | 使用更少的令牌 — 单个工具,无需大型架构。 |
| MCP 服务 | 对话式 AI(Claude Desktop、VS Code Chat) | 工具发现功能丰富,连接持久。 |
手动安装:
# Install MCP Server and CLI
dotnet tool install --global PptMcp.McpServer
dotnet tool install --global PptMcp.CLI
未安装 .NET: MCP 服务也已发布到 npm,作为一个封装程序,可在首次使用时下载独立构建版本。将任何客户端指向 npx -y mcp-server-ppt,而不是 mcp-ppt。仅支持 Windows x64。
Windows 包管理器(首次提交待处理): 每个版本现在都会构建独立的 pptcli 压缩包(附带 SHA256),并生成可直接提交的 winget 和 Chocolatey 清单(参见 packaging/)。这些条目尚未上线,因此在首次提交获批前,以下命令将无法解析 — 进度见 #112。
# Not available yet - listed here so the intended install path is documented
winget install trsdn.pptcli
choco install pptcli
这两个软件包都会将 .NET 9 Desktop Runtime 作为依赖项,因为压缩包采用依赖框架的构建方式。两者都无法安装 Microsoft PowerPoint,而 PowerPoint 仍是必备条件。
🤖 可选:官方 Agent 客户端(从源代码构建)
对于较大的演示文稿构建任务,此仓库还提供了官方的源端控制器:src\PptMcp.Agent。
它有意不作为第三种服务端接口,而是位于 MCP 服务之上,运行一个客户端循环:
- 规划演示文稿
- 通过常规的顺序 MCP 工具调用来执行
- 验证生成的演示文稿
- 必要时修复不完整的输出
快速入门:
dotnet build src\PptMcp.McpServer\PptMcp.McpServer.csproj -c Release
Set-Location src\PptMcp.Agent
npm install
npm run check
npm test
node .\src\cli.mjs run `
--task "Build a 5-slide executive deck on Q4 revenue performance and next actions." `
--output "C:\Users\you\Documents\q4-revenue-deck.pptx"
了解更多:
⚙️ 工作原理 — COM 自动化与统一服务架构
PptMcp 使用 Windows COM 自动化来控制实际的 PowerPoint 应用程序(而不只是 .pptx 文件)。
MCP 服务端和CLI都会与共享的 PptMcp 服务通信,由它管理 PowerPoint 会话。这种统一架构具有以下优势:
┌─────────────────────┐ ┌─────────────────────┐
│ MCP Server │ │ CLI (pptcli) │
│ (AI assistants) │ │ (coding agents) │
└─────────┬───────────┘ └─────────┬───────────┘
│ │
└──────────┬────────────────┘
▼
┌─────────────────────────┐
│ PptMcp Service │
│ (shared session mgmt) │
└─────────┬───────────────┘
▼
┌─────────────────────────┐
│ PowerPoint COM API │
│ (PowerPoint.Application)│
└─────────────────────────┘
主要优势:
- ✅ 共享会话 — CLI 和 MCP 服务端可以访问同一批已打开的演示文稿
- ✅ 单个 PowerPoint 实例 — 不会产生重复进程或文件锁
- ✅ 系统托盘 UI — 通过 PptMcp 托盘图标监控活动会话
💡 提示:在 AI 工作时查看 PowerPoint 默认情况下,PowerPoint 会以隐藏模式运行,以加快自动化速度。要实时查看更改,只需提出以下要求:
- “在你工作时显示 PowerPoint”
- “让我看看你在做什么”
- “打开 PowerPoint,让我看看更改”
AI 会显示 PowerPoint 窗口,让你实时查看每一步操作!
📋 更多信息
📚 CLI 指南 → | MCP 服务端指南 → | Agent 客户端 → | 评测框架 → | 原型流程 → | 所有 Agent 技能 →
许可证: MIT License - 详见 LICENSE 文件
贡献: 贡献指南请参阅 CONTRIBUTING.md
构建方式: 整个项目均在 GitHub Copilot AI 辅助下开发,主要使用 Claude,近期则使用 Auto-mode。
🔒 隐私政策
PptMcp 完全在你的计算机上运行,不会收集任何数据。
| 数据收集 | 无。不进行遥测、分析或崩溃报告。 |
| 使用和存储 | 演示文稿由同一台计算机上的 PowerPoint 安装程序在本地打开、编辑和保存。本软件绝不会上传幻灯片内容、演讲者备注、嵌入数据或文件路径。 |
| 第三方共享 | 本软件不会与第三方共享数据。启动时会发出一次出站请求——向 api.nuget.org 发送普通的 GET 请求,以检查是否有更新版本。该请求不会发送关于你、你的文件或使用情况的任何数据。可通过 PPTMCP_NO_UPDATE_CHECK=1 禁用此功能。 |
| 数据保留 | 不保留任何数据,因为不会收集任何数据。 |
| 联系 | 提交问题 |
有一点需要明确说明:PptMcp 通常由 AI 助手驱动。该助手发送给其自身模型提供商的任何内容,均受该助手自身的隐私政策约束,而非本隐私政策。
📄 完整隐私政策 →
致谢:
- Microsoft PowerPoint Team — 感谢提供全面的 COM 自动化 API
- Model Context Protocol 社区 — 感谢制定 AI 集成标准
- 开源社区 — 感谢提供灵感和最佳实践
相关项目
Stefan Broenner 的上游项目:
- mcp-server-excel(上游项目) — Stefan Broenner 开发的原始 Excel MCP 服务端
- pytest-aitest — 面向 AI Agent 的大模型驱动测试框架
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。