关于 PPTX MCP Server
PPTX MCP Server 是基于 FastMCP 与 python-pptx 的 MCP 服务,用于以编程方式创建、编辑和渲染 PowerPoint(PPTX)演示文稿。它适合需要自动生成幻灯片的开发者,并可借助 LibreOffice 将幻灯片渲染为 PNG 图片。
主要功能
- 01创建与清空演示文稿
- 02添加带有可选版式的幻灯片
- 03插入标题、正文与文本框
- 04插入多种形状(含流程图元素)
- 05嵌入图片并输出幻灯片文本描述
- 06通过 LibreOffice 渲染 PNG 图片
适用场景
- 01由脚本或 Agent 自动生成演示文稿
- 02在生成后检查幻灯片内容与版式
- 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(用于开发环境配置)
安装
-
安装 Python 依赖:
pip install .(从
pyproject.toml安装依赖) -
可选:安装 python-dotenv,以配置开发环境变量:
pip install python-dotenv -
安装 LibreOffice(用于渲染图片):
- Linux:
sudo pacman -S libreoffice-fresh或sudo apt install libreoffice - macOS:
brew install --cask libreoffice - Windows:从 libreoffice.org 下载
- Linux:
用法
启动服务:
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。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。