PowerPoint MCP Server

by jenstangen1
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides integration with GitHub for cloning the repository, allowing users to install the PowerPoint MCP server from version control.

  • Integrates with NumPy for numerical operations when generating financial charts and data-driven content in PowerPoint presentations.

  • Built on Python, allowing users to run the server and interact with PowerPoint files through Python commands for creating and manipulating presentations.

Servidor MCP de PowerPoint

Un servidor de Protocolo de Contexto de Modelo (MCP) para crear y manipular presentaciones de PowerPoint con asistencia de IA. Este servidor proporciona una API completa para que los modelos de IA interactúen con archivos de PowerPoint, lo que permite un formato avanzado, gráficos financieros e integración de datos.

Características

Gestión de presentaciones

  • Crear y modificar presentaciones de PowerPoint
  • Agregar, eliminar y modificar diapositivas
  • Guardar y cargar presentaciones desde el espacio de trabajo
  • Sistema de gestión de plantillas

Operaciones con elementos

  • Control detallado sobre los elementos de la diapositiva (texto, formas, imágenes, gráficos)
  • Creación y estilo de formas avanzados
  • Posicionamiento y agrupación de elementos
  • Líneas de conexión entre formas

Integración financiera

  • Crear gráficos financieros (de líneas, barras, columnas, circulares, de cascada, etc.)
  • Generar tablas de comparación
  • Soporte para diversas métricas financieras:
    • Ganancia
    • EBITDA
    • Ganancia
    • Activos
    • Equidad
    • Tasas de crecimiento
    • Márgenes
  • Actualmente utiliza datos ficticios, con planes de integrar la API de Proff para datos de empresas noruegas.
  • Adaptable a otros proveedores de datos financieros mediante la personalización de API

Estilo y formato

  • Formato de texto enriquecido
  • Estilo de forma (rellenos, degradados, contornos)
  • Personalización de gráficos
  • Colores y efectos de fondo

Instalación

  1. Clonar el repositorio:
git clone https://github.com/jenstangen1/pptx-mcp.git cd pptx-mcp
  1. Instalar dependencias:
pip install -r requirements.txt

Configurando con Claude

Instalación del MCP en la interfaz de Claude

Para integrar este MCP de PowerPoint con Claude, agregue la siguiente configuración JSON a su archivo MCP de Claude:

{ "mcpServers": { "powerpoint_mcp": { "command": "uv", "args": [ "--directory", "your directory here", "run", "mcp_powerpoint_server.py" ] } } }

Nota: Es posible que necesite modificar la ruta del directorio para que coincida con su ubicación de instalación.

Herramientas MCP disponibles

Gestión de presentaciones

  • list_presentations : enumera todos los archivos de PowerPoint en el espacio de trabajo
  • upload_presentation : Sube una nueva presentación al espacio de trabajo
  • save_presentation : Guarda la presentación actual

Operaciones de diapositivas

  • add_slide : Agrega una nueva diapositiva a la presentación
  • delete_slide : Eliminar una diapositiva de la presentación
  • get_slide_count : Obtener el número total de diapositivas en la presentación
  • analyze_slide : Analiza el contenido de una diapositiva
  • set_background_color : Establece el color de fondo de una diapositiva

Operaciones con elementos

  • add_text : Agregar texto a una diapositiva
  • add_shape : Agrega una forma a una diapositiva
  • edit_element : Editar las propiedades de un elemento
  • style_element : Aplicar estilo a un elemento
  • connect_shapes : Conecta dos formas con un conector
  • find_element : Busca elementos en una diapositiva según criterios

Herramientas financieras

  • get_company_financials : obtiene datos financieros de una empresa (actualmente devuelve datos ficticios)
  • create_financial_chart : Crea un gráfico financiero en una diapositiva
  • create_comparison_table : Crea una tabla de comparación para empresas

