Excel

Manipulação do Excel incluindo leitura/escrita de dados, gerenciamento de planilhas, formatação, gráficos e tabela dinâmica

Documentação

Excel MCP Server

PyPI version Downloads CI License: MIT

Um servidor Model Context Protocol que permite a assistentes de IA criar, ler e editar pastas de trabalho do Excel. Não requer instalação do Microsoft Excel.

  • Ler e escrever células, fórmulas e datas, com paginação para planilhas grandes e busca
  • Formatar fontes, preenchimentos, bordas, formatos de número, larguras de colunas e painéis congelados
  • Estruturar planilhas, linhas e colunas, células mescladas, tabelas, gráficos e tabelas de resumo
  • Regras: formatação condicional e validação de dados (listas suspensas, limites numéricos)
  • Macros: ler o código VBA em arquivos .xlsm, módulo por módulo (somente leitura, nunca executa)
  • Seguro por design: confinamento opcional de pastas, verificação de segurança de fórmulas, modo somente leitura, HTTP somente em localhost por padrão e salvamentos atômicos que nunca deixam um arquivo pela metade

Funciona com arquivos .xlsx, .xlsm (macros são preservadas), .xltx e .xltm.

Início rápido

Você precisa de uv. Cada cliente executa o servidor com uvx excel-mcp-server stdio; substitua /path/to/workbooks pela pasta que o servidor pode usar.

Claude Desktop (Chat): baixe excel-mcp-server-<version>.mcpb do último lançamento e abra-o. O Claude pergunta qual pasta o servidor pode usar.

Claude Code (a CLI e a aba Code no Claude Desktop):

claude mcp add excel --scope user -- uvx excel-mcp-server stdio --allow-dir /path/to/workbooks

Cursor (~/.cursor/mcp.json) e a maioria dos clientes que usam uma configuração mcpServers:

{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": ["excel-mcp-server", "stdio", "--allow-dir", "/path/to/workbooks"]
    }
  }
}

VS Code com GitHub Copilot (.vscode/mcp.json, observe a chave servers):

{
  "servers": {
    "excel": {
      "type": "stdio",
      "command": "uvx",
      "args": ["excel-mcp-server", "stdio", "--allow-dir", "${workspaceFolder}"]
    }
  }
}
OpenAI Codex, Gemini CLI, Devin Desktop e Claude Desktop sem o pacote

OpenAI Codex (CLI, extensão de IDE e aplicativo):

codex mcp add excel -- uvx excel-mcp-server stdio --allow-dir /path/to/workbooks

Gemini CLI:

gemini mcp add -s user excel uvx excel-mcp-server stdio --allow-dir /path/to/workbooks

Devin Desktop:

devin mcp add -s user excel -- uvx excel-mcp-server stdio --allow-dir /path/to/workbooks

Claude Desktop, configuração manual: abra Configurações, Desenvolvedor, Editar Config, adicione o JSON mcpServers acima em claude_desktop_config.json e reinicie o Claude.

Aplicativos de desktop frequentemente não encontram uvx, porque não veem o PATH do seu shell (comum no macOS). Use o caminho completo, que which uvx imprime.

Escolhendo quais arquivos ele pode usar

Com --allow-dir DIR, o servidor só abre pastas de trabalho dentro de DIR (subpastas incluídas) e caminhos relativos como reports/q1.xlsx começam lá. Repita a flag para permitir várias pastas, ou defina EXCEL_FILES_PATH (separe pastas com : no macOS/Linux e ; no Windows).

Sem --allow-dir, qualquer caminho absoluto para um arquivo Excel funciona. Em todos os modos, o servidor apenas toca em arquivos Excel e nunca sobrescreve silenciosamente uma pasta de trabalho existente.

Uso remoto (Streamable HTTP)

uvx excel-mcp-server streamable-http --allow-dir /srv/workbooks

Os clientes se conectam a http://127.0.0.1:8017/mcp. As pastas de trabalho ficam na pasta --allow-dir (padrão ./excel_files), e export_workbook / import_workbook movem arquivos entre o servidor e o cliente.

