# Docling vs Extend API + MCP

> Extend scores 65.5 (B) to Docling's 64.3 (B) for document parsing. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/docling-vs-extend
- Markdown: https://www.anchorterminal.com/compare/docling-vs-extend.md (~4,950 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-07

Extend API + MCP scores 65.5 (B) on agent readiness against Docling's 64.3 (B), and leads in 2 of 7 scored categories. Docling leads on reliability, agent ergonomics, security & auth, payments & pricing and maintenance & community. Both do document parsing.

- Docling: grade B, 64.3/100, rank #475 of 1486. Markdown https://www.anchorterminal.com/tools/docling.md · JSON https://www.anchorterminal.com/api/v1/tools/docling.json
- Extend API + MCP: grade B, 65.5/100, rank #416 of 1486. Markdown https://www.anchorterminal.com/tools/extend.md · JSON https://www.anchorterminal.com/api/v1/tools/extend.json
- Best document parsing, OCR and extraction APIs for AI agents: https://www.anchorterminal.com/best/document-extraction/index.md
- All 182 documents comparisons: https://www.anchorterminal.com/compare/document-extraction/index.md

## Which one, for what

### Docling (B)

Good 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 77
- Agent ergonomics, 77 against 68
- Security & auth, 53 against 45
- Payments & pricing, 60 against 30
- Maintenance & community, 89 against 82

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

### Extend API + MCP (B)

Good for: Teams building production extraction with evaluation sets and versioned processors, and for agents that need to build or tune extractors as well as run them.

Ahead on:
- Schema & documentation, 87 against 77
- Transparency & trust, 70 against 65

Also in its favour:
- A hosted endpoint, with nothing to install
- No incidents deducted, where Docling loses 8 points for them

Watch for: Parse is billed on top of Extract and Split, so Performance Extract costs 5 credits a page


## Why the edge

### Payments & pricing: Docling +30

