Agents hallucinate about documents for a boring reason
Paste a PDF into a chat and the model reads unstructured text with no field boundaries, no tables and no source links — then guesses with confidence. The fix isn't a smarter model. It's giving the agent tools: parse this file against a schema, return the rows, cite every value.
That is what the Fieldry MCP server does. One connection, and Claude, ChatGPT, Cursor or any Agent2Agent orchestrator can call extraction as a typed tool.
Step 1: Connect the server
Add the MCP server with your API key. From then on the agent sees four tools: extract (file + schema → cited JSON), parse (layout-aware chunks with bounding boxes), tables (rows, not markdown soup) and async batch with webhook or polling.
No glue code, no chunking pipeline to babysit. The tools return the same shapes as the REST API.
Step 2: Ask for something checkable
Try: "Total freight spend last quarter per carrier from this folder, with sources." The agent calls extract with an invoice schema, sums the cited rows, and answers with per-invoice sources attached:
€18.4k across 6 invoices — [p.2] [p.5] [p.9] → cited
Compare that with the pre-tool answer: a confident number from memory, zero sources, and your afternoon spent verifying.
Ask for sources in the prompt ("cite every figure"). Cited output lets you verify in one click instead of re-reading the folder.
Step 3: Ground your RAG the same way
parse returns chunks with bounding boxes, so retrieval grounds to page coordinates instead of guessing. Rebuild the index through the tool and your RAG hits land on real lines — quotes included.
What it costs
Tool calls meter exactly like API calls: 4 credits per page, +2 with tables, batch at half price, all reported in X-Credits-Used. Set per-agent budgets from the headers — chatty agents can't surprise you.
Common questions
Any MCP client: Claude, ChatGPT, Cursor, plus Agent2Agent orchestrators. REST, SDKs and n8n cover non-MCP stacks with identical output shapes.
Yes — values arrive with page, source text and bbox, so the agent can quote or link the exact line instead of asserting from memory.
Yes — batch runs async. The agent polls the waiter or receives the signed webhook; same payload either way.
No separate surface to learn. MCP tools, REST endpoints and SDKs share shapes and metering — pick the channel, keep the semantics.