PPTX MCP服务器
一种基于FastMCP的服务器,用于以编程方式创建、编辑和呈现PowerPoint(PPTX)演示文稿。支持幻灯片创建、文本和形状插入、图像嵌入以及将幻灯片渲染为PNG(使用LibreOffice)。
特性
- 创建/清除演示文稿: 启动新的或重置现有的PPTX文件。
- 添加幻灯片: 插入具有可自定义布局的幻灯片。
- 文本和内容: 为幻灯片添加标题、内容和自定义文本框。
- 形状: 插入各种各样的PowerPoint形状(包括流程图元素)。
- 图像: 将图像嵌入幻灯片。
- 幻灯片说明: 获取幻灯片内容的文本摘要以供验证。
- 幻灯片渲染: 将幻灯片渲染为PNG图像(需要LibreOffice)。
- 下载PPTX: 下载生成的演示文稿文件。
需求
- Python 3.12+
- python pptx
- 枕头
- 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 - 窗户: 从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.pyAPI概述
服务器通过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/.
许可证
看 许可证 了解详情。
