Su proveedor fue adquirido, y “ACME Corp” ahora es “Globex Ltd” en cada contrato, cronograma, presupuesto y presentación que lo mencione. Con el servidor GroupDocs.Editor MCP ejecutándose localmente, Claude Desktop, Cursor o Copilot lo hacen como un lote: para cada archivo en la carpeta llama a replace_text, conserva el formato, informa cuántas ocurrencias cambió y no escribe nada para los archivos que nunca mencionaron el nombre antiguo. No se sube nada y no se sobrescribe el original:
Renombrar ACME Corp a Globex Ltd en cada documento de la carpeta contracts, conservar el formato y darme un recuento por archivo.
La versión paso a paso está en la documentación: Cómo encontrar y reemplazar texto en una carpeta de documentos sin romper el formato.
¿Por qué es esto un trabajo para una herramienta y no para el modelo?
Porque el resultado debe ser verificable. Cuarenta documentos son demasiados para compararlos a simple vista, y un modelo que “actualizó todos los contratos” no te brinda nada contra lo que comprobar. Una herramienta de buscar‑y‑reemplazar te da un número por archivo. Los números son la pista de auditoría: sabes qué archivos cambiaron, en cuánto, y cuáles no necesitaban cambios.
También tiene que ser aburrido en el sentido correcto. El nombre de la parte en negrita sigue en negrita, la tabla de honorarios mantiene su cuadrícula, los encabezados conservan sus estilos. El modelo nunca vuelve a escribir el documento: el motor lo abre, reemplaza las palabras y escribe una copia. Un detalle en el servidor 26.10.0: esa copia se escribe desde el modelo de edición HTML del motor, y un footer de Word no pasa a través de él. Un contrato que nombra al proveedor en su pie de página necesita el recorrido HTML paginado en su lugar; la FAQ enumera lo que conserva un documento de Word.
Lo que ve el agente
Capturado de GroupDocs.Editor.Mcp 26.10.0 contra un pequeño conjunto sintético: un acuerdo de servicios, un NDA, una carta de bienvenida, un presupuesto de tres hojas y una presentación de tres diapositivas.
-> replace_text {"file":{"filePath":"contracts/msa-northwind.docx"},
"find":"ACME Corp","replace":"Globex Ltd","wholeWord":true}
<- Replaced 6 occurrence(s) of 'ACME Corp' in 'msa-northwind.docx'
Saved to: …/msa-northwind_edited.docx
-> replace_text {"file":{"filePath":"contracts/nda-northwind.docx"}, ...}
<- Replaced 1 occurrence(s) of 'ACME Corp' in 'nda-northwind.docx'
-> replace_text {"file":{"filePath":"contracts/welcome-letter.docx"}, ...}
<- Text replacement found no matches for 'ACME Corp' in
'welcome-letter.docx'. No file was written.
-> replace_text {"file":{"filePath":"budget.xlsx"}, ..., "worksheet":1}
<- Replaced 1 occurrence(s) of 'ACME Corp' in worksheet 1 of 3 of
'budget.xlsx'
-> replace_text {"file":{"filePath":"review.pptx"}, ..., "slide":1}
<- Replaced 1 occurrence(s) of 'ACME Corp' in slide 1 of 3 of
'review.pptx'
El informe del agente se escribe solo: seis en el acuerdo, una en el NDA, ninguna en la carta de bienvenida, una en el resumen del presupuesto, una en la primera diapositiva.
El bucle
contracts/ + budget.xlsx + review.pptx
|
+-- for each file:
| replace_text {"find":"ACME Corp","replace":"Globex Ltd",
| "wholeWord":true} (+ "worksheet"/"slide")
| -> "Replaced N occurrence(s) ..." -> <name>_edited.<ext>
| -> "found no matches ... No file was written."
|
'-- report: file -> count; files with 0 listed separately
Dos hábitos hacen que el bucle sea fiable. Usa wholeWord: true para nombres, de modo que “ACME Corp” no coincida dentro de “ACME Corporation Holdings”. Y pide al agente que enumere los archivos con cero coincidencias, porque un cero en un archivo que esperabas cambiar es lo que realmente merece una segunda revisión.
Comprobando el lote antes de reemplazar nada
Las copias editadas se sitúan junto a los originales hasta que decidas lo contrario, y ese es el momento de revisar. Tres verificaciones económicas atrapan casi todos los problemas. Compara los recuentos por archivo con lo que esperabas: un acuerdo que nombra al proveedor en cada página no debería reportar una sola ocurrencia. No confíes en ejecutar el mismo reemplazo de nuevo: una frase dividida por formato se pierde también la segunda vez, y “found no matches” parecería un todo correcto. Pide al agente que ejecute extract_html en cada copia editada; su vista previa en texto plano une los fragmentos de formato, de modo que un “ACME Corp” residual aparece allí. Variantes ortográficas (“Acme Corp.” con punto, “ACME Corporation”) merecen su propia pasada con matchCase: false o una expresión regular. Y abre un archivo editado de cada tipo —un contrato, una hoja de cálculo y una presentación— para confirmar que el formato y el pie de página sobrevivieron. Sólo entonces mueve los archivos _edited sobre los originales, o deja que tu sistema de documentos los versiona.
Patrones, mayúsculas y formato en la misma llamada
El renombrado es el caso más común, pero la misma herramienta cubre el resto de la familia “hacer la redacción coherente”. En la misma ejecución de prueba:
-> replace_text {"file":{"filePath":"contracts/nda-northwind.docx"},
"find":"v2\\.3\\b","replace":"v2.4","regex":true,
"outputName":"nda-northwind-v2.4.docx"}
<- Replaced 1 occurrence(s) of 'v2\.3\b' in 'nda-northwind.docx'
-> replace_text {"file":{"filePath":"contracts/nda-northwind.docx"},
"find":"acme corp","replace":"Globex Ltd","matchCase":false,
"format":"pdf"}
<- Replaced 1 occurrence(s) of 'acme corp' in 'nda-northwind.docx'
Saved to: …/nda-northwind_edited.pdf
regex: true acepta una expresión regular de .NET, que es como se realiza un aumento de versión o un cambio de formato de fecha a través de una carpeta. matchCase: false captura capitalizaciones inconsistentes. format: "pdf" edita y convierte en un solo paso, para la copia que va al otro lado.
Una nota para agentes de codificación
El mismo patrón funciona en un repositorio. Las notas de versión en DOCX y las especificaciones en XLSX son invisibles para sed; Claude Code con este servidor puede actualizar la cadena de versión en ambos como parte de la tarea de lanzamiento. Incluye la regla en las instrucciones del proyecto para que el agente use la herramienta en lugar de intentar descomprimir archivos de Office:
To change wording in .docx/.xlsx/.pptx/.pdf files in this repo, use the
groupdocs-editor MCP server's replace_text (wholeWord for names, regex for
versions). Report the count per file. Never rewrite an Office file by hand.
Límites honestos
- La coincidencia ocurre dentro de una sola ejecución de formato. En nuestro acuerdo, un séptimo “ACME Corp”, con “ACME” en cursiva, no se reemplazó, y el recuento de seis lo mostró. Las frases divididas por estilos necesitan el recorrido HTML.
- Cada resultado se coloca en la raíz de la carpeta de salida como
<name>_edited.<ext>, incluso cuando el original estaba en una subcarpeta. No se sobrescribe nada: un nombre que ya está tomado recibe un número (msa-northwind_edited (1).docx), así que proporcionaoutputNamecuando los nombres podrían colisionar. - En el servidor 26.10.0 la copia editada de un documento Word pierde su footer, y los controles de contenido se aplanan a texto plano. Verifica los documentos que llevan el nombre antiguo en un footer.
- Las hojas de cálculo y presentaciones se editan una hoja o diapositiva por llamada. En modo evaluación solo se pueden editar las dos primeras, y el servidor lo indica: “Evaluation mode edits only the first 2 slides of a presentation; slide 3 is beyond them.”
- El modo evaluación también añade una línea de banner a cada salida, y se rechaza un PDF de más de dos páginas.
Preguntas frecuentes
¿Puede reemplazar texto en Word, Excel y PowerPoint en un solo lote?
Sí. El agente llama a la misma herramienta por archivo y añade worksheet o slide para libros y presentaciones.
¿Cómo sé qué archivos fueron modificados?
Cada llamada devuelve el recuento, y los archivos sin coincidencia no se escriben en absoluto. Pide al agente una tabla por archivo.
¿Se sobrescribirán los originales?
No. Cada edición escribe un archivo nuevo; los originales permanecen como estaban hasta que los reemplaces tú mismo.
Profundiza más
- Documentación, guía canónica: Cómo encontrar y reemplazar texto en una carpeta de documentos sin romper el formato
- Centro de documentación: GroupDocs.Editor MCP Server
- GroupDocs.Editor MCP product page — instalación con un clic para VS Code y Cursor, configuraciones para cualquier otro cliente
- Empieza aquí: Por qué un agente de IA no debe reescribir tu documento para cambiar tres palabras
- Relacionado: Rellenar formularios Word desde una hoja de cálculo con un agente de IA, localmente
- Relacionado: Editar una hoja, mantener el libro: ediciones quirúrgicas con un recorrido HTML
- Relacionado: ¿Editar un PDF con un agente de IA? Convértelo a Word primero, localmente
- Modelo on‑premise y de seguridad: 3 arquitecturas para el procesamiento de documentos con IA, y la que mantiene los archivos dentro de tu red
- Preguntas: GroupDocs Editor forum
- Fuente: GroupDocs.Editor.Mcp on GitHub · NuGet package