您可以透過以自然語言向 AI 代理人提出請求,直接在本機、文件內部進行敏感資料的遮蔽,且遮蔽過程完全在本地執行。只要將 GroupDocs.Redaction.Mcp 連接至 Claude Desktop、Claude Code、Cursor 或 GitHub Copilot,即可只需一次提示:

遮蔽 case-file.pdf 中的所有電子郵件地址,並告訴我您儲存的檔案名稱。

逐步設定與故障排除說明請參閱文件:How to redact sensitive data from documents with AI agents

為什麼聊天模型不能直接為您遮蔽文件?

語言模型若是讀取文件後產生新文件,實際上是在「重寫」而非「遮蔽」。重寫可能遺漏某些出現、改變您未要求變更的文字,且永遠不會觸及原始檔案。PDF 檢視器中畫上的黑色矩形也有類似缺陷:盒子下方的文字仍然存在於檔案中,仍可被複製。代理人不應執行刪除動作,而應提出遮蔽模式並呼叫工具,讓引擎在文件本身替換符合的文字。

這就是 GroupDocs.Redaction.Mcp 的工作分工。代理人負責提出模式並驅動呼叫,引擎則精確套用。系統沒有分類器自行判斷哪些資訊屬於敏感,因此行為可被審查,敏感資訊的判定完全由您自行決定。

方法 1:以模式取代文字

適用於任何可以用正規表達式描述的情況:電子郵件地址、國民身分證號、電話號碼、帳號、客戶名稱等。代理人會呼叫 redact_text,將符合模式的文字在文件中取代並儲存為遮蔽副本,原始檔案保持不變。

遮蔽符合 \b\d{3}-\d{2}-\d{4}\b 的所有文字(美國社會安全號碼),於 case-file.pdf 中。執行前先顯示我使用的模式。

先查看模式再執行是值得的額外一步。您已閱讀過的正規表達式是可以辯護的遮蔽方式,過寬的模式會刪除超出預期的內容,過嚴的模式則可能遺漏資料。replacement 參數預設為 [REDACTED],讓輸出易於檢查。

預期結果:在輸出資料夾中產生一個遮蔽副本,並在代理訊息中列出儲存的檔案名稱。

方法 2:清除文字模式無法觸及的區域

清理正文文字卻仍保留頁邊註解或作者欄位的情況,是遮蔽失敗最常見的原因。敏感資料可能出現在四個位置,每個位置都有對應的工具:

敏感資料所在位置 工具
正文文字 redact_text
掃描圖、照片、簽名 redact_image_area
註解與便利貼 redact_annotations
作者、公司、日期等屬性 erase_metadata

刪除 case-file.docx 中的所有註解,然後清除作者、公司與日期屬性。請依序對前一步產生的檔案執行每個步驟。

redact_annotations 可以取代註解文字,或使用 deleteAll 完全移除註解。erase_metadata 接受以逗號分隔的欄位清單,例如 Author,Company,CreatedTime,預設為 All。串接指令很重要:每一次呼叫都會寫入新檔案,若代理人把原始檔直接送入第二步,第一步的結果就會遺失。

預期結果:最終檔案由鏈條中的最後一步產生,且所有中間檔案名稱皆在對話紀錄中可見。

方法 3:在提示之前先遮蔽,並將值排除於對話之外

Pre‑LLM 遮蔽意味著敏感字串根本不會傳送至雲端模型。文件仍保留在您的機器上,但對話內容不會。若使用雲端模型,代理人的回覆會傳送至模型供應商,遮蔽工作中可能會洩漏您正要移除的字串。例如說「I redacted jane.smith@example.com」就已將您想保護的地址傳出去。

使用我們的標準模式遮蔽客戶名稱。請勿在回覆中重複顯示被匹配的文字。

遮蔽工具會回傳儲存的檔案名稱,而非匹配次數。代理回覆中的數字通常是其自行搜尋文字後的結果,僅作為交叉檢查,並非工具輸出。若想達到最嚴格的設定,請使用本地模型,確保任何資訊都不會離開您的防火牆,同時也能取得全程本地化的文件遮蔽自動化。

預期結果:回覆中僅包含儲存的檔案名稱,對話紀錄中不會出現任何敏感字串。

範例會話(節錄)

You:    Redact every email address in case-file.pdf and tell me which file you saved.
Agent:  I will use this pattern: [\w.+-]+@[\w-]+\.[\w.]+
        -> redact_text(file: case-file.pdf, pattern: ..., replacement: "[REDACTED]")
Agent:  Saved case-file_redacted.pdf.
You:    For case-file.docx, delete all annotations and clear the document properties.
Agent:  -> redact_annotations(file: case-file.docx, deleteAll: true)
        Saved the output file.
        -> erase_metadata(file: the file saved by the previous step, fields: "All")
        Saved the output file.

評估模式的限制是什麼?

在任何重要執行前請先明確說明。未取得授權時,伺服器會以評估模式運作:每個程序只能處理一份文件、一次遮蔽,且最多只能執行 4 次取代,另外還會顯示試用徽章。若某個模式出現十次,只會遮蔽四次,其餘六次仍保留,輸出看起來可能仍很乾淨。此上限僅供示範使用。切勿將未授權執行的輸出發佈,並先呼叫 get_license_status: 「What is the license status of the redaction server?」

結果是否符合 GDPR 等法規的判斷,仍由您自行決定。伺服器只會移除您指示的內容,且在您提供的檔案內完成。

  • PDF 在 Linux 上。 在 Linux(包括 Docker 映像)中,redact_image_area 與 erase_metadata 目前無法處理 PDF 檔(PDF 引擎的影像處理依賴 System.Drawing,而 .NET 只在 Windows 上支援);兩者在 Word 文件上可正常運作,redact_text 則可用於 PDF。若要在 PDF 上執行區域遮蔽與屬性擦除,請改在 Windows 上使用 dnx。

FAQ

Claude 能在不上傳 PDF 的情況下遮蔽個人資訊嗎? 可以。MCP 伺服器作為您 AI 客戶端的子行程,透過本機 stdio 讀寫您設定的資料夾內檔案。請注意,代理人在聊天中說的任何內容仍會傳送至雲端模型供應商。

代理人會決定哪些資訊是敏感的嗎? 不會。代理人僅提出模式,您負責審核。引擎會精確套用您給予的指令。

我要如何安裝? 使用 .NET 10 SDK,執行 dnx GroupDocs.Redaction.Mcp --yes,並將 GROUPDOCS_MCP_STORAGE_PATH 設為存放文件的資料夾。另一種方式是使用 Docker:ghcr.io/groupdocs-redaction/redaction-net-mcp。

深入了解