该项目提供了一个与 Claude Desktop 通过模型控制协议(MCP)协作的 PowerPoint 自动化服务器。它允许 Claude 与 Microsoft PowerPoint 进行交互,实现创建演示文稿、添加幻灯片、修改内容等功能。
uvx 运行:uvx --from https://github.com/socamalo/PPT_MCP_Server.git mcp-ppt
克隆此仓库:
安装依赖项:
uv add fastmcp pywin32
配置 Claude Desktop:
要配置 Claude Desktop 使用此 MCP 服务器,请在位于 %APPDATA%\Claude\claude_desktop_config.json 的 Claude Desktop 配置文件中添加以下内容:
{
"mcpServers": {
"ppts": {
"command": "uv",
"args": ["run", "path/to/main.py"]
}
}
}
如果你使用虚拟环境或替代 Python 可执行文件(如 uv):
{
"mcpServers": {
"ppts": {
"command": "C:\\Path\\To\\Python\\Scripts\\uv.exe",
"args": ["run", "C:\\Path\\To\\Project\\main.py"]
}
}
}
配置完成后,你可以使用 Claude Desktop 控制 PowerPoint。示例交互:
初始化 PowerPoint:
能否帮我打开 PowerPoint?
创建新的演示文稿:
请创建一个新的 PowerPoint 演示文稿。
添加幻灯片:
将一张新幻灯片添加到演示文稿中。
添加内容:
在第 1 张幻灯片上添加一个文本框,内容为“Hello World”。
保存演示文稿:
将演示文稿保存到 C:\Users\username\Documents\presentation.pptx
该服务器提供了以下 PowerPoint 自动化功能:
initialize_powerpoint(): 连接到 PowerPoint 并使其可见get_presentations(): 列出所有已打开的演示文稿open_presentation(path): 从文件打开演示文稿get_slides(presentation_id): 获取演示文稿中的所有幻灯片get_slide_text(presentation_id, slide_id): 获取幻灯片的文本内容update_text(presentation_id, slide_id, shape_id, text): 更新形状中的文本save_presentation(presentation_id, path): 保存演示文稿close_presentation(presentation_id, save): 关闭演示文稿create_presentation(): 创建新的演示文稿add_slide(presentation_id, layout_type): 添加新的幻灯片add_text_box(presentation_id, slide_id, text, left, top, width, height): 添加文本框set_slide_title(presentation_id, slide_id, title): 设置幻灯片标题pywin32 和 fastmcp Python 包欢迎贡献!请随时提交拉取请求。
MIT 许可证 </中文翻译>