PowerPoint Creator MCP Server
一个 MCP 服务器,支持你使用 LLM 和自然语言自动生成 PowerPoint。
ltc6539
README
PowerPoint Creator MCP 服务器
此 MCP 服务器支持通过一组 API 工具动态创建和修改 PowerPoint 演示文稿。它基于 MCP 构建,并使用 python-pptx 库,提供了一个灵活的界面来添加幻灯片、图像、表格等。
功能
-
创建演示文稿 使用标题初始化一个新的 PowerPoint 演示文稿,该标题会生成唯一的演示文稿 ID。
-
幻灯片操作
- 标题幻灯片: 添加带有可选副标题的标题幻灯片。
- 内容幻灯片: 创建带有标题和项目符号内容幻灯片。
- 节幻灯片: 插入带有大型居中标题和可选背景颜色的节分隔幻灯片。
- 图像幻灯片: 添加包含来自本地文件或 URL 的图像的幻灯片,带有标题和描述性替代文本。
- 表格幻灯片: 插入包含具有定义的标题和行数据的表格的幻灯片。
-
演示文稿管理
- 保存演示文稿: 将演示文稿写入指定的文件路径,并在需要时处理临时目录。
- 下载链接: 生成一个带有 base64 编码的演示文稿内容的数据 URI,用于直接下载。
- 演示文稿信息: 检索有关演示文稿的元数据,例如幻灯片数量和可用的幻灯片布局。
- 演示文稿大纲: 通过专用资源端点获取演示文稿结构的基于文本的大纲。
- 删除幻灯片: 按其从 1 开始的索引删除幻灯片。
- 导出为 Base64: 将完整的演示文稿导出为 base64 编码的字符串,以供进一步处理。
安装
-
克隆存储库
git clone https://github.com/ltc6539/mcp-ppt.git cd mcp-ppt
-
创建虚拟环境(可选但推荐)
python3 -m venv venv source venv/bin/activate # 在 Windows 上使用:venv\Scripts\activate
-
安装依赖项
pip install -r requirements.txt
与 Claude Desktop 一起使用
将此添加到您的 claude_desktop_config.json
:
{
"mcpServers": {
"PowerPoint Creator": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"python-pptx",
"mcp",
"run",
"your_path/mcp-ppt/main.py"
]
}
}
}
请务必将 your_path
修改为实际路径
您可能需要在 command 字段中放入 uv 可执行文件的完整路径。您可以通过在 MacOS/Linux 上运行 which uv
或在 Windows 上运行 where uv
来获取此路径。
在启动期间,服务器会将 Python 和 python-pptx 版本信息记录到 stderr。执行期间的任何错误也会打印到 stderr 以方便调试。
API 端点 / 工具
每个 MCP 工具函数都可以通过 MCP 服务器直接访问。以下是可用的主要操作:
1. 创建演示文稿
- 函数:
create_presentation(title: str) -> str
- 描述: 初始化一个新的演示文稿并返回一个唯一的演示文稿 ID。
2. 添加标题幻灯片
- 函数:
add_title_slide(prs_id: str, title: str, subtitle: Optional[str] = None) -> str
- 描述: 将标题幻灯片添加到指定的演示文稿。
3. 添加内容幻灯片
- 函数:
add_content_slide(prs_id: str, title: str, content: List[str]) -> str
- 描述: 插入带有标题和多个项目符号的内容幻灯片。
4. 添加节幻灯片
- 函数:
add_section_slide(prs_id: str, section_title: str, background_color: Optional[str] = None) -> str
- 描述: 创建一个带有可自定义背景颜色和大型居中文本的节分隔幻灯片。
5. 添加图像幻灯片
- 函数:
add_image_slide(prs_id: str, title: str, image_path: str, image_description: str) -> str
- 描述: 添加图像幻灯片。可以从本地文件加载图像,也可以从 URL 下载图像。
6. 添加表格幻灯片
- 函数:
add_table_slide(prs_id: str, title: str, headers: List[str], rows: List[List[str]]) -> str
- 描述: 插入包含由列标题和数据行定义的表格的幻灯片。
7. 保存演示文稿
- 函数:
save_presentation(prs_id: str, output_path: str) -> str
- 描述: 将演示文稿保存到指定的输出路径,并在必要时管理临时目录。
8. 获取演示文稿下载链接
- 函数:
get_presentation_download_link(prs_id: str) -> str
- 描述: 返回一个带有 base64 编码的演示文稿数据的数据 URI,用于直接浏览器下载。
9. 获取演示文稿信息
- 函数:
get_presentation_info(prs_id: str) -> str
- 描述: 检索元数据,例如幻灯片计数和有关可用幻灯片布局的详细信息。
10. 获取演示文稿大纲
- 资源端点:
presentation://{prs_id}/outline
- 描述: 提供演示文稿结构的文本表示形式,包括幻灯片标题和内容摘要。
11. 删除幻灯片
- 函数:
remove_slide(prs_id: str, slide_index: int) -> str
- 描述: 从演示文稿中删除由其从 1 开始的索引标识的幻灯片。
12. 导出为 Base64
- 函数:
export_to_base64(prs_id: str) -> str
- 描述: 将演示文稿导出为 base64 编码的字符串(前 100 个字符显示为示例)。
错误处理和调试
-
错误检查: 每个工具都会验证输入(例如,验证演示文稿 ID 或文件是否存在)并返回描述性错误消息。
-
临时目录: 服务器确保文件保存在可写目录(通常为
/tmp
)中,如果提供的路径是只读的,则会相应地回退。 -
日志记录: 错误和版本信息会输出到 stderr,以帮助进行调试和监控。
贡献
欢迎贡献。如果您遇到问题或有改进建议,请打开一个 issue 或提交一个 pull request。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。