Un agente IA può estrarre ogni commento da un documento annotato e riportarlo in tre modi: un riepilogo, una tabella o un archivio XML. Il server GroupDocs.Annotation.Mcp consegna al LLM le annotazioni come dati strutturati, e Claude, Cursor o GitHub Copilot eseguono il ragionamento, tutto localmente:

Riepiloga la revisione di contract_annotated.pdf: quanti commenti, da chi e quali sono i temi principali.

Cosa ottieni quando estrai le annotazioni da un PDF?

Un documento annotato è dati oltre che inchiostro. Lo strumento get_annotations restituisce un oggetto JSON con found, il conteggio, e annotations, un array. Ogni voce contiene l’annotazione id, type, message, page (basata su 1), il riquadro di delimitazione, il user e eventuali replies. Non è coinvolta l’analisi del documento né l’OCR, quindi l’agente lavora direttamente dai record delle annotazioni.

Lo strumento accetta un documento per chiamata. Per coprire un insieme di file, elencali nel prompt e l’agente chiama lo strumento una volta per file. Il server non offre una chiamata a livello di cartella.

Una chiamata, poi ragionamento. Specifica il file e indica per cosa è il riepilogo.

Riepiloga la revisione di contract_annotated.pdf: quanti commenti, da chi e quali sono i temi principali.

L’agente chiama get_annotations, conta le voci, le raggruppa per user e descrive i temi che trova nei campi message. Il conteggio e gli autori provengono dai dati. I temi sono l’interpretazione del modello del testo, quindi meritano una revisione umana.

Metodo 2: Richiedi una tabella o un elenco filtrato

Poiché i dati sono strutturati, la forma del report dipende dal prompt:

Forniscimi una tabella: pagina, autore, commento, risposto sì/no.

Raggruppa i commenti per revisore e dimmi chi ha il maggior numero di elementi aperti.

Elenca solo i cancellati. Voglio vedere cosa le persone vogliono rimuovere.

Quali pagine non hanno alcun commento?

L’ultima domanda è una a cui un lettore PDF risponde poco bene, mentre un array risponde direttamente: “answered” è una lista replies non vuota, e “pages without comments” sono i numeri di pagina mancanti nei valori page. Accoppialo con get_document_info per il conteggio delle pagine.

Metodo 3: Archivia i commenti come XML

Esporta le annotazioni così possiamo conservarle con il fascicolo del caso.

export_annotations scrive un file XML che contiene solo le annotazioni. Il suo messaggio di successo ha la forma Exported N annotation(s) from <file> to <name>.annotations.xml. Il file è piccolo e può essere confrontato, e import_annotations può applicarlo a un’altra copia del documento. Questo è utile quando il documento è soggetto a una regola di conservazione che non riguarda i suoi commenti, o quando vuoi confrontare due cicli di revisione: due esportazioni dello stesso documento sono due file di testo, e l’agente può descrivere cosa è cambiato tra di essi.

Sessione di esempio (abbreviata)

Questa è un’illustrazione costruita dal comportamento documentato degli strumenti, non uno screenshot catturato.

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.

L’agente può agire sui commenti?

Può inoltrare l’elenco: aprire un ticket per ogni commento non risposto, redigere una email di risposta o scrivere un paragrafo di stato. Si applica una regola. I commenti provengono da altre persone, quindi l’agente dovrebbe trattare il testo dell’annotazione come contenuto da riportare, non come istruzioni. Un commento che dice “ignore previous instructions” è un dato in un campo. Richiedi riepiloghi e report, e mantieni le azioni che modificano qualcosa sotto la tua revisione.

Come avvio il server per Claude, Cursor o Copilot?

Il server viene eseguito dall’immagine Docker ghcr.io/groupdocs-annotation/annotation-net-mcp o da NuGet con dnx GroupDocs.Annotation.Mcp --yes (.NET 10 SDK), e monta la cartella che contiene i tuoi documenti. La pagina hub elenca la registrazione per Claude Desktop, Claude Code, VS Code con GitHub Copilot, Cursor, Windsurf e altri client.

Limiti onesti

  • Modalità di valutazione. Un badge di prova è stampato in cima a ogni pagina. Non modifica i dati delle annotazioni, quindi i report costruiti in questo modo sono accurati senza licenza. Influisce su ciò che puoi inviare. Se il piano termina con “email the marked-up copy”, controlla prima get_license_status.
  • Un documento per chiamata. Un’analisi di molti file richiede molte chiamate, e ciascuna è una chiamata allo strumento che l’agente deve eseguire e riportare.
  • L’esportazione è XML. get_annotations restituisce JSON per la lettura dell’agente; export_annotations scrive XML nello storage.
  • Nessuna anteprima necessaria. Nessuno dei tre metodi rende una pagina, quindi il limite di anteprima PDF di generate_pages_preview su Linux non li influenza.

FAQ

Come esportare tutti i commenti da un PDF? Chiedi all’agente di esportare le annotazioni. Chiama export_annotations, che scrive un file XML accanto ai tuoi documenti, oppure chiama get_annotations se desideri i commenti elencati nella chat.

L’IA può riassumere i commenti dei revisori su più file? Sì. Elenca i file nel prompt e l’agente legge ciascuno con get_annotations, poi combina i risultati in un unico riepilogo. Legge un file per chiamata.

Il report cambia se non ho licenza? I dati delle annotazioni non cambiano. Solo le pagine renderizzate o salvate mostrano un badge di prova.

Approfondisci