这是一个基于 Model Context Protocol (MCP) 构建的应用后端,它允许大型语言模型(如Claude、GPT等)通过结构化的方式与PowerPoint文件进行交互。其核心思想是将AI生成的SVG图像作为PPT内容,并通过本服务器提供的工具将SVG图像插入到演示文稿中,实现AI对PPT的高度控制。

主要功能点

  • 矢量图保留: 将SVG作为真实矢量图插入PPTX,保证高品质和可伸缩性。
  • 创建演示文稿: 直接从一个或多个SVG文件创建全新的PowerPoint演示文稿,每个SVG成为一页幻灯片。
  • 插入和管理幻灯片: 可以在现有演示文稿的指定位置插入SVG图像、插入空白幻灯片或删除幻灯片。
  • 处理SVG代码: 支持将AI直接生成的SVG代码保存为文件,以便后续插入到PPT中。
  • 文件操作: 提供列出文件、获取文件信息等基本文件管理能力,帮助LLM了解可用文件。
  • SVG到PNG转换: 内置SVG到PNG的转换功能作为备用。

安装步骤

通过Python包管理器安装服务器:

  1. 确保已安装 Python 环境。
  2. 打开命令行或终端。
  3. 使用 pip 或 uv 安装 'mcp-server-okppt' 包:
    # 使用 pip (推荐)
    pip install mcp-server-okppt
    
    # 或使用 uv (如果你安装了 uv)
    uv pip install mcp-server-okppt

服务器配置

MCP服务器需要被MCP客户端(如Claude Desktop, Cursor等支持MCP的LLM应用)发现和启动。这通常通过在客户端的配置文件中添加服务器信息来完成。配置信息告诉客户端如何启动服务器进程及其名称。

配置通常包含以下关键信息:

  • 名称 (name): 客户端用来识别这个服务器的唯一名称(例如:"okppt")。
  • 命令 (command): 启动服务器进程的命令(例如:"uvx" 或 "python")。
  • 参数 (args): 传递给启动命令的参数,用于指定要运行的服务器脚本(例如:["mcp-server-okppt"] 或 ["-m", "mcp_server_okppt"])。

示例配置信息(具体格式取决于你的MCP客户端):

对于Claude Desktop,在 'claude_desktop_config.json' 中添加 'mcpServers' 部分:

{
  "mcpServers": {
    "okppt": { // 这个是服务器的名称
      "command": "uvx", // 启动命令
      "args": [ // 命令参数,这里是包名
        "mcp-server-okppt"
      ]
    }
  }
}

对于Cursor IDE,在 '~/.cursor/mcp.json' (macOS) 或 'C:\Users\用户名.cursor\mcp.json' (Windows) 中添加:

{
  "mcpServers": {
    "okppt": { // 这个是服务器的名称
      "command": "uv", // 启动命令
      "args": [ // 命令参数
        "--directory",
        "D:\\本地项目路径\\mcp-server-okppt\\src\\mcp_server_okppt", // 指向服务器源代码目录(开发/测试用)
        "run",
        "cli.py" // 服务器入口脚本
      ]
    }
  }
}

配置完成后,重启你的MCP客户端应用即可连接服务器。

基本使用方法

  1. 确保已按照上述步骤安装并配置好服务器,并重启了MCP客户端(如Claude Desktop)。
  2. 在支持MCP工具调用的聊天界面中,LLM可以通过协议与该服务器通信。
  3. 用户可以在与LLM的对话中提出与PowerPoint和SVG相关的任务,例如:
    • “请帮我创建一个包含这个SVG文件(提供文件路径或代码)的PPTX文件。”
    • “将这个SVG(提供文件路径或代码)全屏插入到演示文稿 'my_presentation.pptx' 的第5页。”
    • “请列出我临时目录中的所有SVG文件。”
  4. LLM会识别用户的意图,并调用MCP OKPPT服务器提供的相应工具(如 'create_pptx_from_svg', 'insert_svg', 'list_files' 等)来完成任务。
  5. 服务器执行操作后,会将结果(如成功消息、新的文件路径或错误信息)返回给LLM,LLM再将结果呈现给用户。

信息

分类

AI与计算