Microsoft Office (PowerPoint & Excel)

Automatize o Microsoft PowerPoint e Excel no Windows usando automação COM com inteligência artificial.

Documentação

Microsoft Office MCP Servers

Este repositório contém servidores Model Context Protocol (MCP) para interagir com aplicativos do Microsoft Office por meio de assistência de IA. Aplicativos atualmente suportados:

  • PowerPoint: Criar e manipular apresentações
  • Excel: Interagir com pastas de trabalho e planilhas

Ambos os servidores usam pywin32 para automação COM, permitindo interação direta com aplicativos Office em execução.

Pré-requisitos

  • Sistema operacional Windows
  • Microsoft Office instalado (PowerPoint e/ou Excel)
  • Python 3.7+
  • Pacote pywin32

Instalação

  1. Clone o repositório:
git clone https://github.com/jenstangen1/mcp-pptx.git
cd mcp-pptx
  1. Instale as dependências usando uv:
uv pip install pywin32
  1. Execute o script pós-instalação pywin32 com privilégios de administrador:
python C:\path\to\your\env\Scripts\pywin32_postinstall.py -install

Configuração com Claude

Para integrar esses servidores MCP ao Claude, adicione a seguinte configuração às configurações do aplicativo 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: Substitua C:\\path\\to\\your\\workspace pelo caminho real do seu workspace.

Servidor MCP do PowerPoint

O servidor do PowerPoint fornece uma API abrangente para modelos de IA interagirem com apresentações do PowerPoint, com suporte a formatação avançada, gráficos financeiros e integração de dados.

Recursos

Gerenciamento de Apresentações

  • Criar e modificar apresentações do PowerPoint
  • Adicionar, excluir e modificar slides
  • Salvar e carregar apresentações do workspace
  • Sistema de gerenciamento de modelos

Operações com Elementos

  • Controle refinado sobre elementos de slides (texto, formas, imagens, gráficos)
  • Criação e estilização avançada de formas
  • Posicionamento e agrupamento de elementos
  • Linhas de conexão entre formas

Integração Financeira

  • Criar gráficos financeiros (linha, barra, coluna, pizza, cascata, etc.)
  • Gerar tabelas de comparação
  • Suporte a diversas métricas financeiras:
    • Receita
    • EBITDA
    • Lucro
    • Ativos
    • Patrimônio líquido
    • Taxas de crescimento
    • Margens
  • Atualmente usa dados fictícios, com planos de integrar a API Proff para dados de empresas norueguesas
  • Adaptável a outros provedores de dados financeiros por meio de personalização da API

Estilização e Formatação

  • Formatação de texto rica
  • Estilização de formas (preenchimentos, gradientes, contornos)
  • Personalização de gráficos
  • Cores de fundo e efeitos

Nota: Talvez seja necessário modificar o caminho do diretório para corresponder ao local da sua instalação.

Ferramentas MCP Disponíveis

Gerenciamento de Apresentações

  • list_presentations: Listar todos os arquivos do PowerPoint no workspace
  • upload_presentation: Enviar uma nova apresentação para o workspace
  • save_presentation: Salvar a apresentação atual

Operações com Slides

  • add_slide: Adicionar um novo slide à apresentação
  • delete_slide: Excluir um slide da apresentação
  • get_slide_count: Obter o número total de slides na apresentação
  • analyze_slide: Analisar o conteúdo de um slide
  • set_background_color: Definir a cor de fundo de um slide

Operações com Elementos

  • add_text: Adicionar texto a um slide
  • add_shape: Adicionar uma forma a um slide
  • edit_element: Editar as propriedades de um elemento
  • style_element: Aplicar estilização a um elemento
  • connect_shapes: Conectar duas formas com um conector
  • find_element: Encontrar elementos em um slide com base em critérios

Ferramentas Financeiras

  • get_company_financials: Obter dados financeiros de uma empresa (atualmente retorna dados fictícios)
  • create_financial_chart: Criar um gráfico financeiro em um slide
  • create_comparison_table: Criar uma tabela de comparação para empresas

Nota: As ferramentas financeiras atualmente usam dados fictícios. Versões futuras planejam integrar a API Proff para busca automática de dados de empresas norueguesas. Os usuários podem modificar o código para conectar-se a provedores de dados financeiros locais ou preferidos.

