返回市场
幻灯片MCP服务器

幻灯片MCP服务器

作者:Weichenleeeee1232 星标更新:2025-06-28

项目介绍

PowerPoint 编辑 MCP Server

这是一个基于MCP(模型上下文协议)的PowerPoint编辑服务器,提供创建和编辑PowerPoint演示文稿的完整功能,包括内容编辑、格式设置以及专业动画效果。

✨ 最新更新

  • 🎬 新的动画系统 - 增加了多种专业的过渡动画效果
  • 🚀 一键专业化 - 快速使演示文稿变得专业
  • 🎯 智能推荐 - 优化工具描述以提高AI模型的使用效率
  • 🛠️ 便捷功能 - 简化复杂操作并提供直观的参数界面

项目结构

  • main.py - MCP服务器主程序,处理MCP协议通信
  • tool.py - PowerPoint编辑器工具类,包含所有PPT编辑功能
  • example.py - 示例用法
  • test_transitions.py - 过渡动画功能测试
  • transition_improvements_guide.md - 动画功能改进指南
  • requirements.txt - 项目依赖
  • mcp_config.json - MCP客户端配置文件

特性

基本功能

  • 创建一个新的PowerPoint演示文稿
  • 打开现有的PowerPoint文件
  • 保存演示文稿
  • 获取演示文稿信息

幻灯片操作

  • 添加新的幻灯片(支持不同的布局)
  • 删除幻灯片
  • 复制幻灯片
  • 移动幻灯片位置
  • 设置幻灯片背景颜色

内容编辑

  • 添加文本框和文本内容
  • 添加标题幻灯片
  • 添加带项目符号的内容
  • 插入图片
  • 添加各种形状(矩形、椭圆、三角形等)
  • 添加表格
  • 设置单元格文本

格式功能

  • 格式化文本(字体、大小、颜色、粗体、斜体、下划线)
  • 向形状添加超链接
  • 获取幻灯片中所有形状的详细信息

🎬 专业动画和过渡效果

  • 一键专业化 - 快速为整个演示文稿添加专业的过渡效果
  • 多种动画样式 - 包括淡入/淡出、推进、擦除、分裂、缩放、百叶窗、溶解等8种效果
  • 智能速度控制 - 提供快速、中速和慢速三种速度选项
  • 自动播放支持 - 支持自动前进和点击前进
  • 批量应用 - 一次性为所有幻灯片设置统一的动画效果
  • 便捷功能 - 提供平滑过渡和动态效果等预设选项

安装依赖

pip install -r requirements.txt

使用说明

作为MCP服务器运行

python main.py

直接使用PowerPointEditor类

from tool import PowerPointEditor

# 创建编辑器实例
editor = PowerPointEditor()

# 创建新演示文稿
editor.create_presentation()

# 添加标题幻灯片
editor.add_title_slide("我的演示文稿", "副标题")

# 保存文件
editor.save_presentation("my_presentation.pptx")

运行示例

python example.py

测试动画功能

python test_transitions.py

🎬 动画功能快速开始

from tool import PowerPointEditor

editor = PowerPointEditor()
editor.create_presentation()

# 添加几张幻灯片
editor.add_title_slide("欢迎", "我的演示文稿")
editor.add_title_slide("内容", "主要内容")
editor.add_title_slide("结束", "谢谢观看")

# 一键专业化 - 为所有幻灯片添加淡入淡出效果
editor.make_presentation_professional()

# 或者添加动感效果
# editor.add_dynamic_effects()

# 保存文件
editor.save_presentation("professional_presentation.pptx")

🛠️ 可用工具

🎬 动画和过渡工具(新)

add_slide_animation

为单个幻灯片添加动画过渡效果,使演示文稿更加生动有趣

  • slide_index: 幻灯片索引
  • animation_style: 动画风格(淡入、推进、擦除、放大、分裂、百叶窗、溶解、无)
  • speed: 动画速度(快速、中速、慢速)
  • auto_advance: 自动切换到下一个
  • auto_advance_seconds: 自动切换延迟时间

make_presentation_dynamic

在整个演示文稿中添加统一的动画效果是创建专业演示文稿的重要步骤

  • animation_style: 统一动画风格(默认淡入)
  • speed: 动画速度(默认中速)

make_professional_presentation ⭐

一键使演示文稿变得专业!自动为所有幻灯片添加优雅的淡入淡出过渡效果

  • 无需参数,一键操作

add_smooth_transitions

为演示文稿添加平滑过渡动画,使幻灯片之间的转换更加自然

  • 无需参数,预设平滑效果

add_dynamic_effects

为演示文稿添加动态过渡效果,使其更加生动

  • 无需参数,预设动态效果

get_animation_options

查看所有可用的幻灯片动画效果选项

  • 无需参数

📄 基本工具

1. create_presentation

创建一个新的PowerPoint演示文稿

2. open_presentation

