PowerPoint自动化服务器

一款开源的PowerPoint自动化服务器,支持实时编辑、LaTeX渲染和模板驱动设计,专为Windows平台设计。

  • by Ayushmaniar
  • Python
  • 本地部署
  • 123 星标
  • 更新于
在 GitHub 查看 Ayushmaniar/powerpoint-mcp

使用说明

PowerPoint MCP服务器

用于PowerPoint自动化的最佳开源MCP服务器。免费,无订阅,无积分。

由一名加州大学圣地亚哥分校的研究生建造,他厌倦了每周花3-4个小时做演讲。

语言


演示视频

观看克劳德从头开始构建一个完整的“傅里叶变换和傅里叶级数”讲座,包括方程式、图表和动画。


仅限Windows

此MCP服务器仅在Windows上工作 因为它使用 pywin32 COM自动化,直接控制PowerPoint应用程序。这就是实现双向读/写访问、实时编辑、LaTeX渲染、模板和动画的原因。

macOS/Linux替代品,如 python-pptx 无法访问完整的PowerPoint功能集。欢迎使用基于AppleScript的macOS版本的PR。


为什么这不一样

市面上有很多PowerPoint自动化工具。以下是为什么这个实际上值得使用:

模板优先设计 将LLM指向您所需的模板,它就会正常工作。告诉克劳德: “使用我们公司的Nvidia_Black_Green_2025模板制作GPU性能比较演示文稿” -它发现模板,分析其布局,并正确填充它们。

实际上是双向和实时的 不像 python-pptx (只写)或其他流行的MCP实现,这使用COM自动化。Claude可以阅读您现有的演示文稿并实时编辑,而无需先关闭PowerPoint。

多模态滑动分析 这 slide_snapshot 该工具为LLM提供了视觉上下文(带注释边界框的屏幕截图)和详细的文本/图表/表格提取。克劳德可以看到你幻灯片上的内容。

真正有效的LaTeX渲染 服务器通过直接控制PowerPoint的内置方程编辑器来呈现LaTeX方程。写吧 <latex>E=mc^2</latex> 并且它显示为本机PowerPoint方程式对象。

保存标记的HTML格式 通过HTML标签显示粗体、斜体、颜色和项目符号(<b>, <i>, <red>, <ul>, <ol>).一次格式化过程,无需重复调用工具分别应用字体和颜色。

带有渐进式披露的动画 真正可控的PowerPoint动画,包括段落级入口效果。一个项目一个项目地揭示了开箱即用的工作——不需要将内容拆分为多个形状。

一行安装,无订阅

claude mcp add powerpoint -- uvx powerpoint-mcp

适用于Claude Code、Cursor、GitHub Copilot或任何MCP客户端。没有第三方服务,没有月费,没有到期信用。

11个重点工具,而不是30个+ 法学硕士决策瘫痪是真实的。每个工具都有明确的目的和合理的默认值,所以克劳德花时间构建你的演示文稿,而不是弄清楚该调用哪个工具。


实际工作流程

这些是在生产中测试的实际工作流程:

研究与创造

“研究量子计算的最新发展,然后制作一个15张幻灯片的演示文稿”

克劳德使用网络搜索来查找来源,然后用引文和格式化内容构建数据库。

数据分析和可视化

分析Titanic_dataset.csv,执行详细的EDA,并做一个演示来解释研究结果

自由形式的Python/matplotlib绘图,直接渲染到幻灯片占位符中。

代码库文档

“分析我的整个存储库并创建技术架构演示文稿”

Claude阅读您的本地文件,理解其结构,并生成解释系统的幻灯片。

模板驱动的企业甲板

“使用Nvidia_Black_Green_template从Nvidia_quarterly_sales_data.csv创建第4季度销售演示文稿”

模板布局会自动发现,占位符会被正确识别和填充。

学术LaTeX重

“做一个20张幻灯片的讲座,教授傅里叶级数和方程傅里叶变换”

从LaTeX渲染的原生PowerPoint方程式对象,带有渐进式披露的动画。

互动式教学法

“帮助我理解我在计算生物学课程中关于PAM和BLOSUM矩阵的演示,解释每张幻灯片,并在每节课后对我进行测验”

克劳德阅读你的幻灯片(包括图表、表格和演讲者笔记),解释内容,并创建一个互动测验。


快速开始

步骤1:安装

claude mcp add powerpoint -- uvx powerpoint-mcp

第二步:打开PowerPoint 打开Microsoft PowerPoint(任何演示文稿,或只是空白的开始屏幕)。

第三步:给克劳德一个命令

Make a 10-slide presentation on machine learning fundamentals using my company template.
Add equations where relevant and animate the bullet points on each slide.

就是这样,剩下的由克劳德处理。


安装

先决条件

  • Windows 10/11
  • 已安装Microsoft PowerPoint
  • Python 3.10+

克劳德代码

# Single project
claude mcp add powerpoint -- uvx powerpoint-mcp

# Available across all projects (install once, use everywhere)
claude mcp add powerpoint --scope user -- uvx powerpoint-mcp

光标

  1. 单击设置->工具和MCP->新建MCP服务器
  2. ~/.cursor/mcp.json 将打开
  3. 添加以下内容:
{
  "mcpServers": {
    "powerpoint": {
      "command": "uvx",
      "args": ["powerpoint-mcp"]
    }
  }
}
  1. 配置后重新启动IDE。

崔

  1. 创建 .trae/mcp.json 在项目根目录中
  2. 添加以下内容:
{
  "mcpServers": {
    "powerpoint": {
      "command": "uvx",
      "args": ["powerpoint-mcp"]
    }
  }
}
  1. 配置后重新启动Trae,并使用启用MCP的代理模式