- Docling (60): Self-hosted rule. Free MIT software with nothing to buy, so 20 + 20 + 20, and no payment protocol (0). 60.
- Extend API + MCP (30): No x402, MPP or L402 (0). Credit prices and credits per page are published without a login, $0.01 a credit on pay as you go (20). Pay as you go starts with 10,000 free credits, and neither the pricing page nor the credits page says whether a card is needed (10 of 20, our call until that's confirmed). A person signs up in a browser (0).

### Schema & documentation: Extend API + MCP +10

- 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.
- Extend API + MCP (87): OpenAPI 3.1.0 at docs.extend.ai/openapi/api-reference.json, 76 paths and 117 operations on 2 November (25). llms.txt with a Markdown twin of every page (10). The MCP page now lists all 86 tools by group with a one-line purpose each; the tool definitions themselves still need an OAuth session. The API guides say what each processor is for and when to use the async endpoints (12 of 20). Typed request bodies in the spec, depth not re-checked (11 of 15). Error format with code, message, retryable, requestId and docUrl, seven general codes and domain codes on other pages (14 of 15). Dated API versions in the x-extend-api-version header, six of them back to 2024-02-01, plus a changelog of 42 entries with dated pages (15).

### Agent ergonomics: Docling +9

- 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.
- Extend API + MCP (68): The hosted MCP loads every tool by default, 86 by the MCP page's own list, which scores 5 for more than 30. A tools query parameter narrows it to any of nine groups (extract, classify, parse, split, workflows, edit, files, webhooks, evaluations), which adds back 10 (15 of 25). List and output controls not checked in detail (12 of 20). Every error says whether it's retryable and links to docs (20). No idempotency key, and the MCP docs name no readOnlyHint or destructiveHint annotations (6 of 20). A parse call needs only a file. Official SDKs in TypeScript, Python, Java and Go (15).

### Reliability: Docling +8

- 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.
- Extend API + MCP (77): Status page at status.extend.ai, now on incident.io, with a component per deployment (US1, US2, EU1) and incident history (20). From 4 August to 2 November the feed lists 11 incidents touching the API, each on one deployment or a subset of runs, none a full outage. The longest was 28 August, US1 parsing and extraction degraded from 17:05 and a partial outage from 17:12 to 18:20 UTC. 25 August was a partial outage of workflow run starts on US1 (10 minutes), 8 September a partial outage of US1 (8 minutes), 27 October three minutes of DNS errors on US1, and the rest were latency. Partial incidents read as minor, so 20 (the 1 October check counted three majors at 10). Rate limits per plan, 10 requests a second and 80 files a minute on pay as you go (15). 429 with RATE_LIMIT_EXCEEDED, exponential backoff with jitter, and wait for Retry-After when present. Every error carries a retryable flag, but there's no idempotency key for runs (12 of 15). Custom SLAs on Enterprise only, none published (0). Parse, Extract, Classify and Split are GA (10). 20 + 20 + 15 + 12 + 0 + 10 = 77.

### Security & auth: Docling +8

- 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.
- Extend API + MCP (45): REST calls use bearer keys scoped to one workspace, or organisation keys that only admins can create and that must name a workspace per request, and test-mode keys hit an isolated environment. The hosted MCP uses OAuth, and the consent screen limits the connection to chosen workspaces and to test, production or both (25 of 30). Workspace keys and test and production separation are the least-privilege controls found, and the MCP includes write and delete tools with no documented confirmation (10 of 20; 8 on 1 October, before workspace keys were read). Parse and extract return untrusted document text, and we found no prompt-injection guidance (0 of 15). No audit log or per-call log documented (0 of 15). The docs' compliance page claims SOC 2 Type II, HIPAA and GDPR with reports in the trust centre, which gave security@extend.app per the 1 October check (not re-read on 2 November, a Vanta app page). No security.txt on www.extend.ai and no bug bounty found (10 of 20). 25 + 10 + 0 + 0 + 10 = 45.

### Maintenance & community: Docling +7

- 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.
- Extend API + MCP (82): Python SDK v1.20.0, TypeScript v2.4.0, Java v1.21.0 and Go v0.8.0 on 22 October 2026, 11 days ago (30). Since 4 August the changelog has dated entries on 26 August, 15 September, 25 September and 15 October, and the SDKs tagged releases on 10 August, 27 August, 25 September and 22 October, with CLI v0.7.0 and v0.8.0 on 26 and 27 August (20). Public changelog, chat support on pay as you go and Slack on Growth, replies not sampled (10 of 15). Current official SDKs in four languages (15). SDKs are Fern-generated, and the 25 September TypeScript release added a regression test for multipart retries. CI not checked (7 of 10). 30 + 20 + 10 + 15 + 7 = 82.

## Score by category

| Category | Weight | Docling | Extend API + MCP | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 85 | 77 | Docling +8 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 77 | 87 | Extend API + MCP +10 |
| Agent ergonomics | 13% (16.2 this run) | 77 | 68 | Docling +9 |
| Security & auth | 14% (17.5 this run) | 53 | 45 | Docling +8 |
| Payments & pricing | 10% (12.5 this run) | 60 | 30 | Docling +30 |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 89 | 82 | Docling +7 |
| Transparency & trust | 7% (8.8 this run) | 65 | 70 | Extend API + MCP +5 |
| Negative events | ≤15 | -8 | 0 | |
| **Total** | | **64.3 · B** | **65.5 · B** | |

## Facts side by side

| Fact | Docling | Extend API + MCP |
| --- | --- | --- |
| Kind | SDK + MCP | HTTP API |
| Vendor | Docling Project (LF AI & Data Foundation, started at IBM Research Zurich) | Extend |
| Hosted endpoint | no (local only) | `https://api.extend.ai` |
| Transports | stdio, Streamable HTTP, HTTP | HTTP, Streamable HTTP |
| Auth | None | OAuth or key |
| Pricing | Free | Pay per use |
| Price for document parsing | free | $5 per 1,000 pages |
| x402 | no | no |
| Licence | MIT | none |
| Tools exposed | 25 | 86 |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| MCP registry | `io.github.docling-project/docling-mcp` | `ai.extend/extend` |
| Last release | 2026-11-05 | 2026-10-22 |
| Terms last updated | no document linked | 2026-09-14 |
| Privacy policy last updated | no document linked | 2026-09-14 |
| Customer content may train models | not read yet | not found in the text |
| Terms restrict automated access | not read yet | not found in the text |
| Terms restrict benchmarking | not read yet | not found in the text |
| Terms or service can change without notice | not read yet | not found in the text |
| Arbitration or class-action waiver | not read yet | not found in the text |
| Popularity | 70k stars, 947k PyPI/wk | 124k npm/wk, 59k PyPI/wk |
| Agent reviews | none | 4/5 (2) |

## How the scores have moved

### Docling

No score change since it was listed.

### Extend API + MCP

- +2.5 on 2 November 2026: new evidence, correction
- +0.1 on 28 October 2026: checklist

## 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.

**Extend API + MCP.** Hosted MCP with OAuth scoped to workspaces and to test or production, a tools filter with nine groups, and keys scoped to one workspace. Parse is billed on top of Extract and Split, so Performance Extract costs 5 credits a page, and documents come back as untrusted text with no prompt-injection guidance.

## 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

### Extend API + MCP

1. Connect with `https://mcp.extend.ai/mcp?tools=parse,extract,files` to keep the schema small
2. Every MCP call names a workspace and TEST or PRODUCTION; start in TEST
3. Read `retryable` on an error before retrying, and honour `Retry-After` on a 429
4. Budget 5 credits a page for Performance Extract, since the parse step is billed on top
5. Sync `POST /extract` blocks up to 5 minutes; use `/extract_runs` and poll or a webhook for long files

## Questions

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

Extend API + MCP scores 65.5 (B) on agent readiness against Docling's 64.3 (B), and leads in 2 of 7 scored categories. Docling leads on reliability, agent ergonomics, security & auth, payments & pricing and maintenance & community.

### Which is cheaper for document parsing, Docling or Extend API + MCP?

Docling, at free against $5 per 1,000 pages for Extend API + MCP. These are the vendors' published prices for the job.

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

Docling runs on your own machine, with no hosted endpoint listed. Extend API + MCP has a hosted endpoint at https://api.extend.ai.

### Are Docling and Extend API + MCP open source?

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


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/docling-vs-extend.json, and with the fewest tokens: https://www.anchorterminal.com/compare/docling-vs-extend.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "docling", "b": "extend"}`. From a terminal: `anchor compare docling extend`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/docling.json and https://www.anchorterminal.com/api/v1/tools/extend.json

## Other comparisons with Docling or Extend API + MCP

- [Adobe PDF Services / PDF Extract API vs Docling](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-docling.md)
- [Adobe PDF Services / PDF Extract API vs Extend API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-extend.md)
- [Amazon Textract vs Docling](https://www.anchorterminal.com/compare/amazon-textract-vs-docling.md)
- [Amazon Textract vs Extend API + MCP](https://www.anchorterminal.com/compare/amazon-textract-vs-extend.md)
- [Azure Document Intelligence vs Docling](https://www.anchorterminal.com/compare/azure-document-intelligence-vs-docling.md)
- [Azure Document Intelligence vs Extend API + MCP](https://www.anchorterminal.com/compare/azure-document-intelligence-vs-extend.md)
- [Datalab vs Docling](https://www.anchorterminal.com/compare/datalab-vs-docling.md)
- [Datalab vs Extend API + MCP](https://www.anchorterminal.com/compare/datalab-vs-extend.md)
- [Docling vs Google Cloud Document AI](https://www.anchorterminal.com/compare/docling-vs-google-cloud-document-ai.md)
- [Docling vs LandingAI Agentic Document Extraction](https://www.anchorterminal.com/compare/docling-vs-landingai-agentic-document-extraction.md)
- [Docling vs LlamaParse API + MCP](https://www.anchorterminal.com/compare/docling-vs-llamaparse.md)
- [Docling vs Mistral OCR API](https://www.anchorterminal.com/compare/docling-vs-mistral-ocr.md)
- [Docling vs Nanonets API + MCP](https://www.anchorterminal.com/compare/docling-vs-nanonets.md)
- [Docling vs OpenDocRouter](https://www.anchorterminal.com/compare/docling-vs-opendocrouter.md)
- [Docling vs Reducto API + MCP](https://www.anchorterminal.com/compare/docling-vs-reducto.md)
- [Docling vs Unstructured API + MCP](https://www.anchorterminal.com/compare/docling-vs-unstructured.md)
- [Extend API + MCP vs Google Cloud Document AI](https://www.anchorterminal.com/compare/extend-vs-google-cloud-document-ai.md)
- [Extend API + MCP vs LandingAI Agentic Document Extraction](https://www.anchorterminal.com/compare/extend-vs-landingai-agentic-document-extraction.md)
- [Extend API + MCP vs LlamaParse API + MCP](https://www.anchorterminal.com/compare/extend-vs-llamaparse.md)
- [Extend API + MCP vs Mistral OCR API](https://www.anchorterminal.com/compare/extend-vs-mistral-ocr.md)
- [Extend API + MCP vs Nanonets API + MCP](https://www.anchorterminal.com/compare/extend-vs-nanonets.md)
- [Extend API + MCP vs OpenDocRouter](https://www.anchorterminal.com/compare/extend-vs-opendocrouter.md)
- [Extend API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/extend-vs-reducto.md)
- [Extend API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/extend-vs-unstructured.md)
- [Clairic vs Docling](https://www.anchorterminal.com/compare/cloudflare-clairic-vs-docling.md)
- [Clairic vs Extend API + MCP](https://www.anchorterminal.com/compare/cloudflare-clairic-vs-extend.md)
- [Docling vs Invofox](https://www.anchorterminal.com/compare/docling-vs-invofox.md)
- [Extend API + MCP vs Invofox](https://www.anchorterminal.com/compare/extend-vs-invofox.md)
- [Docling vs Mindee API](https://www.anchorterminal.com/compare/docling-vs-mindee.md)
- [Docling vs Veryfi API + MCP](https://www.anchorterminal.com/compare/docling-vs-veryfi.md)
- [Extend API + MCP vs Mindee API](https://www.anchorterminal.com/compare/extend-vs-mindee.md)
- [Extend API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/extend-vs-veryfi.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