打开现有的PowerPoint文件

  • file_path: 文件路径

3. save_presentation

保存演示文稿

  • file_path: 保存路径(可选)

📝 内容编辑工具

4. add_slide

添加新的幻灯片

  • layout_index: 布局索引(0=标题幻灯片,1=标题和内容)

5. add_text_box

添加文本框

  • slide_index: 幻灯片索引
  • text: 文本内容
  • left, top, width, height: 位置和尺寸(英寸)
  • font_size: 字体大小
  • font_color: 字体颜色(十六进制)

6. add_title_slide

添加标题幻灯片

  • title: 标题
  • subtitle: 副标题(可选)

7. add_bullet_points

添加项目符号内容

  • slide_index: 幻灯片索引
  • title: 标题
  • bullet_points: 项目符号列表

8. add_image

添加图片

  • slide_index: 幻灯片索引
  • image_path: 图片路径
  • left, top: 位置(英寸)
  • width, height: 尺寸(英寸,可选)

9. add_shape

添加形状

  • slide_index: 幻灯片索引
  • shape_type: 形状类型(矩形、椭圆、三角形、菱形、五边形、六边形、星形、箭头)
  • left, top, width, height: 位置和尺寸(英寸)
  • fill_color: 填充颜色(十六进制)

10. add_table

添加表格

  • slide_index: 幻灯片索引
  • rows: 表格中的行数
  • cols: 表格中的列数
  • left, top, width, height: 位置和尺寸(英寸)

11. set_table_cell_text

设置表格单元格文本

  • slide_index: 幻灯片索引
  • table_index: 表格索引
  • row: 行索引
  • col: 列索引
  • text: 文本内容

🎨 格式和样式工具

12. set_slide_background_color

设置幻灯片背景颜色

  • slide_index: 幻灯片索引
  • color: 背景颜色(十六进制)

13. add_hyperlink

向形状添加超链接

  • slide_index: 幻灯片索引
  • shape_index: 形状索引
  • url: 超链接URL
  • display_text: 显示文本(可选)

14. set_text_formatting

格式化文本

  • slide_index: 幻灯片索引
  • shape_index: 形状索引
  • font_name: 字体名称(可选)
  • font_size: 字体大小(可选)
  • font_color: 字体颜色(可选)
  • bold: 是否粗体(可选)
  • italic: 是否斜体(可选)
  • underline: 是否下划线(可选)

🔧 管理工具

15. get_presentation_info

获取演示文稿信息

16. delete_slide

删除幻灯片

  • slide_index: 需要删除的幻灯片索引

17. duplicate_slide

复制幻灯片

  • slide_index: 需要复制的幻灯片索引

18. move_slide

移动幻灯片位置

  • from_index: 源位置索引
  • to_index: 目标位置索引

19. get_slide_shapes_info

获取幻灯片中所有形状的信息

  • slide_index: 幻灯片索引

🎬 传统动画工具(兼容旧版本)

20. set_slide_transition

设置幻灯片过渡效果(建议使用新动画工具)

  • slide_index: 幻灯片索引
  • transition_type: 过渡类型(无、淡入、推进、擦除、分裂、放大、百叶窗、溶解)
  • duration: 过渡持续时间(秒)
  • advance_on_click: 是否点击前进
  • advance_after_time: 自动前进时间(秒,可选)

21. get_available_transitions

获取可用过渡效果列表

  • 无需参数

💡 使用提示

启用AI更好地利用动画功能

为了让AI模型更主动地使用动画功能,可以在对话中使用以下关键词:

  • 让演示文稿更专业 → AI将调用make_professional_presentation
  • 添加动画效果 AI将使用add_slide_animationmake_presentation_dynamic
  • 使幻灯片过渡更平滑 → AI将调用add_smooth_transitions
  • 使演示文稿更生动 AI将使用add_dynamic_effects

推荐工作流程

  1. 创建内容 - 先添加所有幻灯片和内容
  2. 一键专业化 - 使用make_professional_presentation()快速添加过渡效果
  3. 个性化调整 - 根据需要为特定幻灯片设置不同的动画效果
  4. 预览和保存 - 保存文件并在PowerPoint中预览效果

⚠️ 注意事项

  1. 确保安装了所有必要的依赖包(特别是用于动画功能的lxml
  2. 图片文件路径必须存在且可访问
  3. 幻灯片索引从0开始
  4. 使用十六进制格式表示颜色(例如,黑色为000000,红色为FF0000)
  5. 位置和尺寸以英寸为单位测量
  6. 动画效果需要在PowerPoint中打开文件才能看到完整效果

错误处理

所有操作都包含错误处理,返回格式如下:

{
  "success": true/false,
  "message": "操作结果消息",
  "error": "错误信息(如果有)"
}

🤝 贡献

欢迎提交Issue和Pull Requests来改进这个项目!

📄 许可证

MIT许可证