让AI帮你自动制作PPT的工具Office-PowerPoint-MCP-Server


项目简介

一个基于python-pptx的PowerPoint综合操作MCP(模型上下文协议)服务器。2.0版本提供32个强大工具,分为11个专业模块,实现完整的PowerPoint创建、管理和专业设计能力。该服务器采用模块化架构,具有增强的参数处理、智能操作选择和全面的错误处理功能。




示例

提示词


输出结果


演示GIF -> (./public/demo.mp4)


功能特性

核心PowerPoint操作

  • 完整支持所有Open XML演示文稿(.pptx文件)的往返编辑
  • 模板支持自动保留主题和版式
  • 多演示文稿管理带全局状态跟踪
  • 核心文档属性管理(标题、主题、作者、关键词、注释)

内容创建与管理

  • 幻灯片管理支持灵活版式选择
  • 文本操作包括占位符填充和项目符号创建
  • 高级文本格式化支持字体、颜色、对齐和样式控制
  • 文本验证带自动适配检查和优化建议

视觉元素

  • 图片处理支持文件和base64格式输入
  • 图片增强使用Pillow提供亮度、对比度、饱和度和滤镜控制
  • 专业图片特效包括阴影、倒影、发光和柔化边缘
  • 形状创建支持20+种自动形状类型(矩形、椭圆、流程图元素等)
  • 表格创建带高级单元格格式和样式

图表与数据可视化

  • 图表支持柱状图、条形图、折线图和饼图
  • 数据系列管理支持多类别和多系列
  • 图表格式化包括图例、数据标签和标题

专业设计功能

  • 4套专业配色方案(现代蓝、商务灰、典雅绿、温暖红)
  • 专业排版使用Segoe UI字体家族和预设字号
  • 主题应用跨演示文稿自动应用样式
  • 渐变背景支持自定义方向和配色方案
  • 幻灯片增强现有内容优化工具
  • 25个内置幻灯片模板带动态尺寸和视觉效果
  • 高级模板功能包括自动换行、动态字体大小和专业动画

安装指南

通过Smithery安装

使用Smithery为Claude Desktop自动安装:

ounter(linenpx -@smithery/cli install @GongRzhe/Office-PowerPoint-MCP-Server --client claude

先决条件

  • Python 3.6或更高版本
  • pip包管理器
  • 可选: uvx用于无需本地安装的运行

安装选项

选项1: 使用安装脚本(推荐)

ounter(linepython setup_mcp.py

选项2: 手动安装

  1. 克隆仓库:

    git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.gitcd Office-PowerPoint-MCP-Server


  2. 安装依赖:

    pip install -r requirements.txt


  3. 使服务器可执行:

    chmod +x ppt_mcp_server.py

使用说明

启动服务器

标准IO服务器:

ounter(linepython ppt_mcp_server.py

HTTP服务器(端口8000):

ounter(linepython ppt_mcp_server.py --transport http --port 8000

Docker运行:

ounter(lineounter(linedocker build -t ppt_mcp_server .docker run -d --rm -p 8000:8000 ppt_mcp_server -t http

2.0版新特性

综合工具套件(32个工具)

  • 11个组织模块覆盖演示文稿创建全流程
  • 增强参数处理带全面验证
  • 智能默认值和基于操作的接口

内置幻灯片模板

  • 25+专业幻灯片模板内置动态功能
  • 高级模板系统带自动生成能力
  • 自动调整文本适应内容长度和容器大小
  • 专业视觉效果包括阴影、发光和渐变
  • 完整演示文稿生成从模板序列

模块化架构

  • 11个专业模块: 演示文稿、内容、结构、专业设计、模板等工具
  • 更好维护性通过关注点分离
  • 更易扩展便于添加新功能
  • 更清晰代码结构带共享工具

可用工具

服务器提供32个专业工具,分为以下类别:

演示文稿管理(7个工具)

  1. create_presentation – 创建新演示文稿
  2. create_presentation_from_template – 从模板创建并保留主题
  3. open_presentation – 打开现有演示文稿
  4. save_presentation – 保存演示文稿到文件
  5. get_presentation_info – 获取演示文稿综合信息
  6. get_template_file_info – 分析模板文件和版式
  7. set_core_properties – 设置文档属性

内容管理(6个工具)

  1. add_slide – 添加带可选背景样式的幻灯片
  2. get_slide_info – 获取幻灯片详细信息
  3. populate_placeholder – 用文本填充占位符
  4. add_bullet_points – 添加格式化项目符号
  5. manage_text – ✨ 统一文本工具(添加/格式化/验证)
  6. manage_image – ✨ 统一图片工具(添加/增强)

模板操作(7个工具)

  1. list_slide_templates – 浏览可用幻灯片布局模板
  2. apply_slide_template – 将结构化布局模板应用到现有幻灯片
  3. create_slide_from_template – 使用布局模板创建新幻灯片
  4. create_presentation_from_templates – 从模板序列创建完整演示文稿
  5. get_template_info – 获取特定模板的详细信息
  6. auto_generate_presentation – 基于主题自动生成演示文稿
  7. optimize_slide_text – 优化文本元素提高可读性和适配性

模板支持

专业配色方案

服务器包含4套内置专业配色方案:

  • 现代蓝: 微软风格蓝色主题带互补色
  • 商务灰: 专业灰阶主题带蓝色强调色
  • 典雅绿: 森林绿主题带米色和浅绿强调色
  • 温暖红: 深红主题带橙色和黄色强调色

每个方案包含优化用于商务演示文稿的主色、辅色、强调色、浅色和文本颜色。

文件结构

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineOffice-PowerPoint-MCP-Server/├── ppt_mcp_server.py          # 主服务器(v2.0)├── slide_layout_templates.json # 25+专业幻灯片模板├── tools/                     # 11个专业工具模块(共32工具)│   ├── __init__.py│   ├── presentation_tools.py  # 演示文稿管理(7工具)│   ├── content_tools.py       # 内容与幻灯片(6工具)│   ├── template_tools.py      # 模板操作(7工具)│   ├── structural_tools.py    # 表格、形状、图表(4工具)│   ├── professional_tools.py  # 主题、效果、字体(3工具)├── utils/                     # 7个工具模块(68+函数)│   ├── __init__.py│   ├── core_utils.py          # 错误处理和安全操作│   ├── presentation_utils.py  # 演示文稿管理工具│   ├── content_utils.py       # 内容和幻灯片操作│   ├── design_utils.py        # 主题、颜色、效果和字体│   ├── template_utils.py      # 模板管理和动态功能│   └── validation_utils.py    # 文本和布局验证├── setup_mcp.py              # 交互式安装脚本├── pyproject.toml            # v2.0更新└── README.md                 # 本文档

项目地址

https://github.com/GongRzhe/Office-PowerPoint-MCP-Server/blob/main/README.md



扫码加入技术交流群,备注「开发语言-城市-昵称

(文:GitHubStore)

发表评论