Nota: Las herramientas financieras utilizan actualmente datos ficticios. En futuras versiones, se planea integrar la API de Proff para la obtención automática de datos de empresas noruegas. Los usuarios pueden modificar el código para conectarse con proveedores de datos financieros locales o preferidos.

Operaciones de plantilla

  • list_templates : Lista todas las plantillas disponibles
  • apply_template : Aplicar una plantilla a una presentación
  • create_slide_from_template : Crea una nueva diapositiva a partir de una plantilla
  • save_as_template : Guardar una diapositiva como plantilla

Herramientas de depuración

  • debug_element_mappings : herramienta de depuración para inspeccionar las asignaciones de elementos de una diapositiva

Uso

Iniciando el servidor

Ejecutar el servidor:

python mcp_powerpoint_server.py

El servidor creará un directorio de espacio de trabajo para presentaciones y plantillas si no existen.

Operaciones básicas

# List presentations presentations = mcp.list_presentations() # Create a new slide slide_index = mcp.add_slide(presentation_path, layout_name="Title and Content") # Add text to a slide element_id = mcp.add_text( presentation_path=presentation_path, slide_index=slide_index, text="Hello World", position=[1.0, 1.0], font_size=24 ) # Add a shape shape_id = mcp.add_shape( presentation_path=presentation_path, slide_index=slide_index, shape_type="rectangle", position={"x": 2.0, "y": 2.0}, size={"width": 2.0, "height": 1.0} )

Gráficos financieros

# Create a financial chart chart_id = mcp.create_financial_chart( presentation_path=presentation_path, slide_index=slide_index, chart_type="column", data={ "categories": ["2020", "2021", "2022"], "series": [{ "name": "Revenue", "values": [1000000, 1200000, 1500000] }] }, position={"x": 1.0, "y": 1.0}, size={"width": 6.0, "height": 4.0}, title="Revenue Growth" ) # Create a comparison table table_id = mcp.create_comparison_table( presentation_path=presentation_path, slide_index=slide_index, companies=["Company A", "Company B"], metrics=["revenue", "ebitda", "margin"], position={"x": 1.0, "y": 1.0}, title="Company Comparison" )

Gestión de plantillas

# List available templates templates = mcp.list_templates() # Apply a template mcp.apply_template( presentation_path=presentation_path, template_name="financial_report", options={ "apply_master": True, "apply_theme": True, "apply_layouts": True } ) # Create a slide from template mcp.create_slide_from_template( presentation_path=presentation_path, template_name="comparison_slide", content={ "title": "Market Analysis", "subtitle": "Q3 2023" } )

Estructura del directorio

pptx-mcp/ ├── mcp_powerpoint_server.py # Main server implementation ├── requirements.txt # Python dependencies ├── presentations/ # Workspace for presentations │ └── templates/ # Template storage └── README.md # This file

Dependencias

  • python-pptx: manipulación de archivos de PowerPoint
  • Almohada: Procesamiento de imágenes
  • numpy: Operaciones numéricas
  • SDK de MCP: Implementación del protocolo de contexto del modelo

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

-
security - not tested
F
license - not found
-
quality - not tested

Un servidor de protocolo de contexto de modelo que permite a los modelos de IA crear y manipular presentaciones de PowerPoint con funciones avanzadas como gráficos financieros, formato y gestión de plantillas.

  1. Features
    1. Presentation Management
    2. Element Operations
    3. Financial Integration
    4. Styling and Formatting
  2. Installation
    1. Setting up with Claude
      1. Installing the MCP into Claude's Interface
    2. Available MCP Tools
      1. Presentation Management
      2. Slide Operations
      3. Element Operations
      4. Financial Tools
      5. Template Operations
      6. Debug Tools
    3. Usage
      1. Starting the Server
      2. Basic Operations
      3. Financial Charts
      4. Template Management
    4. Directory Structure
      1. Dependencies
        1. Contributing
          1. License
            ID: b4ed10vdym