Office PowerPoint MCP

Crea, edita y manipula presentaciones de PowerPoint usando python-pptx.

Documentación

Office-PowerPoint-MCP-Server

smithery badge

Un servidor MCP (Model Context Protocol) integral para la manipulación de PowerPoint utilizando python-pptx. Versión 2.0 ofrece 32 potentes herramientas organizadas en 11 módulos especializados, que brindan capacidades completas de creación, gestión y diseño profesional de presentaciones. El servidor cuenta con una arquitectura modular con manejo mejorado de parámetros, selección inteligente de operaciones y manejo integral de errores.


Ya no es tan feo con las nuevas plantillas de diseño de diapositivas

截屏2025-06-20 15 53 45

Ejemplo

Prompt

650f4cc5d0f1ea4f3b1580800cb0deb

Salida

084f1cf4bc7e4fcd4890c8f94f536c1

GIF de demostración -> (./public/demo.mp4)

demo

Características

Operaciones principales de PowerPoint

  • Soporte de ida y vuelta para cualquier presentación Open XML (archivo .pptx) incluyendo todos los elementos
  • Soporte de plantillas con preservación automática de temas y diseños
  • Gestión de múltiples presentaciones con seguimiento de estado global
  • Gestión de propiedades básicas del documento (título, asunto, autor, palabras clave, comentarios)

Creación y gestión de contenido

  • Gestión de diapositivas con selección flexible de diseños
  • Manipulación de texto con relleno de marcadores de posición y creación de viñetas
  • Formato de texto avanzado con controles de fuente, color, alineación y estilo
  • Validación de texto con verificación automática de ajuste y sugerencias de optimización

Elementos visuales

  • Manejo de imágenes con soporte de entrada de archivos y base64
  • Mejora de imágenes usando Pillow con controles de brillo, contraste, saturación y filtros
  • Efectos de imagen profesionales incluyendo sombras, reflejos, brillos y bordes suaves
  • Creación de formas con más de 20 tipos de autoformas (rectángulos, óvalos, elementos de diagramas de flujo, etc.)
  • Creación de tablas con formato y estilo avanzado de celdas

Gráficos y visualización de datos

  • Soporte de gráficos para gráficos de columnas, barras, líneas y circulares
  • Gestión de series de datos con soporte de categorías y múltiples series
  • Formato de gráficos con leyendas, etiquetas de datos y títulos

Funciones de diseño profesional

  • 4 esquemas de color profesionales (Azul Moderno, Gris Corporativo, Verde Elegante, Rojo Cálido)
  • Tipografía profesional con la familia de fuentes Segoe UI y ajustes de tamaño predefinidos
  • Aplicación de temas con estilo automático en todas las presentaciones
  • Fondos degradados con direcciones y esquemas de color personalizables
  • Herramientas de mejora de diapositivas para contenido existente
  • 25 plantillas de diapositivas integradas con tamaño dinámico y efectos visuales
  • Funciones avanzadas de plantillas que incluyen ajuste automático de texto, tamaño de fuente dinámico y animaciones profesionales

Funciones avanzadas

  • Análisis y optimización de fuentes usando FontTools
  • Efectos de imagen con 9 efectos visuales diferentes (sombra, reflejo, brillo, bisel, etc.)
  • Validación integral con corrección automática de errores
  • Búsqueda de plantillas con rutas de directorio configurables
  • Cálculos de diseño profesionales con gestión de márgenes y espaciado

Instalación

Instalación mediante Smithery

Para instalar el Servidor de Manipulación de PowerPoint para Claude Desktop automáticamente mediante Smithery:

npx -y @smithery/cli install @GongRzhe/Office-PowerPoint-MCP-Server --client claude

Requisitos previos

  • Python 3.6 o superior (según se especifica en pyproject.toml)
  • Gestor de paquetes pip
  • Opcional: uvx para la ejecución de paquetes sin instalación local

Opciones de instalación

Opción 1: Usando el script de configuración (Recomendado)

La forma más sencilla de configurar el Servidor MCP de PowerPoint es usando el script de configuración proporcionado, que automatiza el proceso de instalación:

