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
- Clone o repositório:
git clone https://github.com/jenstangen1/mcp-pptx.git
cd mcp-pptx
- Instale as dependências usando
uv:
uv pip install pywin32
- Execute o script pós-instalação
pywin32com 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 workspaceupload_presentation: Enviar uma nova apresentação para o workspacesave_presentation: Salvar a apresentação atual
Operações com Slides
add_slide: Adicionar um novo slide à apresentaçãodelete_slide: Excluir um slide da apresentaçãoget_slide_count: Obter o número total de slides na apresentaçãoanalyze_slide: Analisar o conteúdo de um slideset_background_color: Definir a cor de fundo de um slide
Operações com Elementos
add_text: Adicionar texto a um slideadd_shape: Adicionar uma forma a um slideedit_element: Editar as propriedades de um elementostyle_element: Aplicar estilização a um elementoconnect_shapes: Conectar duas formas com um conectorfind_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 slidecreate_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íveisapply_template: Aplicar um modelo a uma apresentaçãocreate_slide_from_template: Criar um novo slide a partir de um modelosave_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
-
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
-
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
-
Gerenciamento de Contexto
- O Claude mantém contexto sobre:
- Arquivos atualmente abertos
- Operações recentes
- Elementos selecionados
- Preferências do usuário
- O Claude mantém contexto sobre:
-
Tratamento de Erros
- Se uma operação falhar, o Claude irá:
- Explicar o que deu errado
- Sugerir alternativas
- Ajudar a solucionar problemas comuns
- Se uma operação falhar, o Claude irá:
Melhores Práticas
-
Seja Específico
- Mencione números de slides quando relevante
- Especifique intervalos exatos de células no Excel
- Descreva claramente a formatação desejada
-
Operações Complexas
- Divida solicitações complexas em etapas
- Confirme resultados intermediários
- Peça ajustes conforme necessário
-
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 abertassave_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 trabalhoadd_worksheet: Adicionar uma nova planilha a uma pasta de trabalhoget_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élulaset_cell_value: Definir o valor de uma única célulaget_range_values: Ler valores de um intervalo de célulasset_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
makepypara gerar constantes do Office