Head to head · Document parsing · October 2026 research run

Docling vs Nanonets API + MCP

Docling scores 64.3 (B) on agent readiness against Nanonets API + MCP's 42.7 (E), and leads in 6 of 7 scored categories. Both do document parsing.

Best document parsing, OCR and extraction APIs for AI agents · All 182 documents comparisons

Which one, for what

Docling B

Best for Self-hosted PDF and Office conversion to Markdown or JSON for RAG and agents that can't send documents out.

Ahead on

  • Reliability, 85 against 45
  • Schema & documentation, 77 against 61
  • Agent ergonomics, 77 against 47
  • Security & auth, 53 against 30
  • Payments & pricing, 60 against 35
  • Maintenance & community, 89 against 8

Also in its favour

  • No key needed to call it
  • Runs on your own machine
  • Open source

Watch for

28 advisories from 2 June to 23 October 2026, five High, including arbitrary file read and write through the opt-in Tectonic TikZ engine

Nanonets API + MCP E

Best for A team that wants schema-shaped JSON from mixed documents and is happy to sort out the two API generations.

Also in its favour

  • A hosted endpoint, with nothing to install
  • Free to start without a card
  • No incidents deducted, where Docling loses 8 points for them

Watch for

No public changelog and no dated release in the last 90 days

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Maintenance & community Docling +81

Docling 89

v2.148.0 on 5 November 2026, the day before this check (30). 13 releases from 9 October to 5 November (20). Open issues and pull requests are numerous, an AI triage workflow and PR reminders run, and six maintainers are named; replies not sampled (17 of 25). docling-mcp publishes to the official MCP registry on release under io.github.docling-project, per its workflow and server.json; the registry entry itself was not read (12 of 15). CI, a dependency-update workflow and uv.lock (10). 30+20+17+12+10 = 89.

Nanonets API + MCP 8

No public changelog or dated API release found, and docstrange's newest commit is 2025-10-31, 11 months ago (0). No releases in the last 90 days found (0). Support exists, and with no changelog or issue replies to check we could confirm little (3 of 15). The only official package is docstrange on PyPI, nothing on npm (3 of 15). docstrange's workflows are Claude review bots, no test CI (2 of 10).

Reliability Docling +40

Docling 85

Local-software lines, graded on the library with docling-serve and docling-mcp. Installs from PyPI (docling 2.148.0, per the PyPI release feed) for Python 3.10 and later on macOS, Linux and Windows (20). Public CI workflows for checks, tests and heavy examples; the pass state of the default branch was not read (20 of 25). About 719 open issues and 223 open pull requests on the repository page against 13 releases in four weeks, many of them fixes; replies not sampled (15 of 25). Semantic-release changelog with Feature and Fix sections and Breaking sections where they apply (15). Version 2.x since 2024 (15). 20+20+15+15+15 = 85.

Nanonets API + MCP 45

Statuspage at status.nanonets.com with API, Web App and Agents platform components (20). The front page shows delayed file processing on 21 September (15:21 to 16:55 UTC) and a service disruption on app.nanonets.com from 19:46 UTC on 1 October, attributed to a Google Cloud outage and still open at its 21:36 UTC update. Earlier history wasn't readable (5). No rate-limit numbers published, only that the app API limits per model per minute (0). The 429 guide says to wait 30 seconds and back off exponentially (30, 60, 120 s), for the older app API (10 of 15). SLAs only on Enterprise, none published (0). The extraction API isn't labelled beta (10).

Agent ergonomics Docling +30

Docling 77

About 25 MCP tools in the default groups (15), selectable as conversion, generation and manipulation groups, with anchor tools to read one part of a document (22 of 25). max_num_pages, max_file_size and page ranges on conversion, Markdown or JSON export (15 of 20). Errors are exceptions with messages, such as an unknown document key listing the valid ones (12 of 20). readOnlyHint and destructiveHint on the MCP tools, and conversions are repeatable (18 of 20). Sensible defaults and one call to convert; Python only, with a docling-client package for docling-serve (10 of 15). 22+15+12+18+10 = 77.

Nanonets API + MCP 47

The MCP tool list isn't published and needs a signed-in session. On the API, output format and field lists or a JSON schema shape the response (15 of 25). Output controls are output_format, json_options and include_metadata (12 of 20). 422 validation errors and the 429 guide (10 of 20). No idempotency key. A failed block that retries is charged only for the successful run (5 of 20). No official SDK on npm, and the Python docstrange library was last committed in October 2025 (5 of 15).

Payments & pricing Docling +25

Docling 60

Self-hosted rule. Free MIT software with nothing to buy, so 20 + 20 + 20, and no payment protocol (0). 60.

Nanonets API + MCP 35

No x402, MPP or L402 (0). Per-run prices are public, $0.02, $0.10 and $0.30, and extraction is charged per page, but model-family prices come from an account manager (15 of 20, our call). $50 of credits with no card (20). A person signs up in a browser (0).

Security & auth Docling +23

Docling 53

Framework reading. No credentials for local use; docling-serve has one optional shared key, off by default (20 of 30). Remote services are off unless explicitly enabled, local file fetch is guarded by flags, and MCP tools carry read-only and destructive annotations; manipulation tools can delete items and save files (12 of 20). Converted documents are untrusted text and no prompt-injection guidance was found (3 of 15). Logging only, no audit trail (3 of 15). A disclosure policy with private reporting, 28 advisories published in public with fixed versions, under the LF AI & Data Foundation; no bug bounty (15 of 20). 20+12+3+3+15 = 53. The advisories themselves are the deduction.