python setup_mcp.py

Este script:

  • Verificará los requisitos previos
  • Ofrecerá opciones de instalación:
    • Instalar desde PyPI (recomendado para la mayoría de usuarios)
    • Configurar un entorno de desarrollo local
  • Instalará las dependencias requeridas
  • Generará el archivo de configuración MCP apropiado
  • Proporcionará instrucciones para la integración con Claude Desktop

El script ofrece diferentes rutas según su entorno:

  • Si tiene uvx instalado, se configurará usando UVX (recomendado)
  • Si el servidor ya está instalado, proporciona opciones de configuración
  • Si el servidor no está instalado, ofrece métodos de instalación

Opción 2: Instalación manual

  1. Clone el repositorio:

    git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git
    cd Office-PowerPoint-MCP-Server
    
  2. Instale las dependencias:

    pip install -r requirements.txt
    
  3. Haga ejecutable el servidor:

    chmod +x ppt_mcp_server.py
    

Uso

Mostrar texto de ayuda:

python ppt_mcp_server.py -h

Iniciar el servidor Stdio

Ejecute el servidor stdio:

python ppt_mcp_server.py

Iniciar el servidor Streamable-Http

Ejecute el servidor streamable-http en el puerto 8000:

python ppt_mcp_server.py --transport http --port 8000

Ejecutar en Docker

docker build -t ppt_mcp_server .
docker run -d --rm -p 8000:8000 ppt_mcp_server -t http

Configuración MCP

Opción 1: Servidor Python local

Agregue el servidor a su archivo de configuración de ajustes MCP:

{
  "mcpServers": {
    "ppt": {
      "command": "python",
      "args": ["/path/to/ppt_mcp_server.py"],
      "env": {}
    }
  }
}

Opción 2: Usando UVX (sin instalación local requerida)

Si tiene uvx instalado, puede ejecutar el servidor directamente desde PyPI sin instalación local:

{
  "mcpServers": {
    "ppt": {
      "command": "uvx",
      "args": [
        "--from", "office-powerpoint-mcp-server", "ppt_mcp_server"
      ],
      "env": {}
    }
  }
}

🚀 Novedades en v2.0

Conjunto integral de herramientas (32 herramientas)

  • Manipulación completa de PowerPoint con 34 herramientas especializadas
  • 11 módulos organizados que cubren todos los aspectos de la creación de presentaciones
  • Manejo mejorado de parámetros con validación integral
  • Valores predeterminados inteligentes e interfaces basadas en operaciones

Plantillas de diapositivas integradas

  • Más de 25 plantillas de diapositivas profesionales con funciones dinámicas integradas
  • Sistema de plantillas avanzado con capacidades de generación automática
  • Texto con tamaño automático que se adapta a la longitud del contenido y al tamaño del contenedor
  • Efectos visuales profesionales incluyendo sombras, brillos y degradados
  • Generación completa de presentaciones a partir de secuencias de plantillas

Arquitectura modular

  • 11 módulos especializados: herramientas de presentación, contenido, estructurales, profesionales, plantillas, hipervínculos, gráficos, conectores, maestro y transiciones
  • Mejor mantenibilidad con responsabilidades separadas
  • Mayor facilidad de extensión para agregar nuevas funciones
  • Estructura de código más limpia con utilidades compartidas

Herramientas disponibles

El servidor proporciona 34 herramientas especializadas organizadas en las siguientes categorías:

Gestión de presentaciones (7 herramientas)

  1. create_presentation - Crear nuevas presentaciones
  2. create_presentation_from_template - Crear desde plantillas con preservación de temas
  3. open_presentation - Abrir presentaciones existentes
  4. save_presentation - Guardar presentaciones en archivos
  5. get_presentation_info - Obtener información integral de la presentación
  6. get_template_file_info - Analizar archivos de plantilla y diseños
  7. set_core_properties - Configurar propiedades del documento

