PowerPoint MCP Server

by GongRzhe
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Utilizes python-pptx library for PowerPoint manipulation, allowing creation, editing and management of presentations programmatically

  • Handles Open XML presentation files (.pptx), enabling round-trip processing of all presentation elements

Servidor MCP de Office PowerPoint

Un servidor MCP (Protocolo de Contexto de Modelo) para la manipulación de PowerPoint mediante python-pptx. Este servidor proporciona herramientas para crear, editar y manipular presentaciones de PowerPoint mediante el protocolo MCP.

Ejemplo

Pormpt

Producción

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

Características

  • Viaje de ida y vuelta a cualquier presentación Open XML (archivo .pptx) incluidos todos sus elementos
  • Agregar diapositivas
  • Rellene los marcadores de posición de texto, por ejemplo, para crear una diapositiva con viñetas
  • Agregar imagen a la diapositiva en una posición y tamaño arbitrarios
  • Agregar cuadro de texto a una diapositiva; manipular el tamaño de fuente del texto y negrita
  • Agregar tabla a una diapositiva
  • Agregar formas automáticas (por ejemplo, polígonos, formas de diagrama de flujo, etc.) a una diapositiva
  • Agregar y manipular gráficos de columnas, barras, líneas y circulares
  • Acceder y cambiar las propiedades principales del documento, como el título y el asunto

Instalación

Instalación mediante herrería

Para instalar PowerPoint Manipulation Server para Claude Desktop automáticamente a través de Smithery :

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

Prerrequisitos

  • Python 3.10 o superior
  • gestor de paquetes pip

Opciones de instalación

Opción 1: Usar el script de configuración (recomendado)

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

python setup_mcp.py

Este script hará lo siguiente:

  • Consultar prerrequisitos
  • Ofrecer opciones de instalación:
    • Instalar desde PyPI (recomendado para la mayoría de los usuarios)
    • Establecer un entorno de desarrollo local
  • Instalar las dependencias necesarias
  • 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 instalado uvx , 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. Clonar el repositorio:
    git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git cd Office-PowerPoint-MCP-Server
  2. Instalar dependencias:
    pip install -r requirements.txt
  3. Hacer que el servidor sea ejecutable:
    chmod +x ppt_mcp_server.py

Uso

Iniciando el servidor

Ejecutar el servidor:

python ppt_mcp_server.py

Configuración de MCP

Opción 1: Servidor Python local

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

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

Opción 2: Usar UVX (no requiere instalación local)

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": {} } } }

Herramientas disponibles

Herramientas de presentación

  • create_presentation : Crea una nueva presentación de PowerPoint
  • open_presentation : abre una presentación de PowerPoint existente desde un archivo
  • save_presentation : Guarda la presentación actual en un archivo
  • get_presentation_info : Obtener información sobre la presentación actual
  • set_core_properties : Establece las propiedades principales del documento de la presentación actual

Herramientas de diapositivas

  • add_slide : Agrega una nueva diapositiva a la presentación actual
  • get_slide_info : Obtener información sobre una diapositiva específica
  • populate_placeholder : rellenar un marcador de posición con texto
  • add_bullet_points : Agregar viñetas a un marcador de posición

Herramientas de texto

  • add_textbox : Agrega un cuadro de texto a una diapositiva

Herramientas de imagen

  • add_image : Agregar una imagen a una diapositiva
  • add_image_from_base64 : Agrega una imagen desde una cadena codificada en base64 a una diapositiva

Herramientas de tabla

  • add_table : Agregar una tabla a una diapositiva
  • format_table_cell : Formatear una celda de tabla

Herramientas de forma

  • add_shape : Agrega una forma automática a una diapositiva

Herramientas de gráficos

  • add_chart : Agregar un gráfico a una diapositiva

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

Agregar un gráfico

# 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 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", "presentation_id": presentation_id } )

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor que permite crear y editar presentaciones de PowerPoint de forma programada a través del Protocolo de Contexto de Modelo, admitiendo funciones como agregar diapositivas, imágenes, cuadros de texto, gráficos y tablas.

  1. Example
    1. Pormpt
    2. Output
    3. Demo's GIF -> (./public/demo.mp4)
  2. Features
    1. Installation
      1. Installing via Smithery
      2. Prerequisites
      3. Installation Options
    2. Usage
      1. Starting the Server
      2. MCP Configuration
    3. Available Tools
      1. Presentation Tools
      2. Slide Tools
      3. Text Tools
      4. Image Tools
      5. Table Tools
      6. Shape Tools
      7. Chart Tools
    4. Examples
      1. Creating a New Presentation
      2. Adding a Chart
    5. License
      ID: jjranwyzfx