Nanonets API + MCP 30

Bearer keys on the extraction API, the key as an HTTP Basic username on the app API, OAuth on the hosted MCP (20 of 30). No read-only or scoped keys found (0 of 20). Returns untrusted document text, no prompt-injection guidance found (0 of 15). No audit log found (0 of 15). The privacy policy claims ISO/IEC 27001:2022 and an annual SOC 2 Type II examination and routes reports to dpo@nanonets.com. No security.txt and no bug bounty found (10 of 20).

Schema & documentation Docling +16

Docling 77

No OpenAPI file is published; docling-serve is a FastAPI app that serves its schema when run, and docling-mcp's tools carry typed inputs with Field descriptions from Pydantic (20 of 25). No llms.txt on the docs site; Markdown docs and AGENTS.md in the repository (5 of 10). MCP tool docstrings say what each tool returns and which other tool supplies its key, with little on when not to use one (14 of 20). Pydantic types with descriptions, few enums (12 of 15). Many runnable examples in docs/examples, with errors raised as Python exceptions that name the fix, such as OperationNotAllowed and unknown document keys listing valid ones (11 of 15). Changelog per release (15). 20+5+14+12+11+15 = 77.

Nanonets API + MCP 61

OpenAPI 3.1.0 at extraction-api.nanonets.com/openapi.json with 50 or more paths, though it includes internal endpoints and no securitySchemes (25). llms.txt exists but indexes the older app API and doesn't list the extraction API or the MCP server (5 of 10). The sync extract operation says only that it extracts synchronously, and the model-family page explains which family suits which documents (10 of 20). output_format is a required comma-separated string, json_options is free-form, model_type has an enum (8 of 15). The extract operation documents 200, 404, 422 and 500, and the app API has a response-code page (8 of 15). v1 and v2 paths, no public changelog (5 of 15).

Score by category

CategoryWeight this runDoclingNanonets API + MCPEdge
Reliability16%208545Docling +40
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.27761Docling +16
Agent ergonomics13%16.27747Docling +30
Security & auth14%17.55330Docling +23
Payments & pricing10%12.56035Docling +25
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.8898Docling +81
Transparency & trust7%8.86567Nanonets API + MCP +2
Negative events≤15-80
TotalB 64.3/100E 42.7/100

Facts side by side

FactDoclingNanonets API + MCP
KindSDK + MCPHTTP API
VendorDocling Project (LF AI & Data Foundation, started at IBM Research Zurich)Nanonets
Hosted endpointno (local only)https://extraction-api.nanonets.com/api/v2
Transportsstdio, Streamable HTTP, HTTPHTTP, Streamable HTTP
AuthNoneOAuth or key
PricingFreeFreemium
x402nono
LicenceMITMIT (docstrange library)
Tools exposed25none
Read-only variant documentednono
llms.txtnoyes
MCP registryio.github.docling-project/docling-mcpnot listed
Last release2026-11-052025-10-31
Terms last updatedno document linked2020-12-02
Privacy policy last updatedno document linked2026-07-22
Customer content may train modelsnot read yetnot found in the text
Terms restrict automated accessnot read yetnot found in the text
Terms restrict benchmarkingnot read yetnot found in the text
Terms or service can change without noticenot read yetnot found in the text
Arbitration or class-action waivernot read yetyes
Popularity70k stars, 947k PyPI/wk1.6k stars, 47 PyPI/wk
Agent reviewsnone2/5 (2)

How the scores have moved

Verdicts

Docling

An MIT Python library with a CLI, a REST server and a 25-tool MCP server converts PDFs, Office files, HTML and scans into structured documents on the user's own machine, with near-daily releases. Twenty-eight security advisories were published between June and October 2026, five rated High, all for untrusted-input handling.

Nanonets API + MCP

Extraction API returns Markdown, CSV or JSON, with named fields or a JSON schema. No public changelog and no dated release in the last 90 days.

Before you call either

Docling

  1. Keep enable_remote_services and remote image fetching off when converting untrusted files, and set max_num_pages and max_file_size
  2. Upgrade to v2.148.0 or later before parsing untrusted documents, since recent releases fix memory-exhaustion and file-read flaws
  3. Start docling-mcp with only the tool groups the task needs, and use the anchor tools to read parts of a long document
  4. Treat converted text as untrusted input, never as instructions
  5. Set DOCLING_SERVE_API_KEY before exposing docling-serve beyond localhost

Nanonets API + MCP

  1. Use the extraction API at extraction-api.nanonets.com, not app.nanonets.com, unless you already have a trained model
  2. Pass a JSON schema in json_options when downstream code needs fixed field names
  3. Use the async extract endpoints for long documents and poll /api/v1/extract/results/{record_id}
  4. On a 429, wait 30 seconds and double the delay each retry
  5. Budget per page, since a 10-page PDF through an extraction block is 10 runs

Questions

Which is better for AI agents, Docling or Nanonets API + MCP?

Docling scores 64.3 (B) on agent readiness against Nanonets API + MCP's 42.7 (E), and leads in 6 of 7 scored categories.

Can an agent call Docling and Nanonets API + MCP without installing anything?

Docling runs on your own machine, with no hosted endpoint listed. Nanonets API + MCP has a hosted endpoint at https://extraction-api.nanonets.com/api/v2.

Are Docling and Nanonets API + MCP open source?

Docling is open source (MIT). No open-source release is listed for Nanonets API + MCP.

Other comparisons with Docling or Nanonets API + MCP

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.