Gestión de contenido (8 herramientas)

  1. add_slide - Agregar diapositivas con estilo de fondo opcional
  2. get_slide_info - Obtener información detallada de las diapositivas
  3. extract_slide_text - ✨ NUEVO Extraer todo el contenido de texto de una diapositiva específica
  4. extract_presentation_text - ✨ NUEVO Extraer contenido de texto de todas las diapositivas de la presentación
  5. populate_placeholder - Rellenar marcadores de posición con texto
  6. add_bullet_points - Agregar viñetas con formato
  7. manage_text - ✨ Herramienta de texto unificada (agregar/formatear/validar/format_runs)
  8. manage_image - ✨ Herramienta de imagen unificada (agregar/mejorar)

Operaciones con plantillas (7 herramientas)

  1. list_slide_templates - Explorar las plantillas de diseño de diapositivas disponibles
  2. apply_slide_template - Aplicar plantillas de diseño estructuradas a diapositivas existentes
  3. create_slide_from_template - Crear nuevas diapositivas usando plantillas de diseño
  4. create_presentation_from_templates - Crear presentaciones completas a partir de secuencias de plantillas
  5. get_template_info - Obtener información detallada sobre plantillas específicas
  6. auto_generate_presentation - Generar presentaciones automáticamente según un tema
  7. optimize_slide_text - Optimizar elementos de texto para una mejor legibilidad y ajuste

Elementos estructurales (4 herramientas)

  1. add_table - Crear tablas con formato mejorado
  2. format_table_cell - Formatear celdas individuales de tabla
  3. add_shape - Agregar formas con opciones de texto y formato
  4. add_chart - Crear gráficos con personalización integral

Diseño profesional (3 herramientas)

  1. apply_professional_design - ✨ Herramienta de diseño unificada (temas/diapositivas/mejoras)
  2. apply_picture_effects - ✨ Herramienta de efectos unificada (más de 9 efectos combinados)
  3. manage_fonts - ✨ Herramienta de fuentes unificada (analizar/optimizar/recomendar)

Funciones especializadas (5 herramientas)

  1. manage_hyperlinks - Gestión completa de hipervínculos (agregar/eliminar/listar/actualizar)
  2. manage_slide_masters - Acceder y gestionar las propiedades y diseños de los patrones de diapositivas
  3. add_connector - Agregar líneas/flechas de conexión entre puntos en las diapositivas
  4. update_chart_data - Reemplazar datos de gráficos existentes con nuevas categorías y series
  5. manage_slide_transitions - Gestión básica de transiciones de diapositivas

🌟 Herramientas unificadas clave

manage_text - Gestión de texto todo en uno

# 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 - Manejo completo de imágenes

# 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últiples efectos en una sola llamada

# 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 - Gestión de temas y diseño

# 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")

Ejemplos

Crear una nueva presentación

# 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
    }
)

Crear una presentación profesional con 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"
    }
)

Trabajar con plantillas de diapositivas integradas (Nuevo en 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"
    }
)

Gestión mejorada de imágenes con 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
            }
        }
    }
)

Gestión avanzada de texto con 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
    }
)

Crear una presentación a partir de una plantilla

# 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
    }
)

Agregar gráficos avanzados y visualización de datos

# 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
    }
)

Validación y optimización de texto con 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
    }
)

Lectura de contenido de diapositivas con las nuevas herramientas de extracción 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
    }
)

Soporte de plantillas

Trabajar con plantillas

El Servidor MCP de PowerPoint proporciona soporte integral de plantillas para crear presentaciones a partir de archivos de plantilla existentes. Esta función permite:

  • Imagen corporativa con temas, diseños y estilos predefinidos
  • Presentaciones coherentes entre equipos y proyectos
  • Patrones de diapositivas personalizados y diseños especializados
  • Propiedades preconfiguradas y ajustes de documento
  • Descubrimiento flexible de plantillas con rutas de búsqueda configurables

Requisitos de archivos de plantilla

  • Formatos admitidos: archivos .pptx y .potx
  • Contenido existente: Las plantillas pueden contener diapositivas existentes (se conservan durante la creación)
  • Disponibilidad de diseños: Todos los diseños personalizados y patrones de diapositivas son accesibles
  • Ubicaciones de búsqueda: Configurable mediante la variable de entorno PPT_TEMPLATE_PATH
  • Rutas de búsqueda predeterminadas: Directorio actual, ./templates, ./assets, ./resources

