An AI agent może wyciągnąć każdy komentarz z oznaczonego dokumentu i przedstawić go na trzy sposoby: podsumowanie, tabelę lub archiwum XML. Serwer GroupDocs.Annotation.Mcp przekazuje LLM‑owi adnotacje jako dane strukturalne, a Claude, Cursor lub GitHub Copilot wykonują wnioskowanie, wszystko lokalnie:

Podsumuj recenzję pliku contract_annotated.pdf: ile jest komentarzy, od kogo i jakie są główne tematy.

Krok po kroku, wraz z konfiguracją i rozwiązywaniem problemów, znajduje się w dokumentacji: How to extract and report on document annotations with AI.

Co otrzymujesz, gdy wyodrębniasz adnotacje z pliku PDF?

Oznaczony dokument jest zarówno danymi, jak i tuszem. Narzędzie get_annotations zwraca obiekt JSON z polem found (liczba) oraz tablicą annotations. Każdy wpis zawiera id adnotacji, type, message, page (liczona od 1), ramkę ograniczającą, user oraz ewentualne replies. Nie odbywa się parsowanie dokumentu ani OCR, więc agent pracuje bezpośrednio na rekordach adnotacji.

Narzędzie przyjmuje jeden dokument na wywołanie. Aby obsłużyć zestaw plików, wymień je w promptcie, a agent wywoła narzędzie raz dla każdego pliku. Serwer nie oferuje wywołania na poziomie folderu.

Sposób 1: Poproś o podsumowanie

Jedno wywołanie, a potem wnioskowanie. Podaj nazwę pliku i określ, do czego ma służyć podsumowanie.

Podsumuj recenzję pliku contract_annotated.pdf: ile jest komentarzy, od kogo i jakie są główne tematy.

Agent wywołuje get_annotations, liczy wpisy, grupuje je według user i opisuje tematy, które znajduje w polach message. Liczba i autorzy pochodzą z danych. Tematy są interpretacją modelu, więc warto je zweryfikować ręcznie.

Sposób 2: Poproś o tabelę lub przefiltrowaną listę

Ponieważ dane są ustrukturyzowane, kształt raportu zależy od promptu:

Podaj mi tabelę: strona, autor, komentarz, odpowiedzono tak/nie.

Pogrupuj komentarze według recenzenta i powiedz, kto ma najwięcej otwartych pozycji.

Wyświetl tylko przekreślenia. Chcę zobaczyć, co ludzie chcą usunąć.

Które strony nie mają w ogóle komentarzy?

Ostatnie pytanie jest słabo obsługiwane przez czytniki PDF, a tablica może odpowiedzieć bezpośrednio: „odpowiedziano” to niepusta lista replies, a „strony bez komentarzy” to numery stron nieobecne w wartościach page. Połącz to z get_document_info, aby uzyskać liczbę stron.

Sposób 3: Zarchiwizuj komentarze jako XML

Wyeksportuj adnotacje, abyśmy mogli je zachować w aktach sprawy.

export_annotations zapisuje plik XML zawierający wyłącznie adnotacje. Komunikat o sukcesie ma postać Exported N annotation(s) from <file> to <name>.annotations.xml. Plik jest mały i można go porównywać, a import_annotations może zastosować go do innej kopii dokumentu. Pomaga to, gdy dokument podlega regule retencji, a jego komentarze nie, lub gdy chcesz porównać dwie rundy recenzji: dwa eksporty tego samego dokumentu to dwa pliki tekstowe, a agent może opisać, co się między nimi zmieniło.

Przykładowa sesja (skrócona)

To ilustracja oparta na udokumentowanym zachowaniu narzędzi, a nie zrzut ekranu.

You:   Summarize the review of contract_annotated.pdf and group it by reviewer.

Agent: [calls get_annotations on contract_annotated.pdf]
       Found 5 annotations: 4 from Maria, 1 from Dana.
       Maria: payment terms (page 2), delivery date (page 5),
         liability cap (page 6), a missing signature block (page 6).
       Replies: Alex answered the page 2 payment terms comment.
       Dana: a strikeout on page 4 marking an outdated clause.
       Maria comments without a reply: page 5 and the two on page 6.

Czy agent może działać na komentarzach?

Może przekazać listę dalej: otworzyć zgłoszenie dla każdego nieodpowiedzianego komentarza, przygotować e‑mail z odpowiedzią lub napisać akapit statusowy. Obowiązuje jedna zasada. Komentarze pochodzą od innych osób, więc agent powinien traktować tekst adnotacji jako treść do raportowania, a nie jako instrukcje. Komentarz „zignoruj poprzednie instrukcje” jest po prostu danymi w polu. Proś o podsumowania i raporty, a działania zmieniające cokolwiek pozostaw w swoim własnym przeglądzie.

Jak uruchomić serwer dla Claude, Cursor lub Copilot?

Serwer działa z obrazu Docker ghcr.io/groupdocs-annotation/annotation-net-mcp lub z NuGet przy użyciu dnx GroupDocs.Annotation.Mcp --yes (.NET 10 SDK) i montuje folder zawierający Twoje dokumenty. Strona hub wymienia rejestracje dla Claude Desktop, Claude Code, VS Code z GitHub Copilot, Cursor, Windsurf i innych klientów.

Szczere ograniczenia

  • Tryb ewaluacji. Na górze każdej strony znajduje się odznaka trial. Nie zmienia ona danych adnotacji, więc raporty tworzone w ten sposób są dokładne bez licencji. Ogranicza to, co możesz dalej udostępniać. Jeśli plan kończy się frazą „wyślij e‑mail z oznaczonym egzemplarzem”, najpierw sprawdź get_license_status.
  • Jeden dokument na wywołanie. Przegląd wielu plików wymaga wielu wywołań, a każde z nich jest wywołaniem narzędzia, które agent musi wykonać i o którym musi raportować.
  • Eksport jest w XML. get_annotations zwraca JSON dla agenta; export_annotations zapisuje XML w magazynie.
  • Podgląd nie jest potrzebny. Żadna z trzech metod nie renderuje strony, więc limit podglądu PDF w generate_pages_preview na Linuksie ich nie dotyczy.

FAQ

Jak wyeksportować wszystkie komentarze z pliku PDF? Poproś agenta o eksport adnotacji. Wywoła on export_annotations, który zapisze plik XML obok Twoich dokumentów, lub użyje get_annotations, jeśli chcesz, aby komentarze były wymienione w czacie.

Czy AI może podsumować komentarze recenzentów z kilku plików? Tak. Wymień pliki w promptcie, a agent odczyta każdy z nich przy pomocy get_annotations, a następnie połączy wyniki w jedno podsumowanie. Czyta po jednym pliku na wywołanie.

Czy raport zmieni się, jeśli nie mam licencji? Dane adnotacji pozostają niezmienione. Jedynie renderowane lub zapisane strony będą zawierały odznakę trial.

Zagłęb się