Operações com Modelos

  • list_templates: Listar todos os modelos disponíveis
  • apply_template: Aplicar um modelo a uma apresentação
  • create_slide_from_template: Criar um novo slide a partir de um modelo
  • save_as_template: Salvar um slide como modelo

Ferramentas de Depuração

  • debug_element_mappings: Ferramenta de depuração para inspecionar mapeamentos de elementos de um slide

Uso

Interagindo com o Claude

Depois de configurar os servidores MCP no seu aplicativo Claude Desktop, você pode interagir com PowerPoint e Excel por meio de comandos em linguagem natural. Aqui estão alguns exemplos:

Exemplos com 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]

Exemplos com 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)]

Como Funciona

  1. Compreensão de Linguagem Natural

    • O Claude interpreta suas solicitações e as divide em ações específicas
    • Ele entende o contexto de interações anteriores
    • Ele pode lidar com operações complexas de várias etapas
  2. Seleção de Ferramentas

    • O Claude seleciona automaticamente as ferramentas MCP apropriadas para cada tarefa
    • Ele pode encadear várias ferramentas para operações complexas
    • Ele lida com casos de erro e fornece feedback
  3. Gerenciamento de Contexto

    • O Claude mantém contexto sobre:
      • Arquivos atualmente abertos
      • Operações recentes
      • Elementos selecionados
      • Preferências do usuário
  4. Tratamento de Erros

    • Se uma operação falhar, o Claude irá:
      • Explicar o que deu errado
      • Sugerir alternativas
      • Ajudar a solucionar problemas comuns

Melhores Práticas

  1. Seja Específico

    • Mencione números de slides quando relevante
    • Especifique intervalos exatos de células no Excel
    • Descreva claramente a formatação desejada
  2. Operações Complexas

    • Divida solicitações complexas em etapas
    • Confirme resultados intermediários
    • Peça ajustes conforme necessário
  3. Solução de Problemas

    • Certifique-se de que o PowerPoint/Excel esteja em execução
    • Verifique as permissões de arquivo
    • Confirme se a automação COM está funcionando
    • Execute pywin32_postinstall.py se necessário

Fluxos de Trabalho de Exemplo

Criando uma Apresentação Financeira

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.

Analisando Dados do 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.

Estrutura de Diretórios

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

Dependências

  • python-pptx: Manipulação de arquivos do PowerPoint
  • Pillow: Processamento de imagens
  • numpy: Operações numéricas
  • MCP SDK: Implementação do Model Context Protocol

Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Servidor MCP do Excel

O servidor do Excel fornece ferramentas para interagir com pastas de trabalho, planilhas e dados de células do Excel por meio de assistência de IA.

Recursos

Gerenciamento de Pastas de Trabalho

  • Conectar-se a instâncias do Excel em execução
  • Listar pastas de trabalho abertas
  • Salvar pastas de trabalho em vários formatos (.xlsx, .xlsm, .xlsb, .xls)

Operações com Planilhas

  • Listar planilhas em uma pasta de trabalho
  • Adicionar novas planilhas
  • Acessar planilhas por nome ou índice

Operações com Células e Intervalos

  • Ler e escrever valores de células individuais
  • Obter e definir valores para intervalos de células
  • Lidar com vários tipos de dados (texto, números, datas, moeda)
  • Conversão automática de tipos para valores de data e moeda

Ferramentas MCP Disponíveis

Gerenciamento de Pastas de Trabalho

  • list_open_workbooks: Listar todas as pastas de trabalho do Excel atualmente abertas
  • save_workbook: Salvar uma pasta de trabalho em disco com seleção opcional de formato

Operações com Planilhas

  • list_worksheets: Listar todas as planilhas em uma pasta de trabalho
  • add_worksheet: Adicionar uma nova planilha a uma pasta de trabalho
  • get_worksheet: Obter uma planilha por nome ou índice

Operações com Células e Intervalos

  • get_cell_value: Ler o valor de uma única célula
  • set_cell_value: Definir o valor de uma única célula
  • get_range_values: Ler valores de um intervalo de células
  • set_range_values: Definir valores para um intervalo de células

Notas

  • Ambos os servidores exigem Windows e seus respectivos aplicativos Microsoft Office instalados
  • Os servidores interagem com instâncias em execução dos aplicativos
  • A automação COM requer inicialização adequada; execute o script pós-instalação se encontrar erros relacionados a COM
  • Para melhor tratamento de constantes, considere usar makepy para gerar constantes do Office