# bol-ai MCP server

Extract structured data from Bills of Lading: parties, ports, containers, incoterms. EU-hosted.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-peter-schout-bol-ai
- Website: https://bol.ai

## Install
- Endpoint: https://bol.ai/api/mcp
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: Authorization (required; secret)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://bol.ai/api/mcp
- Header: Authorization

## Tools
- extract_bol (Extract freight document) - Extract structured data from a freight document (PDF, PNG or JPG, max 10 MB): Bill of Lading, commercial invoice, packing list, or CMR road waybill. The document type is detected automatically and returned as `doc_type`. Provide either a fetchable `url` or `base64` file content. Fields not present in the document are null — never guessed. Each successful extraction bills one document. Endpoint: https://bol.ai/api/mcp
- extract_batch (Extract multiple freight documents) - Extract up to 10 freight documents in one call. Provide an array of fetchable URLs; each document is processed and billed independently, and the response reports a per-document outcome so partial success (e.g. running out of credits mid-batch) is explicit. Endpoint: https://bol.ai/api/mcp
- list_documents (List documents) - List the 100 most recent documents for this account with id, filename, status (pending/done/failed), doc_type and primary reference number. Endpoint: https://bol.ai/api/mcp
- get_document (Get extraction result) - Get the extraction result for a document by id: doc_type, extracted fields, user corrections (when present), and deterministic verification warnings (ISO 6346 container check digits, plausibility flags). `fields` is the best available data (corrections win); `original_fields` and `corrected_fields` show both sides. Endpoint: https://bol.ai/api/mcp
- save_corrections (Save field corrections) - Save corrected field values for an extracted document. The original extraction is kept alongside the corrections; corrected data takes precedence in get_document, exports and reconciliation. Pass the complete corrected fields object (same shape as returned by get_document). Endpoint: https://bol.ai/api/mcp
- get_related_documents (Reconcile shipment documents) - Cross-document reconciliation: find the other documents in this shipment (linked by shared reference numbers such as B/L number and invoice number) and compare them field by field — shipper/seller and consignee/buyer names, total gross weight (5% tolerance) and package counts. Returns matches and mismatches per linked document. Catches the discrepancies that cause customs holds, amended entries and demurrage. Deterministic — no extra document billed. Endpoint: https://bol.ai/api/mcp
- export_documents (Export documents as normalized rows) - Export completed extractions as TMS/ERP-ready normalized line rows (one row per container / invoice line / package / goods line), newest first. Optional doc_type filter and max_rows cap. Corrected data wins over the original extraction. For CSV/XLSX files use GET /api/bol/export on the REST API. Endpoint: https://bol.ai/api/mcp
- get_usage (Check credits and subscription) - Check this account's remaining prepaid credits and subscription status. Call this before large batches to avoid running out of credits mid-workflow. When the account cannot bill more documents, a human can top up at the returned buy_credits_url. Endpoint: https://bol.ai/api/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.peter-schout
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jun 11, 2026
- Source: https://registry.modelcontextprotocol.io
