“Перейменувати ACME Corp на Globex у цьому контракті” — це трисекундна робота для людини і пастка для AI‑агента. Очевидний шлях — прочитати документ і написати новий, втрачаючи стилі, межі таблиць, колонтитули та впевненість рецензента, що нічого більше не змінилося. За допомогою локального сервера GroupDocs.Editor MCP, Claude, Cursor або Copilot редагують файл замість того, щоб переписувати його: вони знаходять слова, замінюють їх на місці, зберігають форматування і повідомляють, скільки змінено:
Перейменуйте ACME Corp на Globex Ltd у contract.docx і збережіть форматування.
Покрокова інструкція з налаштуванням, підказками та усуненням проблем доступна в документації: How to edit documents with AI agents using MCP.
Що йде не так, коли модель переписує файл?
Мовна модель не зберігає .docx. Вона зберігає лише текст. Коли ви просите її «оновити контракт», природний шлях — прочитати слова, змінити їх і створити новий документ зі своєї копії. На цьому шляху втрачаються три речі.
Форматування. Жирні назви сторін, нумеровані заголовки, лінії сітки таблиці, ширина колонок таблиці збору платежів, колонтитул із номерами сторінок — нічого з цього не входить до тексту, який читає модель, тому без додаткового відновлення це зникає.
Все, що модель не була запрошена змінювати. Перегенерація означає, що кожне речення проходить через модель знову. Пункт може бути «виправлений», число переоформлене, речення видалене через заповнення контекстного вікна. Тепер рецензенту доводиться порівнювати весь документ, щоб довіряти зміні в три слова.
Трасування змін. «Я оновив контракт» — це одна й та сама відповідь, чи змінила модель одне ім’я, чи сім. Немає підрахунку і немає способу розрізнити обережну правку від впевненої.
Сервери редагування лише DOCX, які вже існують, вирішили першу проблему для Word. Інші дві, а також будь‑який формат, який не є Word, залишаються відкритими.
Як виглядає цілеспрямована правка?
Два виклики. Зафіксовано з GroupDocs.Editor.Mcp 26.10.0 проти синтетичного договору про послуги, у якому «ACME Corp» зустрічається сім разів:
-> 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.
Відредагована копія зберігає жирну назву сторони, стилі заголовків і таблицю збору платежів. Оригінал залишаєтсья недоторканим; результатом є новий файл contract_edited.docx у папці сховища.
Чому шість, а не сім?
Це деталь, яку варто прочитати двічі. Сьоме «ACME Corp» знаходиться в пункті повідомлень, де «ACME» курсивом, а « Corp» — без курсиву. У файлі це два окремих форматних ділянки, а replace_text шукає лише в одній ділянці. Він не вгадував і не зливав стилі, щоб змусити збіг; він повідомив про шість, а сьоме залишилося «ACME Corp».
Саме такою поведінкою має володіти інструмент, що редагує контракти. Підрахунок, нижчий за очікуваний, підказує, що треба перевірити; безшумне «повне» переписування — це не те. Агент може скористатися іншим шляхом, який пропонує сервер: витягнути цю частину як HTML, відредагувати її і зберегти назад. Про це розповідає round‑trip post.
Виклики, у порядку
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.')
Чому це більше, ніж трюк для Word
Той самий виклик працює з робочим листом, слайдом, PDF або текстовим файлом. У нашому тесті "worksheet": 1 перейменував постачальника у підсумковому листі бюджету, залишивши інші два листи без змін; "slide": 1 зробив те саме у презентації. "format": "pdf" одночасно редагує і конвертує, тому «виправити ім’я і надіслати PDF» — це один крок. "regex": true обробляє шаблони, наприклад рядки версій.
Перед редагуванням get_document_info інформує агента про те, з чим він має справу: тип, кількість сторінок, листів чи слайдів, чи захищений файл паролем і у які формати можна зберігати. Обережний агент викликає це спочатку, і ви можете попросити його це зробити.
Налаштування
dnx GroupDocs.Editor.Mcp --yes
з GROUPDOCS_MCP_STORAGE_PATH, що вказує на папку, яку агент може редагувати, або Docker‑образ ghcr.io/groupdocs-editor/editor-net-mcp. Конфігурація для кожного клієнта знаходиться в documentation hub. Що змінилося в самому движку, описано в GroupDocs.Editor for .NET 26.6 release notes.
Чесні обмеження
replace_textшукає лише в одній форматній ділянці; фраза, розбита між стилями, не буде знайдена, і підрахунок це покаже.- Немає відстежуваних змін і коментарів: результат — відредагована копія, а не червона лінія.
- Режим оцінки: кожен вихідний файл починається з рядка‑банера оцінки, збережені книги отримують додатковий лист, і лише перші два листи або слайди можна редагувати. Сервер відхиляє третій і пояснює чому.
- Редагування PDF — це конвертація в редагований HTML або Word і назад; це не редагування PDF «на місці».
FAQ
Чи перезаписує агент мій оригінальний файл?
Ні. Кожна правка записує новий файл, <name>_edited.<ext> за замовчуванням або outputName, який ви вкажете, у папку сховища.
Що трапляється, якщо тексту немає в документі?
Нічого не записується. Сервер відповідає «found no matches … No file was written.», тому агент може повідомити вас, а не повертати незмінну копію.
Чи працює це без встановленого Word?
Так. Сервер працює локально з рушієм GroupDocs.Editor; не потрібна установка Office і не потрібне завантаження файлів.
Поглиблено
- Документація, канонічний посібник: How to edit documents with AI agents using MCP
- Центр документації: GroupDocs.Editor MCP Server
- Пов’язане: Rename a party across 40 contracts without touching the formatting
- Пов’язане: Fill Word forms from a spreadsheet with an AI agent, locally
- Пов’язане: Edit one worksheet, keep the workbook: surgical edits with an HTML round‑trip
- Пов’язане: Edit a PDF with an AI agent? Turn it into Word first, locally
- On‑premise та модель безпеки: 3 architectures for AI document processing, and the one that keeps files inside your network
- Питання: GroupDocs Editor forum
- Джерело: GroupDocs.Editor.Mcp on GitHub · NuGet package