Skip to main content
Glama

PowerPoint Editor MCP Server

README.md9.27 kB
# PowerPoint编辑MCP Server 这是一个基于MCP (Model Context Protocol) 的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种效果 - **智能速度控制** - 快速、中等、慢速三档速度选择 - **自动播放支持** - 支持自动前进和点击前进 - **批量应用** - 一次性为所有幻灯片设置统一动画 - **便利函数** - 提供流畅过渡、动感效果等预设选项 ## 安装依赖 ```bash pip install -r requirements.txt ``` ## 使用方法 ### 作为MCP Server运行 ```bash python main.py ``` ### 直接使用PowerPointEditor类 ```python from tool import PowerPointEditor # 创建编辑器实例 editor = PowerPointEditor() # 创建新演示文稿 editor.create_presentation() # 添加标题幻灯片 editor.add_title_slide("我的演示文稿", "副标题") # 保存文件 editor.save_presentation("my_presentation.pptx") ``` ### 运行示例 ```bash python example.py ``` ### 测试动画功能 ```bash python test_transitions.py ``` ## 🎬 动画功能快速开始 ```python 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`: 动画风格(fade, push, wipe, zoom, split, blinds, dissolve, none) - `speed`: 动画速度(fast, medium, slow) - `auto_advance`: 是否自动切换到下一张 - `auto_advance_seconds`: 自动切换延迟时间 #### make_presentation_dynamic 为整个演示文稿添加统一的动画效果,制作专业演示文稿的重要步骤 - `animation_style`: 统一的动画风格(默认fade) - `speed`: 动画速度(默认medium) #### 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`: 形状类型(rectangle, oval, triangle, diamond, pentagon, hexagon, star, arrow) - `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`: 过渡类型(none, fade, push, wipe, split, zoom, blinds, dissolve) - `duration`: 过渡持续时间(秒) - `advance_on_click`: 是否点击前进 - `advance_after_time`: 自动前进时间(秒,可选) #### 21. get_available_transitions 获取可用的过渡效果列表 - 无参数 ## 💡 使用技巧 ### 让AI更好地使用动画功能 为了让AI模型更主动地使用动画功能,可以在对话中使用这些关键词: - **"让演示更专业"** → AI会调用 `make_professional_presentation` - **"添加动画效果"** → AI会使用 `add_slide_animation` 或 `make_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中打开文件才能看到完整效果 ## 错误处理 所有操作都包含错误处理,返回格式为: ```json { "success": true/false, "message": "操作结果消息", "error": "错误信息(如果有)" } ``` ## 🤝 贡献 欢迎提交Issue和Pull Request来改进这个项目! ## 📄 许可证 MIT License

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Weichenleeeee123/ppt-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server