使用说明
PowerPoint MCP服务器
此项目提供了一个模型上下文协议(MCP)服务器,用于创建和操作Microsoft PowerPoint演示文稿(.pptx 文件)。它公开了一组可由MCP兼容客户端调用的工具,用于生成幻灯片、添加形状、文本等。
服务器是使用Python构建的 FastMCP 框架和 python-pptx 图书馆。
设置和安装
要开始使用此服务器,您需要安装Python 3。
-
克隆存储库或下载源代码。
-
创建虚拟环境(推荐):
python -m venv .venv source .venv/bin/activate # On Windows, use `.venv\Scripts\activate` -
安装所需的依赖项:
pip install -r requirements.txt
运行服务器
安装依赖项后,您可以在终端中运行以下命令来启动MCP服务器:
python server.py
服务器将在上启动并监听传入的MCP请求 0.0.0.0:8081.
可用工具
此服务器为构建PowerPoint演示文稿提供了一套丰富的工具。这些工具被组织成逻辑组。
展示管理
这些工具处理演示文稿文件的创建、打开、保存和检查。
-
create_presentation(id: Optional[str] = None) -> Dict- 说明: 在内存中创建新的空PowerPoint演示文稿。
- 参数:
id(可选):演示文稿的唯一标识符。如果没有提供,将自动生成一个。
- 退货: 包含以下内容的词典
presentation_id、确认消息和初始幻灯片计数。
-
open_presentation(file_path: str, id: Optional[str] = None) -> Dict- 说明: 打开现有
.pptx本地文件系统中的文件。 - 参数:
file_path(str):要打开的演示文件的路径。id(可选):分配给打开的演示文稿的唯一标识符。
- 退货: 一本带
presentation_id、一条消息和幻灯片计数。
- 说明: 打开现有
-
save_presentation(file_path: str, presentation_id: Optional[str] = None) -> Dict- 说明: 将演示文稿从内存保存到
.pptx文件。 - 参数:
file_path(str):保存演示文稿的路径。presentation_id(可选):要保存的演示文稿的ID。如果没有提供,将使用当前活动的演示文稿。
- 退货: 确认消息和最终文件路径。
- 说明: 将演示文稿从内存保存到
-
get_presentation_info(presentation_id: Optional[str] = None) -> Dict- 说明: 检索演示文稿的元数据,包括幻灯片数量、可用幻灯片布局和核心属性。
- 参数:
presentation_id(可选):要检查的演示文稿的ID。
- 退货: 包含演示文稿元数据的词典。
-
set_core_properties(...) -> Dict- 说明: 设置演示文稿的核心文档属性(例如,标题、作者、主题)。
- 参数:
title,subject,author,keywords,comments,presentation_id. - 退货: 确认消息和更新的属性。
幻灯片管理
这些工具用于在演示文稿中添加和管理幻灯片。
add_slide(layout_index: int = 1, title: Optional[str] = None, presentation_id: Optional[str] = None) -> Dict- 说明: 使用指定的布局将新幻灯片添加到演示文稿中。
- 参数:
layout_index(int):要使用的幻灯片布局的索引(从0开始)。title(可选):为新幻灯片设置的标题。presentation_id(可选):目标演示文稿的ID。
- 退货: 带有确认消息、新幻灯片索引和布局信息的词典。
形状和文本工具
这些工具允许您绘制形状并向幻灯片添加文本。
-
add_shape(...) -> Dict- 说明: 将自动形状(例如矩形、椭圆形、箭头)添加到指定幻灯片。
- 参数:
slide_index,shape_type,left,top,width,height,fill_color,line_color,line_width,presentation_id. - 退货: 确认消息和新创建形状的索引。
-
add_textbox(...) -> Dict- 说明: 在幻灯片中添加文本框,并允许设置文本格式。
- 参数:
slide_index,left,top,width,height,text,font_size,font_name,bold,italic,color,alignment,presentation_id. - 退货: 确认消息和新文本框形状的索引。
这个项目是可扩展的。通过在中定义新功能,可以轻松添加新工具 ppt_utils.py 并通过新的 @mcp.tool() 装饰功能 server.py.