Configuración de plantillas

Configure la variable de entorno PPT_TEMPLATE_PATH para especificar directorios de plantillas personalizados:

# Unix/Linux/macOS
export PPT_TEMPLATE_PATH="/path/to/templates:/another/path"

# Windows  
set PPT_TEMPLATE_PATH="C:\templates;C:\company_templates"

Flujo de trabajo con plantillas

  1. Inspeccionar la plantilla: Use get_template_info para analizar los diseños y propiedades disponibles
  2. Crear desde la plantilla: Use create_presentation_from_template con preservación automática de temas
  3. Usar diseños de plantilla: Haga referencia a los índices de diseño del análisis de la plantilla al agregar diapositivas
  4. Mantener la imagen corporativa: Los temas, fuentes y colores de la plantilla se aplican automáticamente al contenido nuevo

Esquemas de color profesionales

El servidor incluye 4 esquemas de color profesionales integrados:

  • Azul Moderno: Tema azul inspirado en Microsoft con colores complementarios
  • Gris Corporativo: Tema profesional en escala de grises con acentos azules
  • Verde Elegante: Tema verde bosque con acentos crema y verde claro
  • Rojo Cálido: Tema rojo profundo con acentos naranja y amarillo

Cada esquema incluye colores primarios, secundarios, de acento, claros y de texto optimizados para presentaciones de negocios.

🎨 Plantillas de diapositivas integradas (Nuevo en v2.0)

El Servidor MCP de PowerPoint ahora incluye 25 plantillas de diapositivas profesionales con funciones dinámicas avanzadas. Todas las plantillas admiten:

Características dinámicas

  • Ajuste automático del tamaño del texto según la longitud del contenido y las dimensiones del contenedor
  • Ajuste inteligente de texto para adaptarse a áreas especificadas
  • Efectos visuales que incluyen sombras, resplandores y contornos
  • Fondos degradados con composiciones multicapa
  • Animaciones profesionales listas para la entrega de presentaciones
  • Efectos de desplazamiento interactivos para una mejor experiencia de usuario
  • Manejo inteligente de desbordamiento de contenido con ajustes automáticos

Categorías de plantillas disponibles

Diapositivas de título e introducción

  • title_slide - Diapositiva de título dinámica con fondo degradado y efectos de texto
  • chapter_intro - Divisor de sección con numeración de capítulos y estilos
  • thank_you_slide - Diapositiva de cierre con información de contacto y efectos

Diapositivas de diseño de contenido

  • text_with_image - Contenido de texto con imagen estilizada y elementos interactivos
  • two_column_text - Dos columnas iguales de texto con tamaño dinámico
  • two_column_text_images - Dos columnas con texto e imágenes correspondientes
  • three_column_layout - Tres columnas iguales con texto e imágenes
  • full_image_slide - Imagen de fondo grande con superposición de texto

Diapositivas de negocios y análisis

  • key_metrics_dashboard - Panel de métricas interactivo con contadores animados
  • before_after_comparison - Diseño de comparación dinámica con divisores visuales
  • chart_comparison - Dos gráficos lado a lado para comparación de rendimiento
  • data_table_slide - Diapositiva centrada en datos tabulares con estilo profesional
  • timeline_slide - Línea de tiempo horizontal con hitos y efectos

Diapositivas de procesos y flujos

  • process_flow - Visualización de procesos paso a paso con efectos mejorados
  • agenda_slide - Tabla de contenido o resumen de agenda con estilos
  • quote_testimonial - Cita destacada o testimonio de cliente con efectos

Diapositivas de equipo y organización

  • team_introduction - Presentación de miembros del equipo con fotos y roles

Ejemplos de uso de plantillas

# 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"]
  }
}

Integración de esquemas de color

