Microsoft Office (PowerPoint & Excel)
Automatice Microsoft PowerPoint y Excel en Windows mediante automatización COM impulsada por IA.
Documentación
Servidores MCP de Microsoft Office
Este repositorio contiene servidores de Model Context Protocol (MCP) para interactuar con aplicaciones de Microsoft Office mediante asistencia de IA. Aplicaciones actualmente compatibles:
- PowerPoint: Crear y manipular presentaciones
- Excel: Interactuar con libros y hojas de cálculo
Ambos servidores utilizan pywin32 para automatización COM, lo que permite la interacción directa con aplicaciones de Office en ejecución.
Requisitos previos
- Sistema operativo Windows
- Microsoft Office instalado (PowerPoint y/o Excel)
- Python 3.7+
- Paquete
pywin32
Instalación
- Clona el repositorio:
git clone https://github.com/jenstangen1/mcp-pptx.git
cd mcp-pptx
- Instala las dependencias usando
uv:
uv pip install pywin32
- Ejecuta el script post-instalación de
pywin32con privilegios de administrador:
python C:\path\to\your\env\Scripts\pywin32_postinstall.py -install
Configuración con Claude
Para integrar estos servidores MCP con Claude, añade la siguiente configuración a la configuración de tu aplicación Claude Desktop:
{
"mcpServers": {
"powerpoint_mcp_win32": {
"command": "uv",
"args": [
"run",
"mcp_powerpoint_server_win32.py"
],
"cwd": "C:\\path\\to\\your\\workspace"
},
"excel_mcp_win32": {
"command": "uv",
"args": [
"run",
"mcp_excel_server_win32.py"
],
"cwd": "C:\\path\\to\\your\\workspace"
}
}
}
Nota: Reemplaza C:\\path\\to\\your\\workspace con la ruta real de tu espacio de trabajo.
Servidor MCP de PowerPoint
El servidor de PowerPoint proporciona una API completa para que los modelos de IA interactúen con presentaciones de PowerPoint, con soporte para formato avanzado, gráficos financieros e integración de datos.
Características
Gestión de presentaciones
- Crear y modificar presentaciones de PowerPoint
- Añadir, 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 elementos de diapositivas (texto, formas, imágenes, gráficos)
- Creación y estilo avanzado de formas
- Posicionamiento y agrupación de elementos
- Líneas de conexión entre formas
Integración financiera
- Crear gráficos financieros (líneas, barras, columnas, circulares, cascada, etc.)
- Generar tablas comparativas
- Soporte para diversas métricas financieras:
- Ingresos
- EBITDA
- Beneficios
- Activos
- Patrimonio
- Tasas de crecimiento
- Márgenes
- Actualmente utiliza datos simulados, con planes de integrar la API de Proff para datos de empresas noruegas
- Adaptable a otros proveedores de datos financieros mediante personalización de la API
Estilo y formato
- Formato de texto enriquecido
- Estilo de formas (rellenos, degradados, contornos)
- Personalización de gráficos
- Colores de fondo y efectos
Nota: Es posible que necesites modificar la ruta del directorio para que coincida con tu ubicación de instalación.
Herramientas MCP disponibles
Gestión de presentaciones
list_presentations: Listar todos los archivos de PowerPoint en el espacio de trabajoupload_presentation: Subir una nueva presentación al espacio de trabajosave_presentation: Guardar la presentación actual
Operaciones con diapositivas
add_slide: Añadir una nueva diapositiva a la presentacióndelete_slide: Eliminar una diapositiva de la presentaciónget_slide_count: Obtener el número total de diapositivas en la presentaciónanalyze_slide: Analizar el contenido de una diapositivaset_background_color: Establecer el color de fondo de una diapositiva
Operaciones con elementos
add_text: Añadir texto a una diapositivaadd_shape: Añadir una forma a una diapositivaedit_element: Editar las propiedades de un elementostyle_element: Aplicar estilo a un elementoconnect_shapes: Conectar dos formas con un conectorfind_element: Buscar elementos en una diapositiva según criterios
Herramientas financieras
get_company_financials: Obtener datos financieros de una empresa (actualmente devuelve datos simulados)create_financial_chart: Crear un gráfico financiero en una diapositivacreate_comparison_table: Crear una tabla comparativa para empresas
Nota: Las herramientas financieras actualmente utilizan datos simulados. Las versiones futuras planean integrarse con 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 con plantillas
list_templates: Listar todas las plantillas disponiblesapply_template: Aplicar una plantilla a una presentacióncreate_slide_from_template: Crear una nueva diapositiva a partir de una plantillasave_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
Interactuar con Claude
Una vez que hayas configurado los servidores MCP en tu aplicación Claude Desktop, puedes interactuar con PowerPoint y Excel mediante comandos en lenguaje natural. Aquí tienes algunos ejemplos:
Ejemplos de PowerPoint
You: Create a new slide with a title "Market Analysis" and add a bar chart showing revenue growth.
Claude: I'll help you create that slide with the title and chart. I'll:
1. Add a new slide
2. Add the title text
3. Create a revenue chart
[Claude will then use the MCP tools in sequence:
- add_slide
- add_text
- create_financial_chart]
You: Make the title bigger and change its color to blue.
Claude: I'll modify the title's formatting.
[Claude will use:
- find_element (to locate the title)
- edit_element (to update the formatting)]
You: Add a comparison table below the chart comparing three companies.
Claude: I'll add a comparison table below the existing chart.
[Claude will use:
- create_comparison_table]
Ejemplos de Excel
You: Open the Q4 report and show me the revenue numbers from cells B2 to B5.
Claude: I'll help you retrieve those revenue figures.
[Claude will use:
- list_open_workbooks (to find the workbook)
- get_range_values (to read the specified cells)]
You: Calculate the sum of these numbers and put it in cell B6.
Claude: I'll calculate the sum and write it to B6.
[Claude will use:
- get_range_values (to get the numbers)
- set_cell_value (to write the sum)]
You: Create a new sheet called "Summary" and copy these values there.
Claude: I'll create a new sheet and copy the data.
[Claude will use:
- add_worksheet
- get_range_values (from source)
- set_range_values (to destination)]
Cómo funciona
-
Comprensión del lenguaje natural
- Claude interpreta tus solicitudes y las descompone en acciones específicas
- Comprende el contexto de interacciones anteriores
- Puede manejar operaciones complejas de varios pasos
-
Selección de herramientas
- Claude selecciona automáticamente las herramientas MCP adecuadas para cada tarea
- Puede encadenar múltiples herramientas para operaciones complejas
- Maneja casos de error y proporciona retroalimentación
-
Gestión del contexto
- Claude mantiene el contexto sobre:
- Archivos abiertos actualmente
- Operaciones recientes
- Elementos seleccionados
- Preferencias del usuario
- Claude mantiene el contexto sobre:
-
Manejo de errores
- Si una operación falla, Claude:
- Explicará qué salió mal
- Sugerirá alternativas
- Ayudará a solucionar problemas comunes
- Si una operación falla, Claude:
Mejores prácticas
-
Sé específico
- Menciona los números de diapositiva cuando sea relevante
- Especifica rangos exactos de celdas en Excel
- Describe claramente el formato deseado
-
Operaciones complejas
- Divide solicitudes complejas en pasos
- Confirma resultados intermedios
- Solicita ajustes según sea necesario
-
Solución de problemas
- Asegúrate de que PowerPoint/Excel esté en ejecución
- Verifica los permisos de archivos
- Confirma que la automatización COM esté funcionando
- Ejecuta pywin32_postinstall.py si es necesario
Flujos de trabajo de ejemplo
Crear una presentación financiera
You: Create a new presentation about Q4 financial results.
Claude: I'll create a new presentation with a title slide.
You: Add revenue charts for the last 4 quarters.
Claude: I'll create a new slide with a chart showing quarterly revenue.
You: Now add a comparison with our competitors.
Claude: I'll add a comparison table with key metrics for you and competitors.
Analizar datos de Excel
You: Show me all sheets in the Q4 analysis workbook.
Claude: I'll list all worksheets in that workbook.
You: Find the highest revenue value in column B.
Claude: I'll scan column B and find the maximum value.
You: Create a summary of the top 5 values.
Claude: I'll create a new sheet with the top 5 revenue figures.
Estructura de directorios
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
- Pillow: Procesamiento de imágenes
- numpy: Operaciones numéricas
- MCP SDK: Implementación del Model Context Protocol
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar una solicitud de extracción (Pull Request).
Licencia
Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.
Servidor MCP de Excel
El servidor de Excel proporciona herramientas para interactuar con libros de Excel, hojas de cálculo y datos de celdas mediante asistencia de IA.
Características
Gestión de libros
- Conectarse a instancias de Excel en ejecución
- Listar libros abiertos
- Guardar libros en varios formatos (.xlsx, .xlsm, .xlsb, .xls)
Operaciones con hojas de cálculo
- Listar hojas de cálculo en un libro
- Añadir nuevas hojas de cálculo
- Acceder a hojas de cálculo por nombre o índice
Operaciones con celdas y rangos
- Leer y escribir valores de celdas individuales
- Obtener y establecer valores para rangos de celdas
- Manejar varios tipos de datos (texto, números, fechas, moneda)
- Conversión automática de tipos para fechas y valores de moneda
Herramientas MCP disponibles
Gestión de libros
list_open_workbooks: Listar todos los libros de Excel actualmente abiertossave_workbook: Guardar un libro en disco con selección opcional de formato
Operaciones con hojas de cálculo
list_worksheets: Listar todas las hojas de cálculo en un libroadd_worksheet: Añadir una nueva hoja de cálculo a un libroget_worksheet: Obtener una hoja de cálculo por nombre o índice
Operaciones con celdas y rangos
get_cell_value: Leer el valor de una celda individualset_cell_value: Establecer el valor de una celda individualget_range_values: Leer valores de un rango de celdasset_range_values: Establecer valores para un rango de celdas
Notas
- Ambos servidores requieren Windows y sus respectivas aplicaciones de Microsoft Office instaladas
- Los servidores interactúan con instancias en ejecución de las aplicaciones
- La automatización COM requiere una inicialización adecuada; ejecuta el script post-instalación si encuentras errores relacionados con COM
- Para un mejor manejo de constantes, considera usar
makepypara generar constantes de Office