O servidor escuta apenas em localhost. Para aceitar outras máquinas, defina um token e um host:

EXCEL_MCP_AUTH_TOKEN=change-me uvx excel-mcp-server streamable-http --host 0.0.0.0

Os clientes então enviam Authorization: Bearer change-me. Coloque um proxy reverso com terminação TLS na frente dele para uso em redes.

Docker

docker build -t excel-mcp-server .
docker run -p 8017:8017 -v "$PWD/workbooks:/data" -e EXCEL_MCP_AUTH_TOKEN=change-me excel-mcp-server

Configuração

FlagVariável de ambientePadrãoSignificado
--allow-dir DIREXCEL_FILES_PATHnenhum (stdio), ./excel_files (HTTP)Pastas onde as pastas de trabalho devem estar
--read-onlyEXCEL_MCP_READ_ONLY=1desligadoOferecer apenas ferramentas que não alteram arquivos
--max-file-mb N100Maior pasta de trabalho que o servidor abre
--log-level LEVELWARNINGRegistro em stderr
--host HOSTEXCEL_MCP_HOST127.0.0.1Endereço de escuta HTTP
--port PORTEXCEL_MCP_PORT8017Porta HTTP
EXCEL_MCP_AUTH_TOKENnenhumToken Bearer exigido em solicitações HTTP
--allow-unauthenticateddesligadoPermitir um --host não local sem token

Ferramentas

ÁreaFerramentas
Pastas de trabalhocreate_workbook, describe_workbook, list_workbooks, export_workbook, import_workbook
Planilhasdescribe_sheet, create_sheet, rename_sheet, copy_sheet, delete_sheet, insert_rows_or_columns, delete_rows_or_columns
Célulasread_range, write_range, clear_range, copy_range, find_cells
Formataçãoformat_range, merge_cells, set_sheet_layout, add_conditional_format, add_data_validation
Objetoscreate_table, create_chart, create_summary_table
Macrosread_vba

Cada parâmetro está documentado em TOOLS.md.

Segurança

  • Fórmulas são analisadas antes de serem escritas. Funções que acessam a rede, outros programas ou informações do host (WEBSERVICE, HYPERLINK, IMAGE, RTD, CALL, INFO, INDIRECT, Google Sheets IMPORTXML e outras), links DDE e referências a outras pastas de trabalho são rejeitadas.
  • Caminhos são resolvidos, incluindo symlinks, antes de serem verificados contra as pastas permitidas.
  • Uma única chamada processa no máximo 100.000 células, e leituras grandes são retornadas em páginas.
  • O conteúdo das células são dados de arquivos. O servidor informa ao modelo para não seguir instruções encontradas neles, mas revise o que um assistente faz com pastas de trabalho de fontes não confiáveis.

Por favor, relate vulnerabilidades de forma privada; veja SECURITY.md.

Limitações

  • Fórmulas são armazenadas, não calculadas. read_range no modo values retorna os resultados que o Excel salvou por último, então fórmulas escritas por este servidor são lidas como vazias até que o arquivo seja aberto e salvo no Excel ou LibreOffice.
  • Arquivos legados .xls e .csv não são suportados.
  • create_summary_table escreve um resumo estático; openpyxl não pode criar Tabelas Dinâmicas reais.
  • Inserir ou excluir linhas e colunas não atualiza fórmulas, gráficos ou tabelas que referenciam as células movidas.
  • Recursos de pastas de trabalho que o openpyxl não entende, como formas, segmentações de dados e alguns objetos incorporados, podem ser perdidos quando uma pasta de trabalho é editada. Imagens, gráficos, tabelas e macros em arquivos .xlsm são mantidos.

Atualizando da versão 0.x

A versão 1.0 renomeia e redesenha as ferramentas, remove o transporte SSE e exige Python 3.11 ou mais recente. O changelog mapeia cada ferramenta antiga para sua substituta.

Contribuindo

Contribuições são bem-vindas. Veja CONTRIBUTING.md.

Histórico de estrelas

Star History Chart

Licença

MIT. Veja LICENSE.