Office PowerPoint MCP

Crie, edite e manipule apresentações do PowerPoint usando python-pptx.

Documentação

Office-PowerPoint-MCP-Server

smithery badge

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

截屏2025-06-20 15 53 45

Exemplo

Prompt

650f4cc5d0f1ea4f3b1580800cb0deb

Saída

084f1cf4bc7e4fcd4890c8f94f536c1

GIF de demonstração -> (./public/demo.mp4)

demo

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 uvx instalado, 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

  1. Clone o repositório:

    git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git
    cd Office-PowerPoint-MCP-Server
    
  2. Instale as dependências:

    pip install -r requirements.txt
    
  3. 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)

  1. create_presentation - Criar novas apresentações
  2. create_presentation_from_template - Criar a partir de templates com preservação de tema
  3. open_presentation - Abrir apresentações existentes
  4. save_presentation - Salvar apresentações em arquivos
  5. get_presentation_info - Obter informações abrangentes da apresentação
  6. get_template_file_info - Analisar arquivos de template e layouts
  7. set_core_properties - Definir propriedades do documento

Gerenciamento de Conteúdo (8 ferramentas)

  1. add_slide - Adicionar slides com estilização opcional de fundo
  2. get_slide_info - Obter informações detalhadas do slide
  3. extract_slide_text - ✨ NOVO Extrair todo o conteúdo de texto de um slide específico
  4. extract_presentation_text - ✨ NOVO Extrair conteúdo de texto de todos os slides da apresentação
  5. populate_placeholder - Preencher placeholders com texto
  6. add_bullet_points - Adicionar marcadores formatados
  7. manage_text - ✨ Ferramenta de texto unificada (adicionar/formatar/validar/formatar execuções)
  8. manage_image - ✨ Ferramenta de imagem unificada (adicionar/aprimorar)

Operações com Templates (7 ferramentas)

  1. list_slide_templates - Navegar pelos templates de layout de slides disponíveis
  2. apply_slide_template - Aplicar templates de layout estruturados a slides existentes
  3. create_slide_from_template - Criar novos slides usando templates de layout
  4. create_presentation_from_templates - Criar apresentações completas a partir de sequências de templates
  5. get_template_info - Obter informações detalhadas sobre templates específicos
  6. auto_generate_presentation - Gerar apresentações automaticamente com base no tópico
  7. optimize_slide_text - Otimizar elementos de texto para melhor legibilidade e ajuste

Elementos Estruturais (4 ferramentas)

  1. add_table - Criar tabelas com formatação aprimorada
  2. format_table_cell - Formatar células individuais de tabela
  3. add_shape - Adicionar formas com opções de texto e formatação
  4. add_chart - Criar gráficos com personalização abrangente

Design Profissional (3 ferramentas)

  1. apply_professional_design - ✨ Ferramenta de design unificada (temas/slides/aprimoramento)
  2. apply_picture_effects - ✨ Ferramenta de efeitos unificada (9+ efeitos combinados)
  3. manage_fonts - ✨ Ferramenta de fontes unificada (analisar/otimizar/recomendar)

Recursos Especializados (5 ferramentas)

  1. manage_hyperlinks - Gerenciamento completo de hiperlinks (adicionar/remover/listar/atualizar)
  2. manage_slide_masters - Acessar e gerenciar propriedades e layouts do slide mestre
  3. add_connector - Adicionar linhas/setas de conexão entre pontos nos slides
  4. update_chart_data - Substituir dados de gráfico existentes por novas categorias e séries
  5. 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 .pptx e .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

  1. Inspecionar Template: Use get_template_info para analisar layouts e propriedades disponíveis
  2. Criar a partir de Template: Use create_presentation_from_template com preservação automática de tema
  3. Usar Layouts do Template: Referencie índices de layout da análise do template ao adicionar slides
  4. 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 texto
  • chapter_intro - Divisor de seção com numeração de capítulos e estilos
  • thank_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 interativos
  • two_column_text - Duas colunas iguais de texto com dimensionamento dinâmico
  • two_column_text_images - Duas colunas com texto e imagens correspondentes
  • three_column_layout - Três colunas iguais com texto e imagens
  • full_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 animados
  • before_after_comparison - Layout de comparação dinâmico com divisores visuais
  • chart_comparison - Dois gráficos lado a lado para comparação de desempenho
  • data_table_slide - Slide focado em dados tabulares com estilo profissional
  • timeline_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 aprimorados
  • agenda_slide - Sumário ou visão geral da agenda com estilos
  • quote_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 texto
  • update_chart_data - Substituição e atualização avançada de dados de gráficos
  • add_connector - Linhas de conexão e setas entre elementos de slides
  • manage_slide_masters - Acesso às propriedades e layouts do slide mestre
  • manage_slide_transitions - Gerenciamento básico de transições de slides
  • auto_generate_presentation - Geração de apresentações com IA
  • optimize_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ção format_runs
  • create_presentation_from_templates - Processamento aprimorado de sequência de modelos
  • apply_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 tabelas
  • extract_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