mcpField
P
PPTX MCP Server

PPTX MCP Server

本地服务
github.com/samos123生产力3575 周前更新

关于 PPTX MCP Server

PPTX MCP Server 是基于 FastMCP 与 python-pptx 的 MCP 服务,用于以编程方式创建、编辑和渲染 PowerPoint(PPTX)演示文稿。它适合需要自动生成幻灯片的开发者,并可借助 LibreOffice 将幻灯片渲染为 PNG 图片。

主要功能

  1. 01创建与清空演示文稿
  2. 02添加带有可选版式的幻灯片
  3. 03插入标题、正文与文本框
  4. 04插入多种形状(含流程图元素)
  5. 05嵌入图片并输出幻灯片文本描述
  6. 06通过 LibreOffice 渲染 PNG 图片

适用场景

  1. 01由脚本或 Agent 自动生成演示文稿
  2. 02在生成后检查幻灯片内容与版式
  3. 03将幻灯片渲染为图片进行预览

MCP 相关

该服务通过 FastMCP 暴露工具与资源,MCP 客户端可调用 create_or_clear_presentation、add_slide、add_textbox 等工具编辑 PPTX 文件。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

PPTX MCP 服务

由 FastMCP 驱动的服务,可通过编程方式创建、编辑和渲染 PowerPoint(PPTX)演示文稿。支持创建幻灯片、插入文本和形状、嵌入图片,以及将幻灯片渲染为 PNG(使用 LibreOffice)。

功能

  • 创建/清空演示文稿: 新建或重置现有的 PPTX 文件。
  • 添加幻灯片: 使用可自定义的版式插入幻灯片。
  • 文本与内容: 向幻灯片添加标题、内容和自定义文本框。
  • 形状: 插入各种 PowerPoint 形状(包括流程图元素)。
  • 图片: 将图片嵌入幻灯片。
  • 幻灯片描述: 获取幻灯片内容的文本摘要,以便核验。
  • 幻灯片渲染: 将幻灯片渲染为 PNG 图片(需要 LibreOffice)。
  • 下载 PPTX: 下载生成的演示文稿文件。

要求

  • Python 3.12+
  • python-pptx
  • Pillow
  • FastMCP
  • LibreOffice(用于渲染幻灯片图片;必须单独安装,并确保可通过系统 PATH 访问)
  • python-dotenv(用于开发环境配置)

安装

  1. 安装 Python 依赖:

    pip install .
    

    (从 pyproject.toml 安装依赖)

  2. 可选:安装 python-dotenv,以配置开发环境变量:

    pip install python-dotenv
    
  3. 安装 LibreOffice(用于渲染图片):

    • Linux:sudo pacman -S libreoffice-fresh 或 sudo apt install libreoffice
    • macOS:brew install --cask libreoffice
    • Windows:从 libreoffice.org 下载

用法

启动服务:

python server.py

配置开发环境变量:

你可以使用环境变量设置服务的主机和端口:

  • HOST(默认值:127.0.0.1)
  • PORT(默认值:8000)

例如,在所有网络接口上使用端口 9000 运行:

HOST=0.0.0.0 PORT=9000 python server.py

或

在项目根目录中创建/编辑 .env 文件: 例如,在所有网络接口上使用端口 9000 运行:

HOST=0.0.0.0
PORT=9000

启动服务时加载环境变量:

python server.py

或者(使用 FastMCP 进行开发时):

fastmcp dev server.py

API 概览

该服务通过 FastMCP 暴露工具和资源,包括:

  • 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)

参数详情和可用形状类型请参阅代码。

演示文稿与模板

  • 演示文稿保存在 presentations/ 目录中。
  • 你可以在 presentations/templates/ 中添加自己的模板。

许可证

详情请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。