这是一个基于 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包管理器安装服务器:
- 确保已安装 Python 环境。
- 打开命令行或终端。
- 使用 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客户端应用即可连接服务器。
基本使用方法
- 确保已按照上述步骤安装并配置好服务器,并重启了MCP客户端(如Claude Desktop)。
- 在支持MCP工具调用的聊天界面中,LLM可以通过协议与该服务器通信。
- 用户可以在与LLM的对话中提出与PowerPoint和SVG相关的任务,例如:
- “请帮我创建一个包含这个SVG文件(提供文件路径或代码)的PPTX文件。”
- “将这个SVG(提供文件路径或代码)全屏插入到演示文稿 'my_presentation.pptx' 的第5页。”
- “请列出我临时目录中的所有SVG文件。”
- LLM会识别用户的意图,并调用MCP OKPPT服务器提供的相应工具(如 'create_pptx_from_svg', 'insert_svg', 'list_files' 等)来完成任务。
- 服务器执行操作后,会将结果(如成功消息、新的文件路径或错误信息)返回给LLM,LLM再将结果呈现给用户。
信息
分类
AI与计算