A document review workflow with an AI agent can follow the same steps every round: list what is open, reply in threads, resolve, carry the comments to the next draft, and produce a clean copy. The GroupDocs.Annotation.Mcp server exposes each step as a tool, so an LLM in Claude, Cursor or GitHub Copilot can run the round locally while a person approves the outcome:
Vylistujte anotace v output/contract_annotated.pdf. Které nemají žádné odpovědi?
The step-by-step version with config and troubleshooting is in the documentation: Jak spustit cyklus revize dokumentu s AI agentem.
Proč se kola revize odchylují bez pevného pořadí?
Kolo revize není často jen „přidat komentář“. Jedná se o: co je stále otevřené, kdo to vznesl, odpověď, řešení a čistou kopii pro další čtenáře. Když to lidé dělají ručně, pořadí se liší, odpovědi jsou neoznačené a v další verzi se ztrácejí komentáře z předchozí.
Pracovní postup krok za krokem
Každý krok má jeden prompt a jeden nástroj.
- Najděte, co je otevřené. Prompt: “Vylistujte anotace v output/contract_annotated.pdf. Které nemají žádné odpovědi?” Agent volá
get_annotations, který vrací každou anotaci s jejíid, typem, zprávou, stránkou, ohraničujícím rámečkem, uživatelem a odpověďmi. Nezodpovězený komentář je ten s prázdným polemreplies, takže agent filtruje seznam, který již má. - Odpovědět ve vláknu. Prompt: “Odpovězte na Mariin komentář, že finance schválily podmínky 12. března. Podepište jako Alex.” Agent volá
add_replysannotationId,commentauserName. Jméno je ve výchozím nastavenímcp-user, takže požádejte o skutečné. - Vyřešte, co je hotovo. Zvolte konvenci a uveďte ji v promptu: odpovědět a nechat vlákno jako záznam, odstranit anotaci pomocí
remove_annotations, nebo upravit zprávu pomocíupdate_annotationtak, aby začínala[RESOLVED]. - Přeneste kolo do další verze. Prompt: “Exportujte anotace z revidované kopie a poté je importujte do contract-v3.pdf.” Agent volá
export_annotations, který zapíše XML soubor, a následněimport_annotations. - Vrátit čistou kopii. Prompt: “Odstraňte všechny anotace a dejte mi čistou kopii pro protistranu.”
remove_annotationsbezidsvymaže všechny anotace do nového souboru.
Co rozhoduje agent a co dělá engine?
| Rozhodnutí nebo akce | Agent | Engine |
|---|---|---|
| Které komentáře potřebují odpověď | Čte výsledek get_annotations a filtruje jej |
Vrací každou anotaci s id, autory a odpověďmi |
| Co odpověď říká | Navrhne ji podle vašeho pokynu | Uloží ji pod userName, který jste zadali |
| Která konvence řešení se použije | Řídí se pravidlem ve vašem promptu | Provede úpravu nebo odstranění, o které je požádáno |
| Zda je kolo dokončeno | Hlásí počty; člověk schvaluje | Ukládá výsledek každé změny zpět do úložiště |
Engine nikdy nerozhoduje, co se považuje za vyřešené. Model anotace nemá žádný příznak resolved k nastavení; řešení je konvence, kterou si zvolíte a pojmenujete v promptu.
Kde člověk zůstává v cyklu?
Na dvou místech. Před krokem 5 požádejte agenta, aby uvedl, kolik anotací se chystá odstranit, a počkejte na vaši odpověď. Odstranění všech anotací je jediný volání v pracovním postupu bez možnosti vrácení. Než se cokoli dostane mimo tým, přečtěte si odpovědi, které agent navrhl. Text anotace pochází od ostatních lidí, takže považujte komentář za obsah k shrnutí, nikoli za instrukci, kterou má agent následovat.
Příklad relace (zkrácený)
Toto je ilustrace postavená na zdokumentovaném chování nástrojů, nikoli o zachycený snímek obrazovky.
You: List the annotations in output/contract_annotated.pdf. Which ones have no replies?
Agent: [calls get_annotations on output/contract_annotated.pdf]
Found 4 annotations. Two have no replies:
- id 2, page 2, Maria: "Confirm the payment terms with finance."
- id 4, page 5, Maria: "Delivery date conflicts with Schedule B."
You: Reply to the first one that finance approved the terms on 12 March.
Sign it as Alex.
Agent: [calls add_reply: annotationId=2, userName="Alex",
comment="Finance approved the terms on 12 March."]
Added reply to annotation 2 in output/contract_annotated.pdf.
(The agent uses the saved file name in the next call.)
Jak spustím server pro Claude, Cursor nebo Copilot?
Spusťte Docker image s připojeným adresářem dokumentů a výstupním adresářem, který se liší od úložného adresáře:
docker run --rm -i -v $(pwd)/documents:/data \
-e GROUPDOCS_MCP_OUTPUT_PATH=/data/output \
ghcr.io/groupdocs-annotation/annotation-net-mcp:latest
Stejný příkaz a alternativa dnx GroupDocs.Annotation.Mcp --yes jsou vysvětleny v AI revize, která končí v dokumentu, ne v chatovém protokolu. Hub stránka obsahuje registraci pro Claude Desktop, Claude Code, VS Code s GitHub Copilot, Cursor, Windsurf a další klienty.
Upřímná omezení
- Režim hodnocení. Bez licence je na horní část každé stránky nalepena zkušební značka, což není vhodné posílat protistraně. Před formální revizí zkontrolujte
get_license_status. - Každý zapisovací nástroj ukládá výsledek zpět do úložiště. Kolo tedy vytváří řetězec souborů. Řekněte agentovi, aby předal název souboru z předchozího výsledku dál a před úpravou soubor znovu načetl pomocí
get_annotations, protože id patří dokumentu, který jste právě načetli. NastavteGROUPDOCS_MCP_OUTPUT_PATHna složku odlišnou od úložné složky před řetězením úprav na vytvořeném souboru. S výchozím nastavením (výstupy končí v úložné složce) druhý zápis selže s chyboubeing used by another process; s oddělenou výstupní složkouadd_reply,update_annotationaremove_annotationsna vytvořeném souboru všechny uspějí. - Souřadnice se přenášejí tak, jak jsou. V přeformátované verzi může importovaná poznámka skončit blízko původního textu, nikoli přímo na něm. Po importu zkontrolujte umístění.
- Náhled na Linuxu.
generate_pages_previewv současnosti selhává u PDF souborů na Linuxu, včetně Docker image (TypeInitializationExceptionproGdip:System.Drawing.Commonnení podporováno na ne-Windows platformách); Word a další Office dokumenty se renderují a na Windows sdnxse renderuje každý formát. Ostatních deset nástrojů není ovlivněno. Revizní nástroje v tomto příspěvku nepoužívají renderér náhledu.
Často kladené otázky
Může AI automaticky odpovídat na komentáře v PDF? Ano. Agent čte komentáře pomocí get_annotations a odpovídá pomocí add_reply, který přijímá id anotace, text odpovědi a jméno autora.
Existuje stav resolved pro komentáře? Ne. Nástroje nemají příznak resolved, takže si zvolíte konvenci, např. ponechat vlákno, odstranit anotaci nebo předřadit zprávě [RESOLVED].
Mohu zachovat komentáře při revizi dokumentu? Ano. Exportujte anotace do XML z revidované kopie a importujte je do nové verze. Stejný pár nástrojů sloučí dvě kopie recenzentů do jedné.
Jděte hlouběji
- Dokumentace, kanonický návod: Jak spustit cyklus revize dokumentu s AI agentem
- Hub dokumentace: GroupDocs.Annotation MCP Server
- Začněte zde: AI revize, která končí v dokumentu, ne v chatovém protokolu
- Související: 3 způsoby, jak extrahovat každý komentář ze sady dokumentů s MCP
- Související: Ukázat agentovi, co udělal
- On-premise a bezpečnostní model: 3 architektury pro AI zpracování dokumentů a ta, která udržuje soubory uvnitř vaší sítě
- Otázky: GroupDocs Annotation forum
- Zdroj: GroupDocs.Annotation.Mcp on GitHub