Todas las plantillas funcionan perfectamente con los 4 esquemas de color profesionales:

  • modern_blue: Tema inspirado en Microsoft con degradados dinámicos
  • corporate_gray: Escala de grises profesional con acentos azules
  • elegant_green: Verde bosque con acentos crema y claros
  • warm_red: Rojo profundo con resaltados naranja y amarillo

Adaptación dinámica del contenido

Las plantillas se ajustan automáticamente al contenido:

  • Tamaños de fuente escalan según la longitud del texto (rango de 8pt a 44pt)
  • Interlineado se ajusta para legibilidad (1.0x - 1.4x)
  • Ajuste de texto rompe líneas inteligentemente en puntos óptimos
  • Tamaño del contenedor se adapta al desbordamiento de contenido
  • Efectos visuales escalan apropiadamente con los tamaños de los elementos

📁 Estructura de archivos

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

🏗️ Beneficios de la arquitectura

Diseño modular

  • 7 módulos de utilidades enfocados con responsabilidades claras
  • 11 módulos de herramientas organizados para una cobertura integral
  • Más de 68 funciones de utilidad organizadas por funcionalidad
  • 32 herramientas MCP que cubren todas las necesidades de manipulación de PowerPoint
  • Separación clara de responsabilidades para un desarrollo más fácil

Organización del código

  • Agrupación lógica de funcionalidades relacionadas en todos los módulos
  • Mejor descubrimiento con categorías de herramientas organizadas
  • Mejor capacidad de prueba con módulos aislados
  • Extensibilidad futura mediante una estructura modular

Cobertura integral

  • Ciclo de vida completo de PowerPoint desde la creación hasta la presentación
  • Sistema de plantillas avanzado con capacidades de generación automática
  • Herramientas de diseño profesional con múltiples efectos y opciones de estilo
  • Características especializadas que incluyen hipervínculos, conectores y patrones de diapositivas

Experiencia del desarrollador

  • Límites de responsabilidad claros entre módulos
  • Depuración más fácil con archivos más pequeños y enfocados
  • Pruebas más simples con funcionalidad aislada
  • Mantenibilidad mejorada mediante la separación de responsabilidades

🔄 Novedades en la versión 2.0

Funcionalidad mejorada con cobertura integral de herramientas. El servidor actualizado proporciona:

Nuevas herramientas especializadas añadidas:

  • manage_hyperlinks - Gestión completa de hipervínculos para elementos de texto
  • update_chart_data - Reemplazo y actualización avanzada de datos de gráficos
  • add_connector - Líneas de conexión y flechas entre elementos de diapositivas
  • manage_slide_masters - Acceso a propiedades y diseños de patrones de diapositivas
  • manage_slide_transitions - Gestión básica de transiciones de diapositivas
  • auto_generate_presentation - Generación de presentaciones impulsada por IA
  • optimize_slide_text - Optimización de texto para una mejor legibilidad

Herramientas existentes mejoradas:

  • manage_text - Ahora admite formato de ejecución de texto con la operación format_runs
  • create_presentation_from_templates - Procesamiento mejorado de secuencias de plantillas
  • apply_picture_effects - Combinaciones y opciones de efectos ampliadas

🔄 Novedades en la versión 2.1

¡Se añadieron capacidades de extracción de texto! Ahora puedes leer contenido de presentaciones existentes:

Nuevas herramientas de extracción de texto añadidas:

  • extract_slide_text - Extrae todo el contenido de texto de una diapositiva específica, incluidos títulos, marcadores de posición, formas de texto y tablas
  • extract_presentation_text - Extrae contenido de texto de todas las diapositivas de una presentación con estadísticas completas y salida combinada

Características clave de la extracción de texto:

  • Cobertura completa de texto - Extrae de títulos, marcadores de posición, cuadros de texto y celdas de tabla
  • Salida estructurada - Organizada por tipo de contenido (títulos, marcadores de posición, formas, tablas)
  • Análisis de toda la presentación - Estadísticas sobre la distribución de texto en las diapositivas
  • Opciones de salida flexibles - Contenido de diapositiva individual o texto combinado de la presentación
  • Manejo de errores - Manejo elegante de diapositivas que no se pueden procesar

Licencia

MIT