首页
/ 开源项目教程:Office-PowerPoint-MCP-Server

开源项目教程:Office-PowerPoint-MCP-Server

2025-05-20 21:27:03作者:郦嵘贵Just

1. 项目介绍

Office-PowerPoint-MCP-Server 是一个基于 Model Context Protocol (MCP) 协议的 PowerPoint 操作服务器,使用 python-pptx 库进行操作。该服务器提供了创建、编辑和操作 PowerPoint 演示文稿的工具,允许开发者通过 MCP 协议与 PowerPoint 文档进行交互。

2. 项目快速启动

环境准备

  • Python 3.10 或更高版本
  • pip 包管理器

安装步骤

使用安装脚本(推荐)

最简单的安装方法是使用提供的安装脚本,该脚本自动化了安装过程:

python setup_mcp.py

该脚本将:

  • 检查环境依赖
  • 提供安装选项:
    • 从 PyPI 安装(推荐大多数用户)
    • 设置本地开发环境
  • 安装所需依赖
  • 生成相应的 MCP 配置文件
  • 提供与 Claude Desktop 集成的说明

手动安装

  • 克隆仓库:
git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git
cd Office-PowerPoint-MCP-Server
  • 安装依赖:
pip install -r requirements.txt
  • 使服务器脚本可执行:
chmod +x ppt_mcp_server.py

启动服务器

运行以下命令启动服务器:

python ppt_mcp_server.py

MCP 配置

本地 Python 服务器

将服务器添加到您的 MCP 设置配置文件中:

{
  "mcpServers": {
    "ppt": {
      "command": "python",
      "args": ["/path/to/ppt_mcp_server.py"],
      "env": {}
    }
  }
}

使用 UVX(无需本地安装)

如果您安装了 UVX,可以直接从 PyPI 运行服务器而无需本地安装:

{
  "mcpServers": {
    "ppt": {
      "command": "uvx",
      "args": ["--from", "office-powerpoint-mcp-server", "ppt_mcp_server"],
      "env": {}
    }
  }
}

3. 应用案例和最佳实践

以下是一个创建新演示文稿并添加图表的例子:

创建新演示文稿

# 创建新演示文稿
result = use_mcp_tool("ppt", "create_presentation", {})
presentation_id = result["presentation_id"]

# 添加标题幻灯片
result = use_mcp_tool("ppt", "add_slide", {
    "layout_index": 0, # 标题幻灯片布局
    "title": "My Presentation",
    "presentation_id": presentation_id
})
slide_index = result["slide_index"]

# 填充副标题占位符
result = use_mcp_tool("ppt", "populate_placeholder", {
    "slide_index": slide_index,
    "placeholder_idx": 1, # 副标题占位符
    "text": "Created with PowerPoint MCP Server",
    "presentation_id": presentation_id
})

# 保存演示文稿
result = use_mcp_tool("ppt", "save_presentation", {
    "file_path": "my_presentation.pptx",
    "presentation_id": presentation_id
})

添加图表

# 添加图表幻灯片
result = use_mcp_tool("ppt", "add_slide", {
    "layout_index": 1, # 内容幻灯片布局
    "title": "Sales Data",
    "presentation_id": presentation_id
})
slide_index = result["slide_index"]

# 添加柱状图
result = use_mcp_tool("ppt", "add_chart", {
    "slide_index": slide_index,
    "chart_type": "column",
    "left": 1.0,
    "top": 2.0,
    "width": 8.0,
    "height": 4.5,
    "categories": ["Q1", "Q2", "Q3", "Q4"],
    "series_names": ["2023", "2024"],
    "series_values": [[100, 120, 140, 160], [110, 130, 150, 170]],
    "has_legend": True,
    "legend_position": "bottom",
    "has_data_labels": True,
    "title": "Quarterly Sales",
    "presentation_id": presentation_id
})

4. 典型生态项目

Office-PowerPoint-MCP-Server 作为开源项目,可以融入更广泛的生态系统。以下是一些可能的生态项目:

  • 集成到自动化工作流程中,例如使用 Jenkins、Travis CI 或 GitHub Actions 自动生成报告。
  • 开发桌面应用程序,如使用 Electron 将 MCP 服务器封装成易于使用的应用。
  • 教育和培训工具,用于教授 Python 和 PowerPoint 编程。

通过这些最佳实践和应用案例,开发者可以更好地理解并使用 Office-PowerPoint-MCP-Server,创造出功能丰富且实用的解决方案。

登录后查看全文
热门项目推荐