Office PowerPoint MCP服务器
](https://smithery.ai/server/@GongRzhe/Office-PowerPoint-MCP-Server) 
一个使用python pptx进行PowerPoint操作的综合MCP(模型上下文协议)服务器。 版本2.0 提供32个强大的工具,分为11个专业模块,提供完整的PowerPoint创建、管理和专业设计功能。该服务器采用模块化架构,具有增强的参数处理、智能操作选择和全面的错误处理功能。
______________________________________________________________________
使用新的slide_layout_templates不再那么难看了
______________________________________________________________________
示例
提示
输出
演示GIF->(./public/Demo.mp4)
特性
PowerPoint核心操作
- 往返支持 适用于任何Open XML演示文稿(.pptx文件),包括所有元素
- 模板支撑 具有自动主题和布局保存功能
- 多演示文稿管理 具有全局状态跟踪功能
- 核心文档属性 管理(标题、主题、作者、关键字、评论)
内容创建和管理
- 幻灯片管理 布局选择灵活
- 文本处理 使用占位符填充和要点创建
- 高级文本格式 具有字体、颜色、对齐和样式控件
- 文本验证 具有自动拟合检查和优化建议
视觉元素
- 图像处理 支持文件和base64输入
- 图像增强 使用带有亮度、对比度、饱和度和滤镜控制的枕头
- 专业图像效果 包括阴影、反射、光晕和柔和边缘
- 形状创建 具有20多种自动形状类型(矩形、椭圆形、流程图元素等)
- 表格创建 具有高级单元格格式和样式
图表和数据可视化
- 图表支持 用于柱状图、条形图、折线图和饼图
- 数据系列管理 具有类别和多系列支持
- 图表格式 带有图例、数据标签和标题
专业设计特点
- 4种专业配色方案 (现代蓝、企业灰、优雅绿、暖红)
- 专业排版 使用Segoe UI字体系列和大小预设
- 主题应用程序 在演示文稿中自动设置样式
- 渐变背景 具有可定制的方向和配色方案
- 滑动增强 现有内容的工具
- 25个内置幻灯片模板 具有动态尺寸和视觉效果
- 高级模板功能 包括自动换行、动态字体大小和专业动画
高级功能
- 字体分析和优化 使用字体工具
- 图片效果 具有9种不同的视觉效果(阴影、反射、光晕、斜面等)
- 全面验证 具有自动错误修复功能
- 模板搜索 具有可配置的目录路径
- 专业布局计算 具有边距和间距管理
安装
通过Smithery安装
通过以下方式自动安装Claude Desktop的PowerPoint操作服务器 铁匠铺:
npx -y @smithery/cli install @GongRzhe/Office-PowerPoint-MCP-Server --client claude先决条件
- Python 3.6或更高版本(如pyproject.toml中指定的)
- pip包管理器
- 可选:uvx用于无需本地安装即可执行包
安装选项
选项1:使用安装脚本(推荐)
设置PowerPoint MCP服务器的最简单方法是使用提供的安装脚本,该脚本可以自动执行安装过程:
python setup_mcp.py此脚本将:
- 检查先决条件
- 提供安装选项:
- 从PyPI安装(建议大多数用户使用) - 营造当地发展环境
- 安装所需的依赖项
- 生成相应的MCP配置文件
- 提供与Claude Desktop集成的说明
该脚本根据您的环境提供不同的路径:
- 如果你有
uvx安装后,它将使用UVX进行配置(推荐) - 如果服务器已经安装,它将提供配置选项
- 如果未安装服务器,则提供安装方法
选项2:手动安装
- 克隆存储库:
git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git
cd Office-PowerPoint-MCP-Server- 安装依赖项:
pip install -r requirements.txt- 使服务器可执行:
chmod +x ppt_mcp_server.py用法
显示帮助文本:
python ppt_mcp_server.py -h启动Stdio服务器
运行stdio服务器:
python ppt_mcp_server.py启动流式Http服务器
在端口8000上运行可流式传输的http服务器:
python ppt_mcp_server.py --transport http --port 8000在Docker中运行
docker build -t ppt_mcp_server .
docker run -d --rm -p 8000:8000 ppt_mcp_server -t httpMCP配置
选项1:本地Python服务器
将服务器添加到MCP设置配置文件中:
{
"mcpServers": {
"ppt": {
"command": "python",
"args": ["/path/to/ppt_mcp_server.py"],
"env": {}
}
}
}选项2:使用UVX(无需本地安装)
如果你有 uvx 安装后,您可以直接从PyPI运行服务器,而无需本地安装:
{
"mcpServers": {
"ppt": {
"command": "uvx",
"args": [
"--from", "office-powerpoint-mcp-server", "ppt_mcp_server"
],
"env": {}
}
}
}🚀 v2.0中的新增功能
综合工具套件(32个工具)
- 完成PowerPoint操作 34种专用工具
- 11个有组织的模块 涵盖演示文稿创建的各个方面
- 增强的参数处理 经过全面验证
- 智能默认值 基于操作的界面
内置幻灯片模板
- 25+专业幻灯片模板 内置动态功能
- 先进的模板系统 具有自动生成功能
- 自动调整文本大小 适应内容长度和容器大小
- 专业视觉效果 包括阴影、光晕和渐变
- 完成演示文稿生成 从模板序列
模块化架构
- 11个专业模块:演示文稿、内容、结构、专业、模板、超链接、图表、连接器、母版和转换工具
- 更好的可维护性 关注点分散
- 更容易扩展 用于添加新功能
- 更简洁的代码结构 共享公用设施
可用工具
服务器提供 34种专用工具 分为以下几类:
演示文稿管理(7个工具)
- create_呈现 -创建新演示文稿
- create_presentation_from_template -从保留主题的模板创建
- open_呈现 -打开现有演示文稿
- 保存演示文稿 -将演示文稿保存到文件
- get_resentation_info -获取全面的演示信息
- get_template_file_info -分析模板文件和布局
- set_core_properties -设置文档属性
内容管理(8个工具)
- add_slide -添加具有可选背景样式的幻灯片
- get_slide_info -获取详细的幻灯片信息
- extract_slide_text - ✨ 新 从特定幻灯片中提取所有文本内容
- 提取_呈现_文本 - ✨ 新 从演示文稿中的所有幻灯片中提取文本内容
- populate_placeholder -用文本填充占位符
- add_bullet_points -添加格式化的项目符号
- manage_text - ✨ 统一文本工具 (添加/格式化/验证/格式化_运行)
- manage_image - ✨ 统一图像工具 (添加/增强)
模板操作(7个工具)
- list_slide_templates -浏览可用的幻灯片布局模板
- 应用程序_幻灯片_模板 -将结构化布局模板应用于现有幻灯片
- create_slide_rom_template -使用布局模板创建新幻灯片
- create_presentation_from_templates -从模板序列创建完整的演示文稿
- get_template_info -获取特定模板的详细信息
- 自动生成演示文稿 -根据主题自动生成演示文稿
- optimize_slide_text -优化文本元素以提高可读性和适应性
结构元素(4个工具)
- add_table -创建具有增强格式的表格
- format_table_cell -设置单个表格单元格的格式
- add_shape -添加带有文本和格式选项的形状
- add_chart -创建具有全面自定义功能的图表
专业设计(3个工具)
- 应用_专业_设计 - ✨ 统一设计工具 (主题/幻灯片/增强)
- 应用程序_图片_效果 - ✨ 统一效果工具 (9+效果组合)
- manage_fonts - ✨ 统一字体工具 (分析/优化/推荐)
专业功能(5个工具)
- manage_hyperlinks -完成超链接管理(添加/删除/列出/更新)
- 经理_幻灯片_主持人 -访问和管理幻灯片母版属性和布局
- add_connector -在幻灯片上的点之间添加连接线/箭头
- update_chart_data -用新的类别和系列替换现有的图表数据
- manage_slide_transitions -基本幻灯片转换管理
🌟 关键统一工具
manage_text -多功能文本管理
# Add text box
manage_text(slide_index=0, operation="add", text="Hello World", font_size=24)
# Format existing text
manage_text(slide_index=0, operation="format", shape_index=0, bold=True, color=[255,0,0])
# Validate text fit with auto-fix
manage_text(slide_index=0, operation="validate", shape_index=0, validation_only=False)manage_image -完整的图像处理
# Add image with enhancement
manage_image(slide_index=0, operation="add", image_source="logo.png",
enhancement_style="presentation")
# Enhance existing image
manage_image(slide_index=0, operation="enhance", image_source="photo.jpg",
brightness=1.2, contrast=1.1, saturation=1.3)apply_picture_effects -一次通话产生多种效果
# Apply combined effects
apply_picture_effects(slide_index=0, shape_index=0, effects={
"shadow": {"blur_radius": 4.0, "color": [128,128,128]},
"glow": {"size": 5.0, "color": [0,176,240]},
"rotation": {"rotation": 15.0}
})apply_professional_design -主题与设计管理
# Add professional slide
apply_professional_design(operation="slide", slide_type="title_content",
color_scheme="modern_blue", title="My Presentation")
# Apply theme to entire presentation
apply_professional_design(operation="theme", color_scheme="corporate_gray")
# Enhance existing slide
apply_professional_design(operation="enhance", slide_index=0, color_scheme="elegant_green")例子
创建新演示文稿
# Create a new presentation
result = use_mcp_tool(
server_name="ppt",
tool_name="create_presentation",
arguments={}
)
presentation_id = result["presentation_id"]
# Add a title slide
result = use_mcp_tool(
server_name="ppt",
tool_name="add_slide",
arguments={
"layout_index": 0, # Title slide layout
"title": "My Presentation",
"presentation_id": presentation_id
}
)
slide_index = result["slide_index"]
# Populate subtitle placeholder
result = use_mcp_tool(
server_name="ppt",
tool_name="populate_placeholder",
arguments={
"slide_index": slide_index,
"placeholder_idx": 1, # Subtitle placeholder
"text": "Created with PowerPoint MCP Server",
"presentation_id": presentation_id
}
)
# Save the presentation
result = use_mcp_tool(
server_name="ppt",
tool_name="save_presentation",
arguments={
"file_path": "my_presentation.pptx",
"presentation_id": presentation_id
}
)使用v2.0创建专业演示文稿
# Create a professional slide with modern styling - CONSOLIDATED TOOL
result = use_mcp_tool(
server_name="ppt",
tool_name="apply_professional_design",
arguments={
"operation": "slide",
"slide_type": "title_content",
"color_scheme": "modern_blue",
"title": "Quarterly Business Review",
"content": [
"Revenue increased by 15% compared to last quarter",
"Customer satisfaction scores reached all-time high of 94%",
"Successfully launched 3 new product features",
"Expanded team by 12 new talented professionals"
]
}
)
# Apply professional theme to entire presentation - SAME TOOL, DIFFERENT OPERATION
result = use_mcp_tool(
server_name="ppt",
tool_name="apply_professional_design",
arguments={
"operation": "theme",
"color_scheme": "modern_blue",
"apply_to_existing": True
}
)
# Add slide with gradient background - ENHANCED ADD_SLIDE
result = use_mcp_tool(
server_name="ppt",
tool_name="add_slide",
arguments={
"layout_index": 0,
"background_type": "professional_gradient",
"color_scheme": "modern_blue",
"gradient_direction": "diagonal"
}
)使用内置幻灯片模板(v2.0中的新功能)
# List all available slide templates with their features
result = use_mcp_tool(
server_name="ppt",
tool_name="list_slide_templates",
arguments={}
)
# Apply a professional template to an existing slide
result = use_mcp_tool(
server_name="ppt",
tool_name="apply_slide_template",
arguments={
"slide_index": 0,
"template_id": "title_slide",
"color_scheme": "modern_blue",
"content_mapping": {
"title": "Quarterly Business Review",
"subtitle": "Q4 2024 Results",
"author": "Leadership Team"
}
}
)
# Create a new slide using a template
result = use_mcp_tool(
server_name="ppt",
tool_name="create_slide_from_template",
arguments={
"template_id": "text_with_image",
"color_scheme": "elegant_green",
"content_mapping": {
"title": "Our Revolutionary Solution",
"content": "• 250% increase in efficiency\n• 98% customer satisfaction\n• Industry-leading performance"
},
"image_paths": {
"supporting": "path/to/product_image.jpg"
}
}
)
# Generate a complete presentation from multiple templates
result = use_mcp_tool(
server_name="ppt",
tool_name="create_presentation_from_templates",
arguments={
"template_sequence": [
{
"template_id": "title_slide",
"content": {
"title": "2024 Annual Report",
"subtitle": "Growth and Innovation",
"author": "Executive Team"
}
},
{
"template_id": "key_metrics_dashboard",
"content": {
"metric_1_value": "94%",
"metric_2_value": "$2.4M",
"metric_3_value": "247"
}
},
{
"template_id": "before_after_comparison",
"content": {
"content_left": "Manual processes taking hours",
"content_right": "Automated workflows in minutes"
}
}
],
"color_scheme": "modern_blue"
}
)2.0版增强的图像管理
# Add image with automatic enhancement - CONSOLIDATED TOOL
result = use_mcp_tool(
server_name="ppt",
tool_name="manage_image",
arguments={
"slide_index": 1,
"operation": "add",
"image_source": "company_logo.png",
"left": 1.0,
"top": 1.0,
"width": 3.0,
"height": 2.0,
"enhancement_style": "presentation"
}
)
# Apply multiple picture effects at once - CONSOLIDATED TOOL
result = use_mcp_tool(
server_name="ppt",
tool_name="apply_picture_effects",
arguments={
"slide_index": 1,
"shape_index": 0,
"effects": {
"shadow": {
"shadow_type": "outer",
"blur_radius": 4.0,
"distance": 3.0,
"direction": 315.0,
"color": [128, 128, 128],
"transparency": 0.6
},
"glow": {
"size": 5.0,
"color": [0, 176, 240],
"transparency": 0.4
}
}
}
)2.0版高级文本管理
# Add and format text in one operation - CONSOLIDATED TOOL
result = use_mcp_tool(
server_name="ppt",
tool_name="manage_text",
arguments={
"slide_index": 0,
"operation": "add",
"left": 1.0,
"top": 2.0,
"width": 8.0,
"height": 1.5,
"text": "Welcome to Our Quarterly Review",
"font_size": 32,
"font_name": "Segoe UI",
"bold": True,
"color": [0, 120, 215],
"alignment": "center",
"auto_fit": True
}
)
# Validate and fix text fit issues - SAME TOOL, DIFFERENT OPERATION
result = use_mcp_tool(
server_name="ppt",
tool_name="manage_text",
arguments={
"slide_index": 0,
"operation": "validate",
"shape_index": 0,
"validation_only": False, # Auto-fix enabled
"min_font_size": 10,
"max_font_size": 48
}
)从模板创建演示文稿
# First, inspect a template to see its layouts and properties
result = use_mcp_tool(
server_name="ppt",
tool_name="get_template_info",
arguments={
"template_path": "company_template.pptx"
}
)
template_info = result
# Create a new presentation from the template
result = use_mcp_tool(
server_name="ppt",
tool_name="create_presentation_from_template",
arguments={
"template_path": "company_template.pptx"
}
)
presentation_id = result["presentation_id"]
# Add a slide using one of the template's layouts
result = use_mcp_tool(
server_name="ppt",
tool_name="add_slide",
arguments={
"layout_index": 1, # Use layout from template
"title": "Quarterly Report",
"presentation_id": presentation_id
}
)
# Save the presentation
result = use_mcp_tool(
server_name="ppt",
tool_name="save_presentation",
arguments={
"file_path": "quarterly_report.pptx",
"presentation_id": presentation_id
}
)添加高级图表和数据可视化
# Add a chart slide
result = use_mcp_tool(
server_name="ppt",
tool_name="add_slide",
arguments={
"layout_index": 1, # Content slide layout
"title": "Sales Data",
"presentation_id": presentation_id
}
)
slide_index = result["slide_index"]
# Add a column chart with comprehensive customization
result = use_mcp_tool(
server_name="ppt",
tool_name="add_chart",
arguments={
"slide_index": slide_index,
"chart_type": "column",
"left": 1.0,
"top": 2.0,
"width": 8.0,
"height": 4.5,
"categories": ["Q1", "Q2", "Q3", "Q4"],
"series_names": ["2023", "2024"],
"series_values": [
[100, 120, 140, 160],
[110, 130, 150, 170]
],
"has_legend": True,
"legend_position": "bottom",
"has_data_labels": True,
"title": "Quarterly Sales Performance",
"presentation_id": presentation_id
}
)使用v2.0进行文本验证和优化
# Validate text fit and get optimization suggestions - USING CONSOLIDATED TOOL
result = use_mcp_tool(
server_name="ppt",
tool_name="manage_text",
arguments={
"slide_index": 0,
"operation": "validate",
"shape_index": 0,
"text": "This is a very long title that might not fit properly in the designated text box area",
"font_size": 24,
"validation_only": True
}
)
# Comprehensive slide validation with automatic fixes - SAME TOOL, AUTO-FIX ENABLED
result = use_mcp_tool(
server_name="ppt",
tool_name="manage_text",
arguments={
"slide_index": 0,
"operation": "validate",
"shape_index": 0,
"validation_only": False, # Auto-fix enabled
"min_font_size": 10,
"max_font_size": 48
}
)使用新的文本提取工具阅读幻灯片内容(v2.1)
# Extract text content from a specific slide - NEW TOOL
result = use_mcp_tool(
server_name="ppt",
tool_name="extract_slide_text",
arguments={
"slide_index": 0,
"presentation_id": presentation_id
}
)
# The result includes:
{
"success": True,
"slide_index": 0,
"text_content": {
"slide_title": "Quarterly Business Review",
"placeholders": [
{
"shape_index": 1,
"shape_name": "Subtitle Placeholder 2",
"text": "Q4 2024 Results",
"placeholder_type": "SUBTITLE",
"placeholder_idx": 1
}
],
"text_shapes": [
{
"shape_index": 3,
"shape_name": "TextBox 4",
"text": "Revenue increased by 15%"
}
],
"table_text": [],
"all_text_combined": "Quarterly Business Review\nQ4 2024 Results\nRevenue increased by 15%"
},
"total_text_shapes": 2,
"has_title": True,
"has_tables": False
}
# Extract text from all slides in the presentation - NEW TOOL
result = use_mcp_tool(
server_name="ppt",
tool_name="extract_presentation_text",
arguments={
"presentation_id": presentation_id,
"include_slide_info": True
}
)
# The result includes comprehensive text extraction:
{
"success": True,
"presentation_id": "pres_123",
"total_slides": 5,
"slides_with_text": 4,
"total_text_shapes": 12,
"slides_with_titles": 3,
"slides_with_tables": 1,
"slides_text": [...], # Detailed per-slide text content
"all_presentation_text_combined": "=== SLIDE 1 ===\nTitle Here\nContent here..."
}
# Extract text without additional slide metadata for cleaner output
result = use_mcp_tool(
server_name="ppt",
tool_name="extract_presentation_text",
arguments={
"presentation_id": presentation_id,
"include_slide_info": False
}
)模板支撑
使用模板
PowerPoint MCP服务器为从现有模板文件创建演示文稿提供了全面的模板支持。此功能启用:
- 企业品牌 具有预定义的主题、布局和样式
- 一致的演示文稿 跨团队和项目
- 自定义幻灯片母版 以及专门的布局
- 预配置属性 和文档设置
- 灵活的模板发现 具有可配置的搜索路径
模板文件要求
- 支持的格式:
.pptx和.potx文件 - 现有内容:模板可以包含现有幻灯片(在创建过程中保留)
- 布局可用性:所有自定义布局和幻灯片母版均可访问
- 搜索地点:可通过配置
PPT_TEMPLATE_PATH环境变量 - 默认搜索路径:当前目录,
./templates,./assets,./resources
模板配置
设置 PPT_TEMPLATE_PATH 用于指定自定义模板目录的环境变量:
# Unix/Linux/macOS
export PPT_TEMPLATE_PATH="/path/to/templates:/another/path"
# Windows
set PPT_TEMPLATE_PATH="C:\templates;C:\company_templates"模板工作流
- 检查模板:使用
get_template_info分析可用的布局和属性 - 从模板创建:使用
create_presentation_from_template具有自动主题保存功能 - 使用模板布局:添加幻灯片时参考模板分析中的布局索引
- 维护品牌:模板主题、字体和颜色会自动应用于新内容
专业配色方案
服务器内置4种专业配色方案:
- 现代蓝色:受微软启发的蓝色主题,搭配互补色
- 企业灰色:带有蓝色色调的专业灰度主题
- 优雅的绿色:森林绿色主题,奶油色和浅绿色点缀
- 暖红色:深红色主题,橙色和黄色点缀
每个方案都包括针对业务演示优化的主色、次色、重音色、浅色和文本颜色。
🎨 内置幻灯片模板(v2.0中的新功能)
PowerPoint MCP服务器现在包括 25个专业幻灯片模板 具有先进的动态功能。所有模板支持:
动态特性
- 自动调整文本大小 基于内容物长度和容器尺寸
- 智能文本包装 在指定区域内安装
- 视觉效果 包括阴影、光晕和轮廓
- 渐变背景 多层组合
- 专业动画 准备提交演示文稿
- 交互式悬停效果 增强用户体验
- 智能内容溢出处理 具有自动调节功能
可用模板类别
标题和介绍幻灯片
title_slide-带有渐变背景和文本效果的动态标题幻灯片chapter_intro-带章节编号和样式的章节分隔符thank_you_slide-带有联系方式和效果的闭幕幻灯片
内容布局幻灯片
text_with_image-带有风格化图像和互动元素的文本内容two_column_text-两列相等的文本,具有动态大小two_column_text_images-两列文字和相应的图像three_column_layout-三列相等的文字和图像full_image_slide-带有文本叠加的大背景图像
业务和分析幻灯片
key_metrics_dashboard-带有动画计数器的交互式指标仪表板before_after_comparison-带有视觉分隔符的动态比较布局chart_comparison-两张并排的图表用于性能比较data_table_slide-幻灯片专注于具有专业风格的表格数据timeline_slide-带有里程碑和效果的水平时间线
流程幻灯片
process_flow-具有增强效果的分步流程可视化agenda_slide-带样式的目录或议程概述quote_testimonial-具有效果的特色报价或客户推荐
团队和组织幻灯片
team_introduction-团队成员展示照片和角色
模板使用示例
# Browse all available templates
templates = use_mcp_tool("ppt", "list_slide_templates", {})
# Key templates with their features:
{
"title_slide": {
"features": ["Dynamic text sizing", "Gradient backgrounds", "Text effects"],
"elements": ["title", "subtitle", "author", "decorative_accent"]
},
"key_metrics_dashboard": {
"features": ["Animated counters", "Gradient containers", "Trend visualization"],
"elements": ["3 metric containers", "trend chart", "insights callout"]
},
"before_after_comparison": {
"features": ["Split gradient background", "VS divider", "Improvement arrow"],
"elements": ["before/after headers", "comparison content", "improvement metrics"]
}
}配色方案集成
所有模板均与4种专业配色方案无缝配合:
- 现代蓝色:受微软启发的动态渐变主题
- 企业射线:专业灰度,带蓝色调
- 优雅绿色:森林绿,奶油色和浅色
- warm_red:深红色,带橙色和黄色亮点
动态内容自适应
模板会自动根据内容进行调整:
- 字体大小 基于文本长度的比例(8pt-44pt范围)
- 行距 调整可读性(1.0x-1.4x)
- 文字换行 在最佳点智能地打断线条
- 集装箱尺寸 适应内容溢出
- 视觉效果 根据元素大小适当缩放
📁 文件结构
Office-PowerPoint-MCP-Server/
├── ppt_mcp_server.py # Main consolidated server (v2.0)
├── slide_layout_templates.json # 25+ professional slide templates with dynamic features
├── tools/ # 11 specialized tool modules (32 tools total)
│ ├── __init__.py
│ ├── presentation_tools.py # Presentation management (7 tools)
│ ├── content_tools.py # Content & slides (6 tools)
│ ├── template_tools.py # Template operations (7 tools)
│ ├── structural_tools.py # Tables, shapes, charts (4 tools)
│ ├── professional_tools.py # Themes, effects, fonts (3 tools)
│ ├── hyperlink_tools.py # Hyperlink management (1 tool)
│ ├── chart_tools.py # Advanced chart operations (1 tool)
│ ├── connector_tools.py # Connector lines/arrows (1 tool)
│ ├── master_tools.py # Slide master management (1 tool)
│ └── transition_tools.py # Slide transitions (1 tool)
├── utils/ # 7 organized utility modules (68+ functions)
│ ├── __init__.py
│ ├── core_utils.py # Error handling & safe operations
│ ├── presentation_utils.py # Presentation management utilities
│ ├── content_utils.py # Content & slide operations
│ ├── design_utils.py # Themes, colors, effects & fonts
│ ├── template_utils.py # Template management & dynamic features
│ └── validation_utils.py # Text & layout validation
├── setup_mcp.py # Interactive setup script
├── pyproject.toml # Updated for v2.0
└── README.md # This documentation🏗️ 架构优势
模块化设计
- 7个重点实用模块 责任明确
- 11个有组织的工具模块 全面覆盖
- 68+实用功能 按功能组织
- 32个MCP工具 涵盖所有PowerPoint操作需求
- 明确区分关注点 便于开发
代码组织
- 逻辑分组 跨模块的相关功能
- 更好的可发现性 有组织的工具类别
- 提高可测试性 带有隔离模块
- 未来可扩展性 通过模块化结构
全面覆盖
- 完整的PowerPoint生命周期 从创作到展示
- 先进的模板系统 具有自动生成功能
- 专业设计工具 具有多种效果和样式选项
- 专业功能 包括超链接、连接器和幻灯片母版
开发者体验
- 明确责任界限 模块之间
- 更容易调试 使用更小、更集中的文件
- 更简单的测试 具有独立功能
- 增强的可维护性 通过分离关注点
🔄 2.0版本的新增功能
功能增强,工具覆盖全面! 更新后的服务器提供:
新增专用工具:
manage_hyperlinks-完成文本元素的超链接管理update_chart_data-高级图表数据替换和更新add_connector-滑动元件之间的连接线和箭头manage_slide_masters-访问幻灯片母版属性和布局manage_slide_transitions-基本幻灯片转换管理auto_generate_presentation-基于人工智能的演示生成optimize_slide_text-文本优化以提高可读性
增强现有工具:
manage_text-现在支持文本运行格式format_runs操作create_presentation_from_templates-增强的模板序列处理apply_picture_effects-扩展效果组合和选项
🔄 2.1版本的新增功能
添加了文本提取功能! 现在,您可以阅读现有演示文稿中的内容:
新增文本提取工具:
extract_slide_text-从特定幻灯片中提取所有文本内容,包括标题、占位符、文本形状和表格extract_presentation_text-使用综合统计数据和组合输出从演示文稿中的所有幻灯片中提取文本内容
文本提取的主要特征:
- 完整的文本覆盖 -标题、占位符、文本框和表格单元格的摘录
- 结构化输出 -按内容类型(标题、占位符、形状、表格)组织
- 演示范围分析 -幻灯片文本分布统计
- 灵活的输出选项 -单个幻灯片内容或组合演示文稿文本
- 错误处理 -优雅地处理无法处理的幻灯片
许可证
麻省理工学院

