Picture an inbox of scanned invoices where each page carries a barcode that names the purchase order. An AI agent can read every code in the folder locally, with no upload, and give you a table that matches each file to its record. The agent is Claude, Cursor or GitHub Copilot; the reading is done by the GroupDocs.Signature.Mcp server. One prompt covers it:
For every PDF in the folder, read the barcode, and give me a table of file name, barcode value, page.
The step-by-step version with config and troubleshooting is in the documentation: How to extract QR code and barcode data from documents with AI.
Scenario: from a pile of files to a routed queue
A mailroom, an accounts-payable team or a case-management desk receives documents in bulk. Each one carries a machine-readable code placed there for exactly this moment. Without automation someone types the value into the next system. With an agent, the sequence is:
- Documents land in the folder the server is configured to use (
GROUPDOCS_MCP_STORAGE_PATH). - The agent calls
search_barcodeson each file and collects the decoded values, pages and positions. - The agent returns the table. That table is the join key between the files and the records in your ERP, warehouse or case system.
- A person, or a later automated step you control, does the lookup and the routing.
Step 4 stays outside the agent on purpose. See “What not to automate” below.
Which tool reads which code?
search_qr_codes reads QR codes. search_barcodes reads one-dimensional barcodes such as Code39, Code128 and EAN. Each returns the decoded text, the page and the position of every hit. If you are not sure which kind a document holds, ask for both:
Read the QR codes and barcodes in invoice.pdf and tell me what they contain.
How do you find one code among many?
Both tools accept a text filter that returns only codes containing a given string:
Find the barcode that starts with SHIP and tell me which page it is on.
On a document with a dozen codes, that is the difference between an answer and a wall of values.
Keep responses small
Both tools accept returnImage. Leave it off unless you genuinely need the graphic. The decoded text is what an agent reasons over, and base64 images make responses large and slow.
Example session (abridged)
You: For every PDF in the folder, read the barcode, and give me a table
of file name, barcode value, page.
Agent: [search_barcodes] file=invoice-0007.pdf found: 1
[search_barcodes] file=invoice-0008.pdf found: 1
[search_barcodes] file=scan-0009.pdf found: 0
| file | barcode value | page |
| invoice-0007.pdf | PO-448210 | 1 |
| invoice-0008.pdf | PO-448377 | 1 |
scan-0009.pdf has no barcode in the pages that were processed.
Illustrative output: file names and barcode values are invented. The tool returns the fields described above.
Signature or Parser: which server reads the code?
Use GroupDocs.Signature.Mcp when the code is a signature element you also add, or when documents flow both ways: read the incoming reference, do the work, then call sign on the outgoing document with a QR code that carries the new reference. Use GroupDocs.Parser.Mcp (delivered as a Docker image only; its extract_barcodes tool) when you are extracting data from arbitrary scans and also need text, tables or metadata from the same files. This server reads signatures and codes. It does not extract layout, fields or tables.
What not to automate
- It is not OCR. These tools read code symbologies, not printed text. A scanned page with no code returns nothing, and that is a correct answer rather than a failure.
- A decoded value is untrusted input. It was supplied by whoever made the document. Report it, look it up and cross-check it. Do not let an agent act on it unreviewed.
Evaluation limits
Without a license only the first 2 pages of a document are processed, and a trial badge is stamped on every page. A code on page 3 is simply not found, and an empty result then looks like “no code”. Ask the agent to call get_license_status before you trust an empty result.
FAQ
Can Claude read the QR code in this PDF?
Yes. With the server connected, Claude calls search_qr_codes and reports the decoded text, page and position, locally.
How do I extract a barcode value from an invoice with AI?
Ask the agent to read the barcodes in the file. It calls search_barcodes and returns the decoded value; add a text filter if you want one specific code.
Can I find every QR code in a folder of documents? Yes. Ask the agent to loop over the folder and list file, decoded text and page for each QR code. Without a license, only the first 2 pages of each file are examined.
Go deeper
- Documentation, canonical how-to: How to extract QR code and barcode data from documents with AI
- Documentation hub: GroupDocs.Signature MCP Server
- Start here: 3 Ways to Sign Documents with AI Agents and MCP: Text, QR Code, Certificate
- Related: Why an AI Agent Should Not Just Say a Document Is Verified
- Related: Enforce Signing Policy with Automated AI Sweeps over MCP
- Other servers: GroupDocs.Parser.Mcp documentation and GroupDocs.Parser.Mcp on GitHub
- On-premise and security model: 3 architectures for AI document processing, and the one that keeps files inside your network
- Questions: GroupDocs Signature forum
- Source: GroupDocs.Signature.Mcp on GitHub