PluginBench
MCP Server
Maintained
MIT

Document to JSON – PDF Invoice/Statement/Contract Parser MCP Server

io.github.fashionmascherine-svg/document-to-json-mcp

Turn PDFs into structured JSON in seconds using AI + OCR—invoices, statements, contracts, no coding needed.

What is the Document to JSON – PDF Invoice/Statement/Contract Parser MCP server?

The Document-to-JSON MCP server converts PDF documents into structured JSON using AI and OCR. It intelligently extracts data from invoices, bank statements, contracts, and generic documents, adapting to any layout, language, or vendor without requiring templates or configuration.

This server automates document processing by parsing PDFs and returning clean, validated JSON. It uses AI to understand document content rather than fragile regex patterns, making it reliable across languages, layouts, and scanned files. Ideal for accountants extracting invoice data, developers automating workflows, analysts converting statements to spreadsheets, and legal teams extracting contract terms.

How to install Document to JSON – PDF Invoice/Statement/Contract Parser

Copy-paste configuration for popular MCP clients.

transport: http
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • Authorization
    required
    secret

    Apify API token as 'Bearer <APIFY_TOKEN>'. Get it at https://console.apify.com/account/integrations

~/.cursor/mcp.json
{
  "mcpServers": {
    "document-to-json-mcp": {
      "url": "https://mcp.apify.com/?actors=opportunity-biz/document-to-json-mcp"
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • parse_invoice — Extract structured data from invoices: seller, buyer, line items, totals, VAT, IBAN, and payment information.
  • parse_bank_statement — Extract transactions, balances, fees, and account holder information from bank statements.
  • parse_contract — Extract parties, key clauses, dates, financial terms, and jurisdiction from contracts.
  • parse_generic_document — Extract full text and tables from any document type.

Use cases

  • Extract invoice numbers, line items, VAT, and payment details for accounting automation
  • Convert bank statements into structured transaction data for reconciliation and analysis
  • Parse contracts to identify parties, key clauses, dates, and financial terms automatically
  • Process scanned or multi-language documents without manual data entry
  • Integrate document extraction into n8n, LangChain, or CrewAI workflows

Document to JSON – PDF Invoice/Statement/Contract Parser MCP server FAQ

What is the Document-to-JSON MCP server?

It's an AI-powered document parser that converts PDFs (invoices, statements, contracts) into structured JSON. It uses OCR and language understanding to adapt to any layout or language without templates.

Is it free?

Generic document parsing is free during launch. Invoices cost $0.01, bank statements $0.015, and contracts $0.02 per document—pay-per-use via Apify with no subscription.

How do I install it in Claude Desktop or Cursor?

Add the MCP server to your config file (claude_desktop_config.json or mcp.json) with the provided npx command, using your Apify token for authentication.

What languages does it support?

English, Italian, and Spanish. OCR can combine multiple languages (e.g., eng+ita+spa) for multi-language scanned documents.

Do you store my PDFs?

No. PDFs are processed and not stored after extraction. Data is available only in your private Apify dataset, and API keys remain encrypted.

What document types are supported?

Invoice, bank statement, contract, and generic documents. Each type extracts specific fields—invoices get line items and VAT, statements get transactions and balances, contracts get clauses and dates.

README (reference)

Source of truth, from the repository.

Document-to-JSON Converter

Turn PDFs into structured JSON in seconds. AI-powered, no coding needed.

MCP Server License: MIT Apify


🚀 What does it do?

Paste a PDF URL → get structured JSON. That's it.

Powered by AI. Instead of rigid templates or fragile regex, an AI model actually reads and understands each document — so it adapts to any layout, language, or vendor, and even handles scanned files. That's why the same tool works on an Italian invoice, a Spanish receipt, or an English contract without any configuration.

Perfect for:

  • Accountants — extract invoice data (numbers, dates, totals, VAT, IBAN)
  • Developers — automate document processing in your apps
  • Business analysts — convert bank statements to spreadsheets
  • Legal teams — extract contract clauses and dates automatically

📋 Supported documents

TypeWhat you getPrice
InvoiceSeller, buyer, line items, totals, VAT, IBAN, payment info$0.01
Bank StatementAll transactions, balances, fees, account holder$0.015
ContractParties, key clauses, dates, financial terms, jurisdiction$0.02
GenericFull text + tables from any documentFree during launch

✨ Example output

{
  "success": true,
  "data": {
    "document_type": "invoice",
    "confidence": 0.97,
    "metadata": {
      "invoice_number": "INV-2024-00123",
      "invoice_date": "2024-03-15",
      "currency": "EUR"
    },
    "seller": {
      "name": "Acme S.p.A.",
      "vat_id": "IT01234567890"
    },
    "line_items": [
      {
        "description": "Consulting services",
        "quantity": 1,
        "unit_price": 5000.00,
        "net_amount": 5000.00,
        "vat_rate": 22.0,
        "total": 6100.00
      }
    ],
    "totals": {
      "net_total": 5000.00,
      "vat_total": 1100.00,
      "grand_total": 6100.00
    },
    "payment_info": {
      "iban": "IT60X0542811101000000123456"
    }
  }
}

🧪 Live examples — try them now

Run the Actor on these public sample PDFs (synthetic data) to see the extraction quality for yourself:

TypeSample PDFWhat the AI extracts (highlights)
Invoicesample-invoice.pdfInvoice INV-2026-0042, seller + buyer with VAT IDs, 2 line items, VAT 22%, grand total €1,889.78 — confidence 1.0
Bank statementsample-bank-statement.pdf7 transactions auto-categorized, opening/closing balances reconciled to €8,655.28 — confidence 1.0
Contractsample-contract.pdf2 parties + roles, effective/expiry/renewal dates, fee €5,000, 5 key clauses with summaries, jurisdiction — confidence 0.95

Just paste one of these URLs as file_url, pick the matching document_type, and run. Each extraction takes ~15–20 seconds.

🎯 Why this Actor?

FeatureBenefit
AI understandingAn AI reads documents like a human — adapts to any layout, no templates or rules to maintain
Multi-languageEnglish, Italian, Spanish (OCR)
OCR includedWorks with scanned documents too
ValidationAuto-checks totals and dates for accuracy
Pay per useNo subscription, pay only for what you process

🔧 How to use

  1. Get a public PDF URL (Dropbox, Google Drive, your server)
  2. Select the document type
  3. Run the Actor
  4. Get your JSON in seconds

That's it. No configuration, no API keys needed.

💰 Pricing

Document typePrice
Invoice$0.01 ($10/1000)
Bank statement$0.015 ($15/1000)
Contract$0.02 ($20/1000)
GenericFree during launch

Pay-per-event via Apify. Pay only for successful extractions. No subscription, no hidden fees.

🔒 Privacy

  • PDFs are processed and not stored after extraction
  • Data is available in your private dataset
  • All API keys stay encrypted

📚 Supported OCR languages

eng (English), ita (Italian), spa (Spanish)

Combine with + for multi-language scanned documents: eng+ita+spa (default)

🤖 Built for AI agents (MCP)

This Actor is an MCP server: AI agents can call it directly as a tool to turn any PDF into JSON, with zero configuration — just pass a public file_url. Specialized tools (parse_invoice, parse_bank_statement, parse_contract) and a free parse_generic_document make it easy for an LLM to pick the right one for the task.

🔌 Integrations

Replace YOUR_APIFY_TOKEN with your token from Apify → Settings → Integrations.

Claude Code (CLI)

claude mcp add --transport http apify \
  "https://mcp.apify.com/?actors=opportunity-biz/document-to-json-mcp"

Claude Desktop / Cursor (MCP)

Add to your MCP config (claude_desktop_config.json or Cursor's mcp.json):

{
  "mcpServers": {
    "document-to-json": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://mcp.apify.com/?actors=opportunity-biz/document-to-json-mcp",
        "--header", "Authorization: Bearer YOUR_APIFY_TOKEN"
      ]
    }
  }
}

The agent then sees parse_invoice, parse_bank_statement, parse_contract, and parse_generic_document as tools and calls them on its own.

REST API (any language)

One call in, JSON out — run-sync-get-dataset-items returns the result directly:

curl -X POST \
  "https://api.apify.com/v2/acts/opportunity-biz~document-to-json-mcp/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"file_url": "https://example.com/invoice.pdf", "document_type": "invoice", "validate_totals": true}'

Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("opportunity-biz/document-to-json-mcp").call(run_input={
    "file_url": "https://example.com/invoice.pdf",
    "document_type": "invoice",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

JavaScript / TypeScript

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('opportunity-biz/document-to-json-mcp').call({
  file_url: 'https://example.com/invoice.pdf',
  document_type: 'invoice',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

n8n

Use an HTTP Request node (POST) to the REST API URL above, or the official Apify node → select document-to-json-mcp → set file_url and document_type. Great for "watch inbox → extract invoice → append to Google Sheet" workflows.

LangChain / CrewAI / any MCP framework

Point your agent framework's MCP client at https://mcp.apify.com/?actors=opportunity-biz/document-to-json-mcp — the parsing tools are exposed automatically.

Related MCP servers

Reddit MCP server: search posts, subreddit feeds, comments & user profiles as JSON. No API key.

Open-source web scraper for AI agents—scrape, crawl, map, search, and extract with markdown or JSON output.

1.1k
Rust
AGPL-3.0
View repository →

Playwright & Appium test automation for Claude. Generate tests, diagnose failures, open fix PRs.

JSON-driven E2E test runner with parallel Chrome pool execution and 16 MCP tools.

3
JavaScript
Apache-2.0
View repository →

Background removal, 4x upscaling, and face restoration via GPU

2
JavaScript
MIT
View repository →

Toxicity, sentiment, NER, PII detection, and language identification tools

2
JavaScript
MIT
View repository →