带来CN

  1. Trae CN目前支持相同的项目级别 .trae/mcp.json 格式
  2. 添加以下内容 .trae/mcp.json 在项目根目录中:
{
  "mcpServers": {
    "powerpoint": {
      "command": "uvx",
      "args": ["powerpoint-mcp"]
    }
  }
}
  1. 配置后重新启动Trae CN,并使用启用MCP的代理模式,如带有MCP/SOLO Coder的Builder(如果您的构建中可用)

法典

此服务器仅适用于Windows,因此在Windows PowerShell上使用:

codex mcp add powerpoint -- cmd /c uvx powerpoint-mcp

添加后,重新启动Codex CLI或运行 /mcp 以验证服务器是否可用。

代码伙伴

  1. 在侧边栏聊天面板中,单击CodeBuddy设置按钮
  2. 打开MCP选项卡
  3. 单击添加MCP
  4. 添加以下JSON:
{
  "mcpServers": {
    "powerpoint": {
      "type": "stdio",
      "command": "uvx",
      "args": ["powerpoint-mcp"],
      "description": "PowerPoint automation on Windows"
    }
  }
}
  1. 保存配置,然后使用“尝试运行”或从代理调用它

代码伙伴中国

  1. 在侧栏对话面板右上方点击 CodeBuddy Settings
  2. 切换到 MCP 标签页
  3. 点击 Add MCP
  4. 添加以下 JSON:
{
  "mcpServers": {
    "powerpoint": {
      "type": "stdio",
      "command": "uvx",
      "args": ["powerpoint-mcp"],
      "description": "PowerPoint automation on Windows"
    }
  }
}
  1. 保存配置后,可通过 Try to Run 验证,或直接在 Agent 中调用

开源代码

  1. 打开 ~/.config/opencode/opencode.json 对于全局设置,或 opencode.json 在项目根目录中进行特定于项目的设置
  2. 添加以下内容:
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "powerpoint": {
      "type": "local",
      "command": ["uvx", "powerpoint-mcp"]
    }
  }
}
  1. 配置后重新启动OpenCode。

VS代码(GitHub副本)

  1. 打开 C:\Users\Your_User_Name\AppData\Roaming\Code\User\mcp.json
  2. 添加以下内容:
{
  "mcpServers": {
    "powerpoint": {
      "command": "uvx",
      "args": ["powerpoint-mcp"]
    }
  }
}
  1. 配置后重新启动IDE。

谷歌反重力

  1. 在Antigravity中打开代理会话
  2. 点击 "..." 编辑器侧面板顶部的(点菜单)
  3. 选择 MCP服务器 → 管理MCP服务器 → 查看原始配置
    • 这将打开 mcp_config.json 直接。您还可以在以下位置手动编辑:
      • 窗户: C:\Users\<USERNAME>\.gemini\antigravity\mcp_config.json
      • macOS/Linux: ~/.gemini/antigravity/mcp_config.json
  4. 添加以下内容:
{
  "mcpServers": {
    "powerpoint": {
      "command": "uvx",
      "args": ["powerpoint-mcp"]
    }
  }
}
  1. 返回 管理MCP服务器 然后单击 刷新 以激活服务器。

工具参考

所有11个工具,每个工具都有一个明确的责任:

工具 它做什么
manage_presentation 打开、关闭、创建或保存演示文稿。任何工作流的入口点。
slide_snapshot 全面的幻灯片分析:带注释边界框的屏幕截图、文本提取、图表数据、表格解析、超链接、评论和演讲者笔记。
switch_slide 导航到活动演示文稿中的特定幻灯片编号。
add_speaker_notes 使用官方COM方法在任何幻灯片上添加或替换演讲者笔记。
populate_placeholder 用文本(HTML格式)、LaTeX方程或matplotlib图填充任何占位符。
manage_slide 在演示文稿中复制、删除或移动幻灯片。
list_templates 从个人、用户和系统模板目录中查找所有可用的PowerPoint模板。
analyze_template 使用占位符位置和屏幕截图分析模板的布局。
add_slide_with_layout 使用模板中的特定布局添加新幻灯片,保留所有模板样式。
add_animation 为具有可选段落级渐进披露的形状添加入口动画(淡入淡出、出现、飞行、擦除、缩放)。
powerpoint_evaluate 在PowerPoint上下文中执行任意Python代码以进行复杂的批处理操作。

内容格式参考

这 populate_placeholder 该工具接受HTML样式标签以实现丰富的格式:

<b>bold text</b>
<i>italic text</i>
<u>underlined text</u>
<red>colored text</red>  (also: blue, green, orange, purple, white, black)
<ul><li>unordered list item</li></ul>
<ol><li>ordered list item</li></ol>
<latex>E = mc^2</latex>

对于matplotlib绘图,直接将绘图代码作为内容传递给 content_type="plot" -服务器执行它并插入结果图像。


运作原理

PowerPoint MCP使用Windows COM自动化(pywin32)直接控制Microsoft PowerPoint,与VBA宏和Office加载项使用的机制相同。这使它可以完全访问PowerPoint的每个功能:方程式编辑器、动画引擎、模板系统和实时幻灯片阅读。

服务器构建在 FastMCP 并发表于 PyPI 便于安装 uvx.

屏幕截图会自动保存到 ~/.powerpoint-mcp/ 使用基于时间戳的文件名。


局限性

  • 仅限Windows:COM自动化是一种Windows技术。目前不支持macOS或Linux。
  • 需要PowerPoint:必须安装Microsoft PowerPoint。LibreOffice不受支持。
  • Python 3.10+:服务器运行时需要。

明星历史


完全开源(MIT许可证)。如果这能节省你的时间,GitHub上的一颗星会有很大的帮助。

github: https://github.com/Ayushmaniar/powerpoint-mcp