PPTX MCP Server

PPTX MCP Server

site icon
2025.05.04 2
PythonPPTX 生成自动化工具演示文稿编辑内容生成开发效率
PPTX MCP Server 是一个基于 FastMCP 的服务器,用于通过编程方式创建、编辑和渲染 PowerPoint (PPTX) 演示文稿。它支持幻灯片创建、文本和形状插入、图像嵌入以及将幻灯片渲染为 PNG 图像(需要 LibreOffice)。
View on GitHub

Overview

基本能力

产品定位

PPTX MCP Server 是一个用于自动化生成和编辑 PowerPoint 演示文稿的工具,特别适合需要批量生成或动态修改 PPTX 文件的开发者和内容创作者。

核心功能

  • 创建/清空演示文稿:支持创建新的或重置现有的 PPTX 文件。
  • 添加幻灯片:可插入具有自定义布局的幻灯片。
  • 文本和内容:支持在幻灯片中添加标题、内容和自定义文本框。
  • 形状:可插入多种 PowerPoint 形状(包括流程图元素)。
  • 图像:支持将图像嵌入到幻灯片中。
  • 幻灯片描述:提供幻灯片内容的文本摘要,用于验证。
  • 幻灯片渲染:将幻灯片渲染为 PNG 图像(需要 LibreOffice)。
  • 下载 PPTX:支持下载生成的演示文稿文件。

适用场景

  • 自动化生成演示文稿,如报告、培训材料等。
  • 动态修改现有演示文稿,如更新数据或内容。
  • 批量处理多个 PPTX 文件,如批量添加水印或logo。

工具列表

  • create_or_clear_presentation(filename):创建或清空演示文稿。
  • add_slide(filename, layout_index):添加幻灯片。
  • add_title_and_content(filename, slide_index, title, content):添加标题和内容。
  • add_textbox(filename, slide_index, text, left_inches, top_inches, width_inches, height_inches, font_size_pt, bold):添加文本框。
  • add_shape(filename, slide_index, shape_type_name, left_inches, top_inches, width_inches, height_inches, text):添加形状。
  • add_picture(filename, slide_index, image, left_inches, top_inches, width_inches, height_inches):添加图片。
  • get_slide_content_description(filename, slide_index):获取幻灯片内容描述。
  • get_slide_image(filename, slide_index):获取幻灯片图像(需要 LibreOffice)。
  • get_pptx_file(filename):下载 PPTX 文件。

常见问题解答

  • Q: 为什么幻灯片渲染功能不起作用? A: 请确保已安装 LibreOffice 并已将其添加到系统 PATH 中。
  • Q: 如何自定义幻灯片布局? A: 可以在 presentations/templates/ 目录中添加自定义模板。

使用教程

使用依赖

  1. 安装 Python 3.12+。
  2. 安装 Python 依赖: bash pip install -r requirements.txt
  3. 安装 LibreOffice(用于图像渲染):
  4. Linux: sudo pacman -S libreoffice-freshsudo apt install libreoffice
  5. macOS: brew install --cask libreoffice
  6. Windows: 从 libreoffice.org 下载

安装教程

  1. 克隆或下载项目代码。
  2. 安装依赖(如上所述)。
  3. 启动服务器: bash python server.py 或使用 FastMCP 开发模式: bash fastmcp dev server.py

调试方式

  1. 确保服务器已启动并运行在指定的主机和端口上(默认 127.0.0.1:8000)。
  2. 使用 API 工具(如 Postman 或 curl)测试 API 端点。
  3. 检查日志以获取错误信息。

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。