PPT编程生成服务

通过MCP协议提供编程化创建和操作PowerPoint演示文稿的服务,支持幻灯片管理、形状和文本添加等功能。

  • by gtonic
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 gtonic/pptx-mcp

使用说明

PowerPoint MCP服务器

此项目提供了一个模型上下文协议(MCP)服务器,用于创建和操作Microsoft PowerPoint演示文稿(.pptx 文件)。它公开了一组可由MCP兼容客户端调用的工具,用于生成幻灯片、添加形状、文本等。

服务器是使用Python构建的 FastMCP 框架和 python-pptx 图书馆。

设置和安装

要开始使用此服务器,您需要安装Python 3。

  1. 克隆存储库或下载源代码。

  2. 创建虚拟环境(推荐):

    python -m venv .venv
    source .venv/bin/activate  # On Windows, use `.venv\Scripts\activate`
    
  3. 安装所需的依赖项:

    pip install -r requirements.txt
    

运行服务器

安装依赖项后,您可以在终端中运行以下命令来启动MCP服务器:

python server.py

服务器将在上启动并监听传入的MCP请求 0.0.0.0:8081.

可用工具

此服务器为构建PowerPoint演示文稿提供了一套丰富的工具。这些工具被组织成逻辑组。

展示管理

这些工具处理演示文稿文件的创建、打开、保存和检查。

  • create_presentation(id: Optional[str] = None) -> Dict

    • 说明: 在内存中创建新的空PowerPoint演示文稿。
    • 参数:
      • id (可选):演示文稿的唯一标识符。如果没有提供,将自动生成一个。
    • 退货: 包含以下内容的词典 presentation_id、确认消息和初始幻灯片计数。
  • open_presentation(file_path: str, id: Optional[str] = None) -> Dict

    • 说明: 打开现有 .pptx 本地文件系统中的文件。
    • 参数:
      • file_path (str):要打开的演示文件的路径。
      • id (可选):分配给打开的演示文稿的唯一标识符。
    • 退货: 一本带 presentation_id、一条消息和幻灯片计数。
  • save_presentation(file_path: str, presentation_id: Optional[str] = None) -> Dict

    • 说明: 将演示文稿从内存保存到 .pptx 文件。
    • 参数:
      • file_path (str):保存演示文稿的路径。
      • presentation_id (可选):要保存的演示文稿的ID。如果没有提供,将使用当前活动的演示文稿。
    • 退货: 确认消息和最终文件路径。
  • get_presentation_info(presentation_id: Optional[str] = None) -> Dict

    • 说明: 检索演示文稿的元数据,包括幻灯片数量、可用幻灯片布局和核心属性。
    • 参数:
      • presentation_id (可选):要检查的演示文稿的ID。
    • 退货: 包含演示文稿元数据的词典。
  • set_core_properties(...) -> Dict

    • 说明: 设置演示文稿的核心文档属性(例如,标题、作者、主题)。
    • 参数: title, subject, author, keywords, comments, presentation_id.
    • 退货: 确认消息和更新的属性。

幻灯片管理

这些工具用于在演示文稿中添加和管理幻灯片。

  • add_slide(layout_index: int = 1, title: Optional[str] = None, presentation_id: Optional[str] = None) -> Dict
    • 说明: 使用指定的布局将新幻灯片添加到演示文稿中。
    • 参数:
      • layout_index (int):要使用的幻灯片布局的索引(从0开始)。
      • title (可选):为新幻灯片设置的标题。
      • presentation_id (可选):目标演示文稿的ID。
    • 退货: 带有确认消息、新幻灯片索引和布局信息的词典。

形状和文本工具

这些工具允许您绘制形状并向幻灯片添加文本。

  • add_shape(...) -> Dict

    • 说明: 将自动形状(例如矩形、椭圆形、箭头)添加到指定幻灯片。
    • 参数: slide_index, shape_type, left, top, width, height, fill_color, line_color, line_width, presentation_id.
    • 退货: 确认消息和新创建形状的索引。
  • add_textbox(...) -> Dict

    • 说明: 在幻灯片中添加文本框,并允许设置文本格式。
    • 参数: slide_index, left, top, width, height, text, font_size, font_name, bold, italic, color, alignment, presentation_id.
    • 退货: 确认消息和新文本框形状的索引。

这个项目是可扩展的。通过在中定义新功能,可以轻松添加新工具 ppt_utils.py 并通过新的 @mcp.tool() 装饰功能 server.py.