使用说明

项目简介

本项目 'mcp-pptx-presentations-creator' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供创建 PowerPoint 演示文稿 (.pptx 文件) 的功能。通过集成此 MCP 服务器,LLM 客户端(如 LibreChat)可以调用预定义的工具,指示 LLM 自动生成演示文稿,极大地扩展了 LLM 的应用场景。

主要功能点

  • PowerPoint 演示文稿生成: 提供 'create-powerpoint-presentation' 工具,允许 LLM 客户端请求创建包含标题页、节标题页和内容页的演示文稿。
  • 自定义演示文稿格式: 支持 4:3 和 16:9 两种演示文稿比例。
  • 自定义模板: 允许用户使用自定义的 PowerPoint 模板,以满足企业品牌或特定风格的需求。用户只需替换预定的模板文件即可。
  • 本地或 S3 文件上传: 生成的演示文稿可以通过本地文件系统保存,也可以上传到 AWS S3 存储,并返回可分享的链接。
  • SSE 传输协议: 使用 Server-Sent Events (SSE) 协议与 MCP 客户端通信,实现实时的请求和响应。
  • Docker 部署: 提供 Docker 镜像和 docker-compose 配置,方便用户快速部署和运行服务器。

安装步骤

  1. 环境准备: 确保已安装 Docker 和 Docker Compose。
  2. 下载仓库: 从 GitHub 克隆或下载 'mcp-pptx-presentations-creator' 仓库代码到本地。
    git clone https://github.com/dvejsada/mcp-pptx-presentations-creator.git
    cd mcp-pptx-presentations-creator
  3. 配置环境变量:
    • 复制 'docker-compose.yml' 文件,并根据需要修改环境变量。
    • 上传策略 (UPLOAD_STRATEGY):
      • 'LOCAL': 本地上传,演示文稿将保存在服务器的 '/app/output' 目录下。需要将宿主机的目录挂载到容器的 '/app/output' 目录。
      • 'S3': S3 上传,演示文稿将上传到指定的 AWS S3 存储桶。需要配置 AWS 访问密钥 ('AWS_ACCESS_KEY')、AWS 秘密访问密钥 ('AWS_SECRET_ACCESS_KEY')、AWS 区域 ('AWS_REGION') 和 S3 存储桶名称 ('S3_BUCKET')。
    • 自定义模板 (可选): 如果需要使用自定义模板,请将 'template_4_3.pptx' 和 'template_16_9.pptx' 文件放在一个目录下,并将该目录挂载到容器的 '/app/templates/' 目录。
  4. 启动服务器: 使用 Docker Compose 启动服务器。
    docker-compose up -d
    服务器默认监听端口 '8958',可以通过 'http://<服务器IP>:8958/sse' 访问 SSE 端点。

服务器配置

对于 MCP 客户端(例如 LibreChat),需要配置 MCP 服务器的连接信息。在 LibreChat 的 'librechat.yaml' 配置文件中,添加以下 'mcpServers' 配置:

mcpServers:
  pptx-creator: # 服务器名称,自定义,用于在 LibreChat 中引用
    type: sse # 连接类型,可选,默认为 sse
    url: http://<服务器IP>:8958/sse # MCP 服务器的 SSE 端点 URL,将 <服务器IP> 替换为实际的服务器 IP 或域名

配置参数说明:

  • 'pptx-creator': 服务器名称,在 LibreChat 中唯一标识此 MCP 服务器,可以自定义。
  • 'type: sse': 指定连接类型为 SSE。如果省略,则默认为 SSE。
  • 'url: http://<服务器IP>:8958/sse': 关键配置,MCP 服务器的 SSE 端点 URL。请将 '<服务器IP>' 替换为运行 'mcp-pptx-presentations-creator' 服务器的实际 IP 地址或域名。如果服务器运行在本地,则可以使用 'http://localhost:8958/sse'。

基本使用方法

  1. 将 MCP 服务器添加到 LibreChat: 按照上述 "服务器配置" 步骤,将 'mcp-pptx-presentations-creator' 服务器添加到 LibreChat 的 'mcpServers' 配置中,并重启 LibreChat 使配置生效。

  2. 创建 Agent 并添加工具: 在 LibreChat 中创建一个新的 Agent,并将 'create-powerpoint-presentation' 工具添加到该 Agent 的工具列表中。

  3. 使用 Agent 创建演示文稿: 与包含 'create-powerpoint-presentation' 工具的 Agent 对话,指示其创建演示文稿。可以使用自然语言指令,例如: "请创建一个关于太阳系的演示文稿,包含标题页、介绍太阳系行星的章节和每颗行星的详细介绍。"

    LLM 会根据指令,并结合 'create-powerpoint-presentation' 工具的参数定义,生成符合要求的 JSON 参数,调用 MCP 服务器创建演示文稿。

    工具参数示例 (JSON 格式):

    {
      "format": "16:9",
      "slides": [
        {
          "slide_type": "title",
          "slide_title": "太阳系",
          "author": "AI 助手"
        },
        {
          "slide_type": "section",
          "slide_title": "行星概览"
        },
        {
          "slide_type": "content",
          "slide_title": "水星",
          "slide_text": [
            {"text": "离太阳最近的行星", "indentation_level": 1},
            {"text": "表面温差极大", "indentation_level": 1}
          ]
        },
        {
          "slide_type": "content",
          "slide_title": "金星",
          "slide_text": [
            {"text": "又称启明星或长庚星", "indentation_level": 1},
            {"text": "拥有浓密的大气层", "indentation_level": 1}
          ]
        }
      ]
    }

    LLM 需要根据用户指令,构造符合 'create-powerpoint-presentation' 工具 'inputSchema' 定义的 JSON 参数。

  4. 获取演示文稿: 服务器创建演示文稿后,会根据配置的上传策略,返回演示文稿的链接或本地保存路径给 LLM 客户端,客户端可以将链接或路径展示给用户。

通过以上步骤,即可使用 'mcp-pptx-presentations-creator' MCP 服务器,结合 LLM 客户端,实现自动创建 PowerPoint 演示文稿的功能。

信息

分类

生产力应用