您可以請求 LLM 或 AI 代理從文件中提取資料,讓答案來自文件引擎,而不是模型對貼上的檔案的閱讀。只要在 Docker 容器中本機執行 GroupDocs.Parser.Mcp 伺服器,一個提示即可返回文字、表格、嵌入的圖像或條碼值:
invoice.pdf 說了什麼,表格裡有什麼?
步驟說明(含設定與故障排除)請參閱文件:How to extract document data with AI agents using MCP.
為什麼 AI 代理仍需要提取工具?
聊天模型只能知道放入其上下文視窗的內容。將 PDF 貼入聊天,模型只能處理客戶端所展平的文字,結果會出現欄位合併、掃描檔案為空等情況,且無法判斷是哪一種情形。提取伺服器將這一步驟從模型中抽離:代理呼叫工具,文件引擎在容器內讀取檔案,代理收到結果。模型接著執行它擅長的工作——對交給它的值進行推理。
GroupDocs.Parser.Mcp 向 MCP 相容客戶端(如 Claude Desktop、Claude Code、Cursor、VS Code 搭配 GitHub Copilot 以及 Windsurf)公開七個工具。五個用於提取資料(extract_text、extract_tables、extract_images、extract_barcodes、extract_metadata),一個用於檢查(get_document_info),一個用於回報授權狀態(get_license_status)。
方法 1:直接詢問值,讓代理選擇工具
將請求表述為關於文件的問題,代理會將問題映射到相應工具。
| 您的提問 | 代理呼叫的工具 |
|---|---|
| 「它說了什麼?」 | extract_text |
| 「表格裡有什麼?」 | extract_tables |
| 「誰寫的,什麼時候?」 | extract_metadata |
| 「保存圖形。」 | extract_images |
| 「條碼編碼了什麼?」 | extract_barcodes |
extract_text 支援 PDF、DOCX、XLSX、PPTX、TXT、HTML、CSV、EML、MSG、RTF、ODT、EPUB 以及超過 50 種其他格式,因此相同提示可用於電子郵件或試算表。非常大的輸出會以標記截斷,若要處理長報告請逐頁提問:
請逐頁提取這份 40 頁報告的文字,並為每個章節做摘要。
範例會話(節錄):
You: What does invoice.pdf say, and what is in its table?
Agent: [calls extract_text, extract_tables]
Invoice 2026-0412 from Northwind Supplies, dated 3 October.
The table has 3 rows (item, quantity, amount); the amounts add up to 1,240.00.
方法 2:在信任空結果前先檢查文字層
數位原生 PDF 具備文字層;掃描件則沒有。對掃描頁面執行 extract_text 會返回很少或沒有內容,這正是檔案的真實狀態。讓代理先測試再提取:
這份文件有多少頁,是否有可提取的文字?
get_document_info 會回傳檔名、類型、頁數與大小,且不會修改任何內容;一次單頁的 extract_text 呼叫則可顯示是否存在文字。兩個低成本的呼叫即可區分「檔案為空」與「檔案為影像」。此伺服器不包含 OCR 步驟,掃描件中的印刷文字仍是像素。條碼是例外,方法 3 會說明。
方法 3:提取文字無法觸及的內容
表格、圖像與條碼各有專屬工具,因為將它們平鋪成文字會失去其實用價值。
extract_tables會回傳可在聊天中渲染的 Markdown 表格,或在傳入format: "json"時回傳 JSON 行。extract_images會將每個嵌入圖像保存至輸出資料夾,檔名為<basename>_image<N>.<ext>。extract_barcodes能解碼 Code128、QR Code、PDF417、DataMatrix、EAN-13、EAN-8、UPC、Aztec 等,甚至可在掃描頁面上偵測,因為引擎模型會在點陣圖中找出條碼。
請將 invoice.pdf 的明細項目以 JSON 形式提取,然後保存第 1 頁的圖像。
代理需要提取還是轉換?
這是不同的工作,選錯伺服器會造成混亂。
| 您的需求 | 伺服器 |
|---|---|
| 從文件中取得值:文字、表格、條碼、屬性 | GroupDocs.Parser.Mcp |
| 將文件轉換為其他格式,保留版面 | GroupDocs.Conversion.Mcp |
| 為 RAG 提供整份文件的乾淨 Markdown | GroupDocs.Markdown.Mcp |
| 編輯或移除 Metadata,而不僅是讀取 | GroupDocs.Metadata.Mcp |
許多工作流程會同時使用兩個伺服器:先轉換以便匯入,再解析以提取。
使用 Docker 本機執行
此伺服器僅以 Docker 映像提供。引擎內嵌約 234 MB 的 ONNX 模型,超過 250 MB 限制的 NuGet 套件無法使用 dnx 指令。將文件資料夾掛載為 /data:
docker run --rm -i -v $(pwd)/documents:/data \
ghcr.io/groupdocs-parser/parser-net-mcp:latest
您的 AI 客戶端會以子行程方式透過 stdio 啟動容器。沒有入站埠,文件始終保留在本機。Claude Desktop、Claude Code、VS Code、Cursor、Windsurf、Cline 與 Codex 的客戶端設定請參考 Register in AI clients。
有哪些限制?
- 評估模式。 未授權時提取功能受限;具體限制請見函式庫的授權頁面。先讓代理執行
get_license_status,將未授權的輸出視為煙霧測試,而非完整讀取。 - 無 OCR。 掃描件中的文字無法提取。
- 僅支援 Docker。 必須安裝 Docker;映像檔較大,請只拉取一次。
FAQ
我可以在本機使用 Claude 提取 PDF 文字,而不上傳檔案嗎?
可以。伺服器在您機器的容器中執行,Claude Desktop 透過 stdio 與之通訊,檔案從掛載資料夾讀取,並不會傳送至提取服務。
為什麼代理對某些 PDF 沒有回應?
檔案很可能是沒有文字層的掃描件。先讓代理執行 get_document_info 並呼叫一次單頁 extract_text 以確認,之後可使用 extract_barcodes 處理條碼,或使用 OCR 工具處理文字。
GroupDocs.Parser.Mcp 有 dnx 指令嗎?
沒有。此產品僅支援 Docker,安裝方式皆為 docker run 或透過 MCP 客戶端條目啟動 Docker。
深入了解
- 文件與標準操作說明:How to extract document data with AI agents using MCP
- 文件中心:GroupDocs.Parser MCP Server
- 下一篇: Tables out of PDFs, into JSON, without an LLM guessing the cells
- 下一篇: Enforce consistent data capture with automated extraction workflows using MCP
- 下一篇: Scan-to-record automation with AI agents
- 本地部署與安全模型: 3 architectures for AI document processing, and the one that keeps files inside your network
- 問題討論: GroupDocs Parser forum
- 原始碼: GroupDocs.Parser.Mcp on GitHub