Office PowerPoint MCP
Crie, edite e manipule apresentações do PowerPoint usando python-pptx.
Documentação
Office-PowerPoint-MCP-Server
Um servidor MCP (Model Context Protocol) abrangente para manipulação de PowerPoint usando python-pptx. Versão 2.0 fornece 32 ferramentas poderosas organizadas em 11 módulos especializados, oferecendo criação completa de apresentações, gerenciamento e recursos de design profissional. O servidor possui arquitetura modular com tratamento aprimorado de parâmetros, seleção inteligente de operações e tratamento abrangente de erros.
Não é mais tão feio com os novos slide_layout_templates
Exemplo
Prompt
Saída
GIF de demonstração -> (./public/demo.mp4)

Recursos
Operações Principais do PowerPoint
- Suporte round-trip para qualquer apresentação Open XML (.pptx) incluindo todos os elementos
- Suporte a templates com preservação automática de tema e layout
- Gerenciamento de múltiplas apresentações com rastreamento de estado global
- Gerenciamento de propriedades principais do documento (título, assunto, autor, palavras-chave, comentários)
Criação e Gerenciamento de Conteúdo
- Gerenciamento de slides com seleção flexível de layout
- Manipulação de texto com preenchimento de placeholders e criação de marcadores
- Formatação avançada de texto com controles de fonte, cor, alinhamento e estilo
- Validação de texto com verificação automática de ajuste e sugestões de otimização
Elementos Visuais
- Manipulação de imagens com suporte a entrada por arquivo e base64
- Aprimoramento de imagens usando Pillow com controles de brilho, contraste, saturação e filtros
- Efeitos profissionais de imagem incluindo sombras, reflexos, brilhos e bordas suaves
- Criação de formas com mais de 20 tipos de autoformas (retângulos, ovais, elementos de fluxograma, etc.)
- Criação de tabelas com formatação e estilização avançada de células
Gráficos e Visualização de Dados
- Suporte a gráficos de colunas, barras, linhas e pizza
- Gerenciamento de séries de dados com suporte a categorias e múltiplas séries
- Formatação de gráficos com legendas, rótulos de dados e títulos
Recursos de Design Profissional
- 4 esquemas de cores profissionais (Azul Moderno, Cinza Corporativo, Verde Elegante, Vermelho Quente)
- Tipografia profissional com família de fontes Segoe UI e predefinições de tamanho
- Aplicação de temas com estilização automática em todas as apresentações
- Fundos com gradiente com direções e esquemas de cores personalizáveis
- Ferramentas de aprimoramento de slides para conteúdo existente
- 25 templates de slides integrados com dimensionamento dinâmico e efeitos visuais
- Recursos avançados de template incluindo quebra automática de linha, dimensionamento dinâmico de fontes e animações profissionais
Recursos Avançados
- Análise e otimização de fontes usando FontTools
- Efeitos de imagem com 9 efeitos visuais diferentes (sombra, reflexo, brilho, bisel, etc.)
- Validação abrangente com correção automática de erros
- Busca de templates com caminhos de diretório configuráveis
- Cálculos profissionais de layout com gerenciamento de margens e espaçamento
Instalação
Instalando via Smithery
Para instalar o Servidor de Manipulação de PowerPoint para Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @GongRzhe/Office-PowerPoint-MCP-Server --client claude
Pré-requisitos
- Python 3.6 ou superior (conforme especificado no pyproject.toml)
- Gerenciador de pacotes pip
- Opcional: uvx para execução de pacotes sem instalação local
Opções de Instalação
Opção 1: Usando o Script de Configuração (Recomendado)
A maneira mais fácil de configurar o Servidor MCP de PowerPoint é usando o script de configuração fornecido, que automatiza o processo de instalação:
python setup_mcp.py
Este script irá:
- Verificar pré-requisitos
- Oferecer opções de instalação:
- Instalar do PyPI (recomendado para a maioria dos usuários)
- Configurar ambiente de desenvolvimento local
- Instalar dependências necessárias
- Gerar o arquivo de configuração MCP apropriado
- Fornecer instruções para integração com o Claude Desktop
O script oferece diferentes caminhos com base no seu ambiente:
- Se você tiver
uvxinstalado, ele configurará usando UVX (recomendado) - Se o servidor já estiver instalado, ele fornece opções de configuração
- Se o servidor não estiver instalado, ele oferece métodos de instalação
Opção 2: Instalação Manual
-
Clone o repositório:
git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git cd Office-PowerPoint-MCP-Server -
Instale as dependências:
pip install -r requirements.txt -
Torne o servidor executável:
chmod +x ppt_mcp_server.py
Uso
Exibir texto de ajuda:
python ppt_mcp_server.py -h
Iniciando o Servidor Stdio
Execute o servidor stdio:
python ppt_mcp_server.py
Iniciando o Servidor Streamable-Http
Execute o servidor streamable-http na porta 8000:
python ppt_mcp_server.py --transport http --port 8000
Execute no Docker
docker build -t ppt_mcp_server .
docker run -d --rm -p 8000:8000 ppt_mcp_server -t http
Configuração MCP
Opção 1: Servidor Python Local
Adicione o servidor ao seu arquivo de configuração de configurações MCP:
{
"mcpServers": {
"ppt": {
"command": "python",
"args": ["/path/to/ppt_mcp_server.py"],
"env": {}
}
}
}
Opção 2: Usando UVX (Sem Instalação Local Necessária)
Se você tiver uvx instalado, pode executar o servidor diretamente do PyPI sem instalação local:
{
"mcpServers": {
"ppt": {
"command": "uvx",
"args": [
"--from", "office-powerpoint-mcp-server", "ppt_mcp_server"
],
"env": {}
}
}
}
🚀 O que há de novo na v2.0
Conjunto Abrangente de Ferramentas (32 Ferramentas)
- Manipulação completa de PowerPoint com 34 ferramentas especializadas
- 11 módulos organizados cobrindo todos os aspectos da criação de apresentações
- Tratamento aprimorado de parâmetros com validação abrangente
- Padrões inteligentes e interfaces baseadas em operações
Templates de Slides Integrados
- 25+ templates profissionais de slides com recursos dinâmicos integrados
- Sistema avançado de templates com capacidades de geração automática
- Texto com dimensionamento automático que se adapta ao comprimento do conteúdo e ao tamanho do contêiner
- Efeitos visuais profissionais incluindo sombras, brilhos e gradientes
- Geração completa de apresentações a partir de sequências de templates
Arquitetura Modular
- 11 módulos especializados: ferramentas de apresentação, conteúdo, estruturais, profissionais, template, hiperlink, gráfico, conector, mestre e transição
- Melhor manutenibilidade com responsabilidades separadas
- Extensibilidade mais fácil para adicionar novos recursos
- Estrutura de código mais limpa com utilitários compartilhados
Ferramentas Disponíveis
O servidor fornece 34 ferramentas especializadas organizadas nas seguintes categorias:
Gerenciamento de Apresentações (7 ferramentas)
- create_presentation - Criar novas apresentações
- create_presentation_from_template - Criar a partir de templates com preservação de tema
- open_presentation - Abrir apresentações existentes
- save_presentation - Salvar apresentações em arquivos
- get_presentation_info - Obter informações abrangentes da apresentação
- get_template_file_info - Analisar arquivos de template e layouts
- set_core_properties - Definir propriedades do documento
Gerenciamento de Conteúdo (8 ferramentas)
- add_slide - Adicionar slides com estilização opcional de fundo
- get_slide_info - Obter informações detalhadas do slide
- extract_slide_text - ✨ NOVO Extrair todo o conteúdo de texto de um slide específico
- extract_presentation_text - ✨ NOVO Extrair conteúdo de texto de todos os slides da apresentação
- populate_placeholder - Preencher placeholders com texto
- add_bullet_points - Adicionar marcadores formatados
- manage_text - ✨ Ferramenta de texto unificada (adicionar/formatar/validar/formatar execuções)
- manage_image - ✨ Ferramenta de imagem unificada (adicionar/aprimorar)
Operações com Templates (7 ferramentas)
- list_slide_templates - Navegar pelos templates de layout de slides disponíveis
- apply_slide_template - Aplicar templates de layout estruturados a slides existentes
- create_slide_from_template - Criar novos slides usando templates de layout
- create_presentation_from_templates - Criar apresentações completas a partir de sequências de templates
- get_template_info - Obter informações detalhadas sobre templates específicos
- auto_generate_presentation - Gerar apresentações automaticamente com base no tópico
- optimize_slide_text - Otimizar elementos de texto para melhor legibilidade e ajuste
Elementos Estruturais (4 ferramentas)
- add_table - Criar tabelas com formatação aprimorada
- format_table_cell - Formatar células individuais de tabela
- add_shape - Adicionar formas com opções de texto e formatação
- add_chart - Criar gráficos com personalização abrangente
Design Profissional (3 ferramentas)
- apply_professional_design - ✨ Ferramenta de design unificada (temas/slides/aprimoramento)
- apply_picture_effects - ✨ Ferramenta de efeitos unificada (9+ efeitos combinados)
- manage_fonts - ✨ Ferramenta de fontes unificada (analisar/otimizar/recomendar)
Recursos Especializados (5 ferramentas)
- manage_hyperlinks - Gerenciamento completo de hiperlinks (adicionar/remover/listar/atualizar)
- manage_slide_masters - Acessar e gerenciar propriedades e layouts do slide mestre
- add_connector - Adicionar linhas/setas de conexão entre pontos nos slides
- update_chart_data - Substituir dados de gráfico existentes por novas categorias e séries
- manage_slide_transitions - Gerenciamento básico de transições de slides
🌟 Principais Ferramentas Unificadas
manage_text - Gerenciamento de Texto Tudo-em-Um
# 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 - Manipulação Completa de Imagens
# 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 - Múltiplos Efeitos em Uma Única Chamada
# 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 - Gerenciamento de Tema e 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")
Exemplos
Criando uma Nova Apresentação
# 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
}
)
Criando uma Apresentação Profissional com 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"
}
)
Trabalhando com Templates de Slides Integrados (Novo na 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"
}
)
Gerenciamento Aprimorado de Imagens com v2.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
}
}
}
)
Gerenciamento Avançado de Texto com v2.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
}
)
Criando uma Apresentação a partir de Template
# 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
}
)
Adicionando Gráficos Avançados e Visualização de Dados
# 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
}
)
Validação e Otimização de Texto com 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
}
)
Lendo Conteúdo de Slides com Novas Ferramentas de Extração de Texto (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
}
)
Suporte a Templates
Trabalhando com Templates
O Servidor MCP de PowerPoint fornece suporte abrangente a templates para criar apresentações a partir de arquivos de template existentes. Este recurso permite:
- Identidade corporativa com temas, layouts e estilos predefinidos
- Apresentações consistentes entre equipes e projetos
- Slides mestres personalizados e layouts especializados
- Propriedades pré-configuradas e configurações de documento
- Descoberta flexível de templates com caminhos de busca configuráveis
Requisitos de Arquivos de Template
- Formatos suportados: arquivos
.pptxe.potx - Conteúdo existente: Templates podem conter slides existentes (preservados durante a criação)
- Disponibilidade de layouts: Todos os layouts personalizados e slides mestres são acessíveis
- Locais de busca: Configuráveis via variável de ambiente
PPT_TEMPLATE_PATH - Caminhos de busca padrão: Diretório atual,
./templates,./assets,./resources
Configuração de Templates
Defina a variável de ambiente PPT_TEMPLATE_PATH para especificar diretórios de template personalizados:
# Unix/Linux/macOS
export PPT_TEMPLATE_PATH="/path/to/templates:/another/path"
# Windows
set PPT_TEMPLATE_PATH="C:\templates;C:\company_templates"
Fluxo de Trabalho com Templates
- Inspecionar Template: Use
get_template_infopara analisar layouts e propriedades disponíveis - Criar a partir de Template: Use
create_presentation_from_templatecom preservação automática de tema - Usar Layouts do Template: Referencie índices de layout da análise do template ao adicionar slides
- Manter a Identidade Visual: Temas, fontes e cores do template são aplicados automaticamente ao novo conteúdo
Esquemas de Cores Profissionais
O servidor inclui 4 esquemas de cores profissionais integrados:
- Azul Moderno: Tema azul inspirado na Microsoft com cores complementares
- Cinza Corporativo: Tema profissional em escala de cinza com acentos azuis
- Verde Elegante: Tema verde-floresta com acentos creme e verde-claro
- Vermelho Quente: Tema vermelho profundo com acentos laranja e amarelo
Cada esquema inclui cores primária, secundária, de destaque, clara e de texto otimizadas para apresentações de negócios.
🎨 Templates de Slides Integrados (Novo na v2.0)
O Servidor MCP de PowerPoint agora inclui 25 templates profissionais de slides com recursos dinâmicos avançados. Todos os templates suportam:
Recursos Dinâmicos
- Dimensionamento automático de texto com base no comprimento do conteúdo e nas dimensões do contêiner
- Quebra de texto inteligente para caber em áreas especificadas
- Efeitos visuais incluindo sombras, brilhos e contornos
- Fundos com gradiente com composições em várias camadas
- Animações profissionais prontas para a apresentação
- Efeitos de foco interativos para melhorar a experiência do usuário
- Tratamento inteligente de excesso de conteúdo com ajustes automáticos
Categorias de Modelos Disponíveis
Slides de Título e Introdução
title_slide- Slide de título dinâmico com fundo em gradiente e efeitos de textochapter_intro- Divisor de seção com numeração de capítulos e estilosthank_you_slide- Slide de encerramento com informações de contato e efeitos
Slides de Layout de Conteúdo
text_with_image- Conteúdo de texto com imagem estilizada e elementos interativostwo_column_text- Duas colunas iguais de texto com dimensionamento dinâmicotwo_column_text_images- Duas colunas com texto e imagens correspondentesthree_column_layout- Três colunas iguais com texto e imagensfull_image_slide- Imagem de fundo grande com sobreposição de texto
Slides de Negócios e Análises
key_metrics_dashboard- Painel de métricas interativo com contadores animadosbefore_after_comparison- Layout de comparação dinâmico com divisores visuaischart_comparison- Dois gráficos lado a lado para comparação de desempenhodata_table_slide- Slide focado em dados tabulares com estilo profissionaltimeline_slide- Linha do tempo horizontal com marcos e efeitos
Slides de Processos e Fluxos
process_flow- Visualização de processo passo a passo com efeitos aprimoradosagenda_slide- Sumário ou visão geral da agenda com estilosquote_testimonial- Citação em destaque ou depoimento de cliente com efeitos
Slides de Equipe e Organização
team_introduction- Apresentação de membros da equipe com fotos e funções
Exemplos de Uso dos Modelos
# 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"]
}
}
Integração de Esquemas de Cores
Todos os modelos funcionam perfeitamente com os 4 esquemas de cores profissionais:
- modern_blue: Tema inspirado na Microsoft com gradientes dinâmicos
- corporate_gray: Escala de cinza profissional com acentos azuis
- elegant_green: Verde floresta com acentos creme e claros
- warm_red: Vermelho profundo com destaques em laranja e amarelo
Adaptação Dinâmica de Conteúdo
Os modelos se ajustam automaticamente ao conteúdo:
- Tamanhos de fonte escalam com base no comprimento do texto (intervalo de 8pt a 44pt)
- Espaçamento entre linhas ajusta-se para legibilidade (1.0x - 1.4x)
- Quebra de texto divide linhas de forma inteligente em pontos ideais
- Dimensionamento do contêiner adapta-se ao excesso de conteúdo
- Efeitos visuais escalam adequadamente com os tamanhos dos elementos
📁 Estrutura de Arquivos
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
🏗️ Benefícios da Arquitetura
Design Modular
- 7 módulos de utilitários focados com responsabilidades claras
- 11 módulos de ferramentas organizados para cobertura abrangente
- Mais de 68 funções utilitárias organizadas por funcionalidade
- 32 ferramentas MCP cobrindo todas as necessidades de manipulação do PowerPoint
- Separação clara de responsabilidades para desenvolvimento mais fácil
Organização do Código
- Agrupamento lógico de funcionalidades relacionadas entre módulos
- Melhor descoberta com categorias de ferramentas organizadas
- Testabilidade aprimorada com módulos isolados
- Extensibilidade futura por meio de estrutura modular
Cobertura Abrangente
- Ciclo de vida completo do PowerPoint da criação à apresentação
- Sistema avançado de modelos com capacidades de geração automática
- Ferramentas de design profissional com múltiplos efeitos e opções de estilo
- Recursos especializados incluindo hiperlinks, conectores e slides mestres
Experiência do Desenvolvedor
- Limites de responsabilidade claros entre módulos
- Depuração mais fácil com arquivos menores e focados
- Testes mais simples com funcionalidade isolada
- Manutenibilidade aprimorada por meio da separação de responsabilidades
🔄 Novidades na Versão 2.0
Funcionalidade aprimorada com cobertura abrangente de ferramentas! O servidor atualizado oferece:
Novas Ferramentas Especializadas Adicionadas:
manage_hyperlinks- Gerenciamento completo de hiperlinks para elementos de textoupdate_chart_data- Substituição e atualização avançada de dados de gráficosadd_connector- Linhas de conexão e setas entre elementos de slidesmanage_slide_masters- Acesso às propriedades e layouts do slide mestremanage_slide_transitions- Gerenciamento básico de transições de slidesauto_generate_presentation- Geração de apresentações com IAoptimize_slide_text- Otimização de texto para melhor legibilidade
Ferramentas Existentes Aprimoradas:
manage_text- Agora suporta formatação de execução de texto com operaçãoformat_runscreate_presentation_from_templates- Processamento aprimorado de sequência de modelosapply_picture_effects- Combinações e opções de efeitos expandidas
🔄 Novidades na Versão 2.1
Capacidades de extração de texto adicionadas! Agora você pode ler conteúdo de apresentações existentes:
Novas Ferramentas de Extração de Texto Adicionadas:
extract_slide_text- Extrai todo o conteúdo de texto de um slide específico, incluindo títulos, espaços reservados, formas de texto e tabelasextract_presentation_text- Extrai conteúdo de texto de todos os slides de uma apresentação com estatísticas abrangentes e saída combinada
Principais Recursos da Extração de Texto:
- Cobertura completa de texto - Extrai de títulos, espaços reservados, caixas de texto e células de tabela
- Saída estruturada - Organizada por tipo de conteúdo (títulos, espaços reservados, formas, tabelas)
- Análise em toda a apresentação - Estatísticas sobre a distribuição de texto entre os slides
- Opções de saída flexíveis - Conteúdo de slide individual ou texto combinado da apresentação
- Tratamento de erros - Tratamento adequado de slides que não podem ser processados
Licença
MIT