bol-ai
Extract structured data from Bills of Lading: parties, ports, containers, incoterms. EU-hosted.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"bol-ai": {
"url": "https://bol.ai/api/mcp"
}
}
}远程端点
https://bol.ai/api/mcpstreamable-http它能做什么
工具清单
工具(8)
🟢extract_bol(url, base64, filename)
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.
输入模式
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL of the document to fetch and extract"
},
"base64": {
"type": "string",
"description": "Base64-encoded file content (alternative to url)"
},
"filename": {
"type": "string",
"description": "Filename including extension, e.g. shipment-4711.pdf"
}
}
}🟢extract_batch(urls)
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.
输入模式
{
"type": "object",
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 10,
"description": "URLs of documents to fetch and extract (max 10)"
}
},
"required": [
"urls"
]
}🟢list_documents
List the 100 most recent documents for this account with id, filename, status (pending/done/failed), doc_type and primary reference number.
输入模式
{
"type": "object",
"properties": {}
}🟢get_document(id)
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.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Document id"
}
},
"required": [
"id"
]
}🟡save_corrections(id, fields)
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).
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Document id"
},
"fields": {
"type": "object",
"description": "Complete corrected fields object, including doc_type"
}
},
"required": [
"id",
"fields"
]
}🟢get_related_documents(id)
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.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Document id to reconcile against the rest of the account"
}
},
"required": [
"id"
]
}🟢export_documents(type, max_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.
输入模式
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"bill_of_lading",
"commercial_invoice",
"packing_list",
"cmr"
],
"description": "Only include documents of this type"
},
"max_rows": {
"type": "number",
"description": "Maximum rows to return (default 500)"
}
}
}🟢get_usage
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.
输入模式
{
"type": "object",
"properties": {}
}社区
证据