You can have an AI agent put its review comments inside the document instead of in the chat. The GroupDocs.Annotation.Mcp server lets an LLM in Claude, Cursor or GitHub Copilot add highlights, notes and strikeouts to a PDF, Word, Excel or PowerPoint file, and it writes them locally on your machine:

Highlight the payment clause on page 2 and add a note asking legal to confirm.

The step‑by‑step version with config and troubleshooting is in the documentation: How to annotate documents with AI agents using MCP.

Чому відгуки ШІ у вікні чату губляться?

Попросіть асистента переглянути контракт, і ви отримаєте список: «Пункт 4 переносить відповідальність, пункт 7 має відкриту дату». Цей список живе в розмові. Колега, який відкриє контракт наступного тижня, його не побачить, і вам доведеться вручну копіювати кожен пункт у потрібний абзац.

Сам агент не є проблемою. У нього просто немає способу записати зміни у файл. Огляд корисний лише там, де його побачить читач — поруч із текстом, до якого він відноситься.

Як виглядає неправильний підхід?

Типове «обхідне» рішення — вставити текст документа у чат і попросити залишити коментарі. Під час цього трапляються три проблеми, які ви можете перевірити на власному документі:

  • Коментарі не мають позиції. «Сторінка 2, другий абзац» — це опис, який ви мусите розв’язати самостійно.
  • Результат — це лише транскрипт, а не готовий артефакт. Передати його наступному рецензенту можна лише у вигляді скріншоту або вставленого блоку.
  • Документ залишається незмінним, тому огляд не можна фільтрувати, підраховувати чи переносити у наступний чернетковий варіант.

Який правильний підхід: анотувати документи за допомогою ШІ‑агента?

Розподіліть роботу за тим, у чому кожна сторона сильна. Агент розуміє інструкцію «позначити все, що переносить ризик на нас». Двигун записує реальну анотацію у реальний файл. Інструмент, який виконує запис, — add_annotation. Він підтримує сім типів анотацій: textfield, area, point, arrow, highlight, underline і strikeout. Його аргументи — файл, тип, текст, номер сторінки (починаючи з 1) та координати x/y у документі.

Результат зберігається як <name>_annotated.<ext> поруч із оригіналом. Оригінал ніколи не змінюється. Той самий виклик працює з більш ніж 50 форматами, які підтримує двигун, тому чернетка Word і PDF анотуються однаково.

Які інструменти забезпечують правильне розміщення?

Координати — слабке місце будь‑якого агента, який не бачить сторінку, і документація це явно зазначає. Три інструменти зменшують вгадування:

  • get_document_info повертає тип файлу, кількість сторінок і розмір, а також ширину та висоту кожної сторінки, якщо двигун їх повідомляє, що дає агенту «коробку» сторінки для розрахунків.
  • get_annotations повертає існуючі анотації разом з їхніми обмежувальними рамками, які агент може використати як орієнтири.
  • generate_pages_preview рендерить сторінку у вигляді зображення, щоб модель, здатна бачити, могла знайти текст перед анотуванням. На Linux ця функція наразі не працює для PDF‑файлів; дивіться обмеження нижче.

Яка одна пастка у ланцюжкових анотаціях?

Кожен інструмент запису створює новий файл. Друга анотація має застосовуватись до файлу, який був створений першим викликом, а не до оригіналу, інакше перша анотація залишиться в файлі, який ніхто більше не відкриває. Вкажіть це в підказці:

Highlight the payment clause, then on the resulting file strike out the old delivery date.

Приклад сеансу (скорочений)

Це ілюстрація, побудована на поведінці інструментів, а не захоплений скріншот.

You:   Highlight the payment clause on page 2 of contract.pdf and add a note
       asking legal to confirm.

Agent: [calls get_document_info on contract.pdf]
       contract.pdf is a PDF with 6 pages.
       [calls add_annotation: type=highlight, page=2, x=100, y=250,
        text="Legal to confirm these payment terms"]
       Added highlight annotation to contract.pdf on page 2.
       The annotated copy is contract_annotated.pdf. Your original is unchanged.

Як запустити сервер анотацій у моєму AI‑клієнті?

Щоб запустити його в контейнері, змонтуйте папку з вашими документами у /data:

docker run --rm -i -v $(pwd)/documents:/data \
  -e GROUPDOCS_MCP_OUTPUT_PATH=/data/output \
  ghcr.io/groupdocs-annotation/annotation-net-mcp:latest

Якщо не хочете використовувати контейнер, встановіть .NET 10 SDK і запустіть dnx GroupDocs.Annotation.Mcp --yes; у Windows це також канал для попереднього перегляду сторінок PDF. На головній сторінці є готові фрагменти реєстрації для Claude Desktop, Claude Code, VS Code з GitHub Copilot, Cursor, Windsurf та інших клієнтів. Встановіть GROUPDOCS_MCP_OUTPUT_PATH у папку, відмінну від папки сховища, перед ланцюжковим редагуванням створеного файлу. За замовчуванням (вихід у папку сховища) друге записування завершується помилкою being used by another process; при окремій папці виводу add_reply, update_annotation і remove_annotations на створеному файлі успішно виконуються. У Docker‑образі передайте -e GROUPDOCS_MCP_OUTPUT_PATH=/data/output. Після реєстрації клієнт сам запускає сервер і спілкується з ним через stdio, тому жоден процес не слухає мережевий порт і сервер не надсилає вміст документу у хмару.

Чесні обмеження

  • Режим оцінки. Без ліцензії на кожну сторінку накладається значок trial, тому анотований результат не можна розповсюджувати. Спочатку запитайте «What is the license status of the annotation server?», агент викликає get_license_status.
  • Розміщення приблизне без допомоги. Агент, який вгадує x/y лише за підказкою, розміщує анотації типу area або point приблизно. Спочатку прочитайте або відрендеріть документ для точного розташування.
  • Попередній перегляд на Linux. generate_pages_preview наразі не працює для PDF‑файлів на Linux, включаючи Docker‑образ (TypeInitializationException для Gdip: System.Drawing.Common не підтримується на неплатформі Windows); Word та інші Office‑документи рендеряться, а на Windows з dnx рендериться будь‑який формат. Інші десять інструментів не постраждають.

FAQ

Чи може Claude додавати коментарі до PDF? Так, через MCP‑сервер, який надає інструмент анотації. За допомогою GroupDocs.Annotation.Mcp агент викликає add_annotation, і коментар записується у <name>_annotated.pdf.

Чи потрібно ШІ завантажувати мій документ для анотування? Ні, не через сервер: він відкриває файл у вашій змонтованій папці і зберігає анотовану копію поруч. Тільки те, що бачить сама модель (наприклад, вставлений вами текст або зображення сторінок), надходить до провайдера моделі.

Чи працює це з Word і Excel, а не лише з PDF? Так. Ті ж типи анотацій працюють з PDF, DOCX, XLSX, PPTX та зображеннями, охоплюючи понад 50 форматів, зазначених у документації.

Поглибити