PPTX编辑服务

一个提供全面PowerPoint (.pptx)编辑功能的MCP服务器,支持通过编程方式创建、编辑和操作演示文稿。

  • by MisunK
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 misunk/powerpoint-mcp-server

使用说明

PowerPoint MCP服务器

一种模型上下文协议(MCP)服务器,提供全面的PowerPoint(.pptx)编辑功能。此服务器允许您通过Claude和其他MCP兼容客户端以编程方式创建、编辑和操纵PowerPoint演示文稿。

特性

  • 创建演示文稿:从空白演示文稿开始,或使用现有文件作为模板
  • 幻灯片管理:添加、删除和读取幻灯片信息
  • 文本编辑:编辑标题、内容和添加格式化文本框
  • 形状操作:添加带有可选文本的矩形、椭圆形和三角形
  • 图像支持:插入具有可自定义定位和大小的图像
  • 表操作:创建表格和编辑单元格内容
  • 文本提取:从演示文稿中提取所有文本内容
  • 文件列表:列出当前目录中的所有PowerPoint文件

安装

先决条件

  • Python 3.8或更高版本
  • pip(Python包安装程序)

设置步骤

  1. 克隆或下载此存储库

    git clone <repository-url>
    cd powerpoint-mcp-server
    
  2. 创建虚拟环境(推荐)

    python -m venv venv
    
  3. 激活虚拟环境

    在Windows上:

    venv\Scripts\activate
    

    在macOS/Linux上:

    source venv/bin/activate
    
  4. 安装依赖项

    pip install -r requirements.txt
    

用法

运行MCP服务器

服务器可以在两种模式下运行:

1.MCP模式(用于Claude Desktop或其他MCP客户端)

python pptx_mcp_server.py --stdio

2.HTTP模式(用于测试)

python pptx_mcp_server.py

这将在上启动HTTP服务器 localhost:8000 用于测试目的。

使用Claude Desktop进行配置

要将此MCP服务器与Claude Desktop一起使用,请将以下配置添加到您的Claude Desktop配置文件中:

视窗: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "powerpoint-editor": {
      "command": "python",
      "args": ["/path/to/pptx_mcp_server.py", "--stdio"],
      "env": {}
    }
  }
}

替换 /path/to/pptx_mcp_server.py 以及服务器文件的实际路径。

可用工具

展示管理

  • create_presentation:创建新的PowerPoint文件
  • read_presentation_info:获取演示文稿的详细信息
  • extract_text:从演示文稿中提取所有文本内容

滑动操作

  • add_slide:添加带有可选标题和内容的新幻灯片
  • delete_slide:从演示文稿中删除特定幻灯片
  • edit_slide_text:编辑幻灯片中的文本(标题、内容或特定形状)

内容添加

  • add_text_box:向幻灯片添加格式化文本框
  • add_shape:添加几何形状(矩形、椭圆形、三角形)
  • add_image:将图像插入幻灯片
  • add_table:在幻灯片中创建表格

表操作

  • update_table_cell:编辑单个表单元格

文件管理

  • list_pptx_files (资源):列出当前目录中的所有.pptx文件

示例用法

一旦连接到像Claude Desktop这样的MCP客户端,您就可以使用自然语言命令,例如:

  • “创建一个名为‘季度报告.pptx’的新演示文稿”
  • “添加标题为“第四季度财务业绩”的标题幻灯片”
  • “在幻灯片2上插入一个3行4列的表格”
  • 在幻灯片3中添加一个包含“关键发现”内容的文本框
  • “从演示文稿中提取所有文本”

错误处理

该服务器包括全面的错误处理功能,用于:

  • 找不到文件的情况
  • 幻灯片编号或索引无效
  • 缺少演示文稿元素
  • 文件权限问题
  • 形状类型和参数无效

所有错误都会被记录并返回描述性消息,以帮助调试。

支持的文件格式

  • PowerPoint文件(.pptx)-读写
  • 模板文件(.pptx)-用于从现有布局创建新的演示文稿
  • 插入的图像文件:PNG、JPEG、GIF、BMP

局限性

  • 仅支持.pptx格式(不支持.ppt传统格式)
  • 不支持幻灯片动画和过渡
  • 主题和主幻灯片等高级格式化功能的支持有限
  • 当前未实现图表创建

发展

项目结构

powerpoint-mcp-server/
├── pptx_mcp_server.py    # Main server implementation
├── requirements.txt       # Python dependencies
├── README.md             # This file
└── examples/             # Example presentations (optional)

添加新功能

要添加新的PowerPoint操作功能,请执行以下操作:

  1. 添加新 @mcp.tool() 装饰功能 pptx_mcp_server.py
  2. 遵循现有的错误处理模式
  3. 用新功能更新README
  4. 使用MCP和HTTP模式进行测试

测试

要测试服务器,请执行以下操作:

  1. 在HTTP模式下运行: python pptx_mcp_server.py
  2. 使用curl或REST客户端测试端点
  3. 使用Claude Desktop进行完整MCP集成测试

故障排除

常见问题

  1. “找不到模块”错误:确保安装了所有依赖项并激活了虚拟环境

  2. 文件权限错误:检查脚本是否具有目标目录的读/写权限

  3. 克劳德桌面未连接:验证配置文件路径和语法,确保Python路径正确

  4. PowerPoint文件无法打开:确保文件为.pptx格式且未损坏

调试模式

默认情况下,服务器会登录到stderr。查看详细日志:

python pptx_mcp_server.py --stdio 2>debug.log

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 提交带有清晰描述的拉取请求

许可证

这个项目是开源的。请检查存储库以了解许可证详细信息。

支持

对于问题和疑问:

  • 检查上面的故障排除部分
  • 查阅MCP文档,网址为https://modelcontextprotocol.io/
  • 在存储库中打开问题

版本历史记录

v1.0.0

  • 具有核心PowerPoint编辑功能的初始版本
  • 支持幻灯片、文本、形状、图像和表格
  • 使用FastMCP实现MCP服务器