“Rename ACME Corp to Globex in this contract” é um trabalho de três segundos para uma pessoa e uma armadilha para um agente de IA. A rota óbvia, ler o documento e escrever um novo, descarta os estilos, as bordas da tabela, os cabeçalhos e a confiança do revisor de que nada mais foi alterado. Com o servidor GroupDocs.Editor MCP em execução localmente, Claude, Cursor ou Copilot editam o arquivo em vez de reescrevê‑lo: eles encontram as palavras, as substituem no local, mantêm a formatação e informam quantas foram alteradas:
Renomeie ACME Corp para Globex Ltd em contract.docx e mantenha a formatação.
A versão passo a passo com configuração, prompts e solução de problemas está na documentação: How to edit documents with AI agents using MCP.
O que dá errado quando o modelo reescreve o arquivo?
Um modelo de linguagem não contém um .docx. Ele contém texto. Quando você pede para ele “atualizar o contrato”, o caminho natural é ler as palavras, mudá‑las e produzir um novo documento a partir de sua própria cópia. Três coisas se perdem no caminho.
Formatação. Nomes de partes em negrito, cabeçalhos numerados, linhas de grade da tabela, larguras das colunas da tabela de taxas, o rodapé com números de página: nada disso faz parte do texto que o modelo leu, portanto nada sobrevive à viagem a menos que algo o reconstrua.
Tudo que o modelo não foi solicitado a tocar. A regeneração significa que cada frase passa novamente pelo modelo. Uma cláusula pode ser “arrumada”, um número reformatado, uma frase descartada porque a janela de contexto se encheu. O revisor agora tem que comparar todo o documento para confiar em uma mudança de três palavras.
Rastro de auditoria. “Atualizei o contrato” é a mesma resposta, seja o modelo ter mudado um nome ou sete. Não há contagem e não há como distinguir uma edição cuidadosa de uma confiante.
Os servidores de edição apenas para DOCX que já existem resolveram o primeiro problema para Word. Os outros dois, e todo formato que não seja Word, ainda permanecem em aberto.
Como é uma edição direcionada?
Duas chamadas. Capturadas do GroupDocs.Editor.Mcp 26.10.0 contra um acordo de serviços sintético em que “ACME Corp” aparece sete vezes:
-> get_document_info {"file":{"filePath":"contract.docx"}}
<- { "family": "WordProcessing", "pageCount": 1, "canEdit": true,
"canSaveTo": [ "docx", "doc", "rtf", "odt", "pdf", "md", ... ] }
-> replace_text {"file":{"filePath":"contract.docx"},
"find":"ACME Corp","replace":"Globex Ltd","wholeWord":true}
<- Replaced 6 occurrence(s) of 'ACME Corp' in 'contract.docx'
Saved to: …/contract_edited.docx
-> replace_text {"file":{"filePath":"contract.docx"},
"find":"Initech","replace":"Globex Ltd"}
<- Text replacement found no matches for 'Initech' in 'contract.docx'.
No file was written.
A cópia editada mantém o nome da parte em negrito, os estilos dos cabeçalhos e a tabela de taxas. O original permanece intacto; o resultado é um novo arquivo, contract_edited.docx, na pasta de armazenamento.
Por que seis e não sete?
Este é o detalhe que vale a pena ler duas vezes. O sétimo “ACME Corp” está na cláusula de avisos, onde “ACME” está em itálico e " Corp" não está. No arquivo esses são dois trechos de formatação, e replace_text corresponde dentro de um único trecho. Ele não adivinhou, nem mesclou os estilos para forçar a correspondência; relatou seis, e o sétimo ainda está como “ACME Corp”.
Esse é o comportamento desejado de uma ferramenta que edita contratos. Uma contagem menor que a esperada é um sinal para investigar; uma reescrita silenciosa e “completa” não é. O agente pode seguir com o outro caminho que o servidor oferece: extrair essa parte como HTML, editá‑la e salvá‑la novamente. O post de ida e volta cobre isso.
As chamadas, em ordem
user agent Editor MCP server
| "Rename ACME Corp to Globex Ltd in contract.docx" |
|---------------->| |
| |-- get_document_info {"file":...} -------->|
| |<- WordProcessing, 1 page, canEdit --------|
| |-- replace_text {"find":"ACME Corp", |
| | "replace":"Globex Ltd", |
| | "wholeWord":true} ------------------->|
| |<- "Replaced 6 occurrence(s) ... |
| | Saved to: .../contract_edited.docx" ---|
|<- "6 changed; one more is split across formatting - check |
| the notices clause. The original is kept." |
(a find that matches nothing: 'No file was written.')
Por que isso é mais do que um truque do Word
A mesma chamada funciona em uma planilha, um slide, um PDF ou um arquivo de texto. Em nosso teste, "worksheet": 1 renomeou o fornecedor na planilha de resumo do orçamento e deixou as outras duas planilhas intactas; "slide": 1 fez o mesmo em um deck de revisão. "format": "pdf" edita e converte em uma única chamada, então “corrija o nome e me envie um PDF” é um passo. "regex": true lida com padrões como strings de versão.
Antes de editar, get_document_info informa ao agente com o que está lidando: a família, a contagem de páginas, planilhas ou slides, se o arquivo está protegido por senha e quais formatos ele pode salvar. Um agente cauteloso o chama primeiro, e você pode solicitá‑lo.
Configuração
dnx GroupDocs.Editor.Mcp --yes
com GROUPDOCS_MCP_STORAGE_PATH apontando para a pasta que o agente pode editar, ou a imagem Docker ghcr.io/groupdocs-editor/editor-net-mcp. A configuração por cliente está no hub de documentação. O que mudou no motor em si está nas notas de lançamento do GroupDocs.Editor for .NET 26.6.
Limites honestos
replace_textcorresponde dentro de um único trecho de formatação; uma frase dividida entre estilos não é encontrada, e a contagem o revela.- Sem controle de alterações nem comentários: o resultado é uma cópia editada, não um redline.
- Modo de avaliação: toda saída começa com uma linha de banner de avaliação, pastas de trabalho salvas ganham uma planilha extra, e apenas as duas primeiras planilhas ou slides podem ser editados. O servidor recusa a terceira e explica o motivo.
- A edição de PDF é uma conversão para HTML ou Word editável e volta; não é edição in‑place de PDF.
FAQ
O agente sobrescreverá meu arquivo original?
Não. Cada edição grava um novo arquivo, <name>_edited.<ext> por padrão ou o outputName que você fornecer, na pasta de armazenamento.
O que acontece se o texto não estiver no documento?
Nada é gravado. O servidor responde “found no matches … No file was written.”, então o agente pode informá‑lo em vez de devolver uma cópia inalterada.
Funciona sem o Word instalado?
Sim. O servidor roda localmente com o motor GroupDocs.Editor; sem necessidade de instalação do Office e sem upload.
Aprofunde
- Documentação, guia canônico: How to edit documents with AI agents using MCP
- Hub de documentação: GroupDocs.Editor MCP Server
- Relacionado: Rename a party across 40 contracts without touching the formatting
- Relacionado: Fill Word forms from a spreadsheet with an AI agent, locally
- Relacionado: Edit one worksheet, keep the workbook: surgical edits with an HTML round-trip
- Relacionado: Edit a PDF with an AI agent? Turn it into Word first, locally
- Modelo on‑premise e de segurança: 3 architectures for AI document processing, and the one that keeps files inside your network
- Perguntas: GroupDocs Editor forum
- Fonte: GroupDocs.Editor.Mcp on GitHub · NuGet package