关于 Agentic Document Parsing and Extraction (ADP)
ADP MCP Server 将兼容 MCP 的 AI 客户端连接到 Laiye 文档处理平台,用于业务文档解析、字段提取和工作流执行。它提供专用提取工具、自定义应用及工作流模板,无需设置模板或标注数据。
主要功能
- 01解析文档结构和表格
- 02提取发票及订单字段
- 03识别证件和卡片
- 04运行自定义提取应用
- 05创建并执行工作流应用
适用场景
- 01提取发票金额和日期
- 02处理身份证及驾照图像
- 03解析未知 PDF 或办公文档
- 04运行财务和报销工作流
MCP 相关
Node.js 服务通过本地 stdio 运行,向 MCP 客户端提供 ADP 文档解析、提取、自定义应用和工作流工具。客户端通过 API 密钥启动服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
22收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| file | string | 是 | 文件 URL 或 Base64 编码 |
| file_name | string | 否 | 文件名(可选,含扩展名) |
| with_rec_result | boolean | 否 | 是否包含 OCR 中间结果 |
| wait | boolean | 否 | 是否同步等待结果,默认 true |
| timeout_seconds | integer | 否 | 同步等待超时秒数,默认 300 |
| accept_language | enum | 否 | 返回语言和接口区域。默认 zh,访问 https://adp.laiye.com;传 en 时访问 https://adp-global.laiye.com。zh | en |
详细介绍
关于 ADP MCP Server
ADP MCP Server 将兼容 MCP 的 AI 客户端连接到 Laiye 的 Agentic Document Processing (ADP) 平台,用于文档解析、信息提取和工作流应用。这个 Node.js 程序包通过 stdio 在本地运行,让客户端能够发现工具、处理文档并在对话中查询结果。
ADP 集成视觉语言模型(VLM)、大语言模型(LLM)和自主 Agent 决策技术。它通过将传统的基于规则的字段提取转变为目标驱动的端到端智能自动化,重塑传统文档处理方式。ADP 专注于业务文档的智能处理,可自动分类海外发票、国内凭证、采购合同、物流单据、财务报表和贸易合同,并准确提取关键字段。它还支持表格解析、内容校验和多语言识别。无需设置模板、标注数据或持续维护规则,即可高效处理大量文档。
快速开始
1. 获取 API 密钥
在 https://adp-global.laiye.com/ 注册,并在个人设置的 My MCP 中获取 API Key。
2. 配置 MCP 客户端
ADP MCP Server 使用 stdio 传输:客户端通过 npx 启动本地进程,并通过环境变量传入 API Key。将以下内容添加到客户端的 MCP 配置文件中(例如 Claude Desktop 的 claude_desktop_config.json、Cursor 的 mcp.json):
{
"mcpServers": {
"adp": {
"command": "npx",
"args": ["-y", "@laiye-adp/mcp"],
"env": {
"ADP_API_KEY": "<YOUR-ADP-API-Key>",
"API_SOURCE": "npm-mcp"
}
}
}
}
以下参数适用于任何 MCP 客户端:
| 参数 | 值 |
|---|---|
| 命令 | npx |
| 参数 | ["-y", "@laiye-adp/mcp"] |
| 传输方式 | stdio |
| 身份验证 | 环境变量 ADP_API_KEY=<YOUR-ADP-API-Key> |
| 来源标记 | 可选环境变量 API_SOURCE,默认值为 npm-mcp |
可选环境变量
ADP_ACCEPT_LANGUAGE(zh/en,默认值为zh)用于切换 API 语言和域名。 可选环境变量API_SOURCE用于设置 OpenAPI 请求标头X-Api-Source;默认值为npm-mcp。 本地需安装 Node.js 20+。
3. 开始使用
连接后,AI 客户端会自动发现所有可用的 ADP 工具。只需用自然语言描述需求:
- “上传这个本地文件,并从返回的 URL 中提取字段”
- “解析这个 PDF 的结构”
- “提取这张身份证上的信息”
- “提取这张发票上的金额和日期”
工具目录
文档解析
| 工具名称 | 标题 | 描述 |
|---|---|---|
upload_temporary_file | 上传临时文件 | 上传 chunk 并返回 download_url。将 data.download_url 作为 file 参数传给解析或提取工具。 |
parse_document | 通用文档解析 | 解析 PDF、图像、Word、Excel、PPT 和其他文档,进行版面分析,并返回结构化文本块、表格、阅读顺序和页面坐标。当文档类型未知且需要原始结构以便进一步处理时使用;对于发票、身份证等特定类型,请优先使用专用提取工具。 |
发票与订单提取
| 工具名称 | 标题 | 描述 |
|---|---|---|
extract_china_invoice | 中国发票 / 票据 | 支持 30 多种常见中国票据类型:全电发票、增值税普通发票、增值税专用发票、出租车票、火车票、航空运输电子客票行程单、财政票据等。提取发票号码、日期、金额、买方、卖方等关键字段;还支持发票真伪查验。 |
extract_global_invoice | 全球发票 / 收据 | 从 PDF 或图片格式的海外发票、收据或票据中提取关键字段(发票号码、日期、金额、税额、币种、行项目等)。适用于跨境贸易、报销和应付账款自动化;对于中国增值税发票,请使用专用的中国发票工具。 |
extract_purchase_order | 采购 / 销售订单 | 从 PDF 或图片格式的采购订单或销售订单中提取关键字段(订单编号、买方 / 卖方信息、订单日期、商品详情、数量、单价、总金额、收货地址等)。适用于电商订单录入、供应链对账和仓库管理自动化。 |
卡片与证件提取
| 工具名称 | 标题 | 描述 |
|---|---|---|
extract_id_card | 中国居民身份证 | 从中国大陆居民身份证图像中提取关键字段(姓名、性别、民族、出生日期、身份证号码、地址、签发机关、有效期等)。支持正反两面。对于港澳台通行证或护照,请使用相应工具。 |
extract_bank_card | 银行卡 | 从银行卡正面图像中提取关键字段(卡号、发卡银行、卡类型、有效期等)。仅识别卡面公开信息;不会提取 CVV 等敏感字段。 |
extract_vehicle_cert | 车辆合格证 | 从车辆合格证图像中提取关键字段(证书编号、车辆品牌、型号、VIN、发动机号码、制造日期等)。适用于车辆登记、二手车交易和车队管理。 |
extract_account_permit | 银行开户许可证 | 从企业银行开户许可证图像中提取关键字段(公司名称、基本账户号码、银行名称、核准号、签发日期等)。 |
extract_driver_license | 中国机动车驾驶证 | 从中国机动车驾驶证图像中提取关键字段(姓名、性别、国籍、出生日期、驾驶证号码、准驾车型、初次领证日期、有效期等)。支持主页和副页。 |
extract_business_license | 营业执照 | 从中国营业执照图像中提取关键字段(公司名称、统一社会信用代码、法定代表人、注册资本、成立日期、经营范围、注册地址等)。 |
extract_passport_cn | 中国护照 | 从中华人民共和国护照图像中提取关键字段(中文姓名、罗马拼写姓名、性别、出生日期、护照号码、国籍、签发日期、有效期、签发机关等)。不支持外国护照。 |
extract_vehicle_license | 机动车行驶证 | 从中国机动车行驶证图像中提取关键字段(车牌号码、车辆类型、所有人、VIN、发动机号码、注册日期、签发日期等)。支持主页和副页。 |
extract_org_code_cert | 组织机构代码证 | 从组织机构代码证图像中提取关键字段(组织名称、组织机构代码、法定代表人、地址、签发日期、有效期等)。对于新注册企业,请改用营业执照工具。 |
extract_household_book | 户口簿 | 从中国户口簿图像中提取关键字段(户号、户别、地址、家庭成员列表,包括姓名、身份证号码及与户主的关系等)。支持索引页和个人页。 |
extract_hk_macao_permit | 港澳通行证 | 从往来香港、澳门特别行政区通行证图像中提取关键字段(姓名、性别、出生日期、通行证号码、签发日期、有效期、签发机关等)。 |
自定义提取
除上述开箱即用的工具外,MCP 还提供两个固定工具,用于处理你在 ADP 平台上创建的自定义提取应用:
| 工具名称 | 标题 | 描述 |
|---|---|---|
list_custom_extract_apps | 列出自定义提取应用 | 列出当前用户创建的所有自定义文档提取应用,并返回每个应用的 ID、名称、描述、标签和输出字段定义。使用此工具查找 execute_custom_extract_app 所需的 app_id。 |
execute_custom_extract_app | 执行自定义提取应用 | 使用指定的自定义文档提取应用处理文件。请先使用 list_custom_extract_apps 获取 app_id。 |
工作流: 调用 list_custom_extract_apps 浏览可用应用并获取目标 app_id,然后调用 execute_custom_extract_app 并传入 app_id 和文件以执行提取。
工作流应用
| 工具名称 | 描述 |
|---|---|
list_workflow_templates | 使用 search、offset 和 size 按名称查询官方模板。目录 ID 用于发现模板。 |
create_workflow_application_from_template | 创建并发布账户应用,或复用相应的可运行应用。 |
upload_temporary_file | 对于工作流文件,请传入创建所得的 application_id 和 sharing_scope="application"。 |
execute_workflow_app | 运行已发布的账户应用,默认同步运行;仅在明确请求异步运行时使用 wait=false。 |
query_workflow_run | 通过 run_id 查询工作流,并保留完整的 output 和 error。 |
支持的模板键:
| 模板 | template_key |
|---|---|
| 应付账款 | finance_payable |
| 费用报销 | expense_reimbursement |
| 财务报告提取 | financial_report_extraction |
请先使用匹配的模板创建并发布应用,然后使用返回的账户 application_id 上传文件并运行。创建应用不要求模板目录中的 can_run=true。重复创建时会复用现有的可运行应用,并保留其模板版本。请勿使用目录中的 application_id 运行应用。
调用 create_workflow_application_from_template:
{"template_key":"financial_report_extraction"}
成功时,data 包含 template_key、template_version、application_id、application_name、release_version_id、application_status="published" 和 can_run=true。请保存返回的 ID。然后调用 upload_temporary_file:
{"chunk":"/path/to/report.pdf","application_id":"<created application_id>","sharing_scope":"application"}
使用上传响应中的 download_url、file_name、content_type 和可选的 file_size 调用 execute_workflow_app:
{
"application_id":"<created application_id>",
"files":[{"url":"https://files.example.com/report.pdf","name":"report.pdf","mime_type":"application/pdf"}]
}
对于异步运行,添加 "wait":false,保存 data.run_id,然后使用 {"run_id":"<returned run_id>"} 调用 query_workflow_run。只有 status="succeeded" 时,运行才算成功;还应根据用户的请求检查输出。请勿使用文档 task_id 查询工具查询工作流运行。如果创建、上传或运行的响应不确定,请勿自动重新提交。
目前,工作流变更需要通过 ADP 网站界面完成。请先在网站上测试并重新发布,然后再通过 API 运行应用。这些工具支持根据官方模板创建应用;自定义工作流创建和工作流编辑仍需在网站上操作。
工作流工具接受 accept_language 和 timeout_seconds。创建、上传、执行和查询时请使用同一账户区域:zh 选择中国服务,en 选择全球服务;也可以统一配置 ADP_ACCEPT_LANGUAGE。
工具输入参数
文档解析与开箱即用提取工具
开箱即用工具的常用输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
file | string | 是 | 文件 URL 或 Base64 编码内容 |
file_name | string | 否 | 文件名(含扩展名) |
with_rec_result | boolean | 否 | 是否包含 OCR 中间结果,默认为 true |
wait | boolean | 否 | 是否同步等待结果,默认为 true |
timeout_seconds | integer | 否 | 同步等待超时时间(秒),默认为 300,范围为 1–900 |
extract_china_invoice 还支持:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
enable_invoice_verify | boolean or null | 否 | 仅为本次提取启用(true)或禁用(false)验证。省略此参数或设为 null 时,使用已保存的应用配置且不作更改。 |
extract_global_invoice、extract_global_invoice_fast 和 extract_sea_invoice_fast 还支持:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
enable_multi_ticket | boolean | 否 | 将一个文件中的多张发票拆分为单独的结果,默认为 true。仅适用于国际和东南亚快速模式,不会更改应用配置。 |
enable_field_value_translation | boolean or null | 否 | 仅为本次提取启用(true)或禁用(false)字段值翻译。省略此参数或设为 null 时,使用已保存的应用配置且不作更改。目标语言遵循 accept_language 或 ADP_ACCEPT_LANGUAGE。 |
upload_temporary_file
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
chunk | string | 是 | 要上传的文件。可以是本地文件路径、file:// URL 或 Base64 编码内容 |
application_id | string | 否 | 已创建的账户工作流应用 ID;当 sharing_scope="application" 时必填 |
sharing_scope | string | 否 | 工作流文件使用 application,临时文档文件使用 user |
accept_language | string | 否 | 账户区域和响应语言,可选 zh 或 en |
timeout_seconds | integer | 否 | 请求超时时间(秒),默认为 300,范围为 1–900 |
响应包含 data.download_url,可直接将其作为 file 传递给解析或提取工具。
execute_custom_extract_app
除上述参数外:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
app_id | string | 是 | 自定义提取应用 ID(通过 list_custom_extract_apps 获取) |
list_custom_extract_apps
无需输入参数。
解析/提取的文件输入方式:
- URL:将以
http://或https://开头的链接作为file传入 - Base64:将 Base64 编码的文件内容作为
file传入(如果不是 URL,会自动检测) - 本地文件:先调用
upload_temporary_file,然后将返回的data.download_url传递给解析或提取工具。
同步与异步:
wait=true(默认):阻塞至处理完成,并直接返回结果wait=false:立即返回task_id,供之后查询状态
工具输出
upload_temporary_file 输出
{
"code": "success",
"message": "",
"tips": null,
"data": {
"id": "ade6dcfd9b9c11f1be34d85ed35661fd",
"file_name": "invoice.pdf",
"file_size": 123,
"content_type": "application/pdf",
"download_url": "https://adp.laiye.com/web/agentic_doc_processor/laiye/file/ade6dcfd9b9c11f1be34d85ed35661fd",
"status": "success"
}
}
| 字段 | 类型 | 说明 |
|---|---|---|
code | string | 业务状态码。成功时通常为 success |
message | string | 响应消息 |
tips | string | null | 附加消息 |
data.id | string | 文件 ID |
data.file_name | string | 文件名 |
data.file_size | integer | 文件大小(字节) |
data.content_type | string | MIME 类型 |
data.download_url | string | 下载 URL。将此值作为 file 传递给解析或提取工具 |
data.status | string | 文件状态(如果有) |
parse_document 输出
{
"task_id": "fabd7f0a4e7211f1bbc4d85ed35661fd",
"status": 4,
"message": "",
"doc_recognize_result": [
{
"page_num": 1,
"document_content": "Full text content of this page...",
"document_details": [
{
"type": "Text",
"text": "Paragraph content...",
"position": [{"points": [{"x": 311, "y": 50}, {"x": 500, "y": 50}, {"x": 500, "y": 80}, {"x": 311, "y": 80}]}],
"ocr_confidence": {
"ocr_mean_confidence": 0.999,
"ocr_min_confidence": 0.998,
"is_overall_confidence": 1
}
},
{
"type": "Table",
"text": "Column A\tColumn B\nValue 1\tValue 2",
"position": [{"points": [...]}],
"ocr_confidence": {...}
},
{
"type": "Picture",
"text": "https://adp.laiye.com/web/.../file/abc123",
"position": [{"points": [...]}],
"ocr_confidence": {...}
}
]
}
]
}
| 字段 | 类型 | 描述 |
|---|---|---|
task_id | string | 任务 ID |
status | integer | 任务状态码 |
message | string | 状态消息 |
doc_recognize_result | array | 逐页识别结果 |
doc_recognize_result[].page_num | integer | 页码(从 1 开始) |
doc_recognize_result[].document_content | string | 按阅读顺序排列的页面完整文本 |
doc_recognize_result[].document_details | array | 元素级详情 |
document_details[].type | string | 元素类型:Text、Table 或 Picture |
document_details[].text | string | 文本内容;Picture 类型为图片 URL |
document_details[].position | array | 边界框坐标(4 个角点) |
document_details[].ocr_confidence.ocr_mean_confidence | float | OCR 平均置信度(0–1) |
document_details[].ocr_confidence.ocr_min_confidence | float | OCR 最低置信度(0–1) |
extract 工具输出
{
"task_id": "91283e544e7111f18cd6d85ed35661fd",
"status": 4,
"message": "",
"extraction_result": [
{
"field_key": "invoice_number",
"field_name": "Invoice Number",
"field_values": [
{
"field_value": "24VLT0591617",
"field_confidence": 1.0,
"references": []
}
]
},
{
"field_key": "line_items",
"field_name": "Product Details",
"references": [],
"field_confidence": 1.0,
"table_values": [
[
{
"field_name": "Description",
"field_key": "line_items_description",
"field_values": [
{
"field_value": "TESLA MODEL 3",
"field_confidence": 1.0,
"references": "Description: TESLA MODEL 3"
}
]
}
]
]
}
]
}
常规字段(没有 table_values):
| 字段 | 类型 | 描述 |
|---|---|---|
field_key | string | 机器可读的字段标识符 |
field_name | string | 人类可读的字段名称 |
field_values | array | 提取的值 |
field_values[].field_value | string | 提取的值 |
field_values[].field_confidence | float | 置信度分数(0–1) |
表格字段(包含 table_values):
| 字段 | 类型 | 描述 |
|---|---|---|
field_key | string | 表格标识符 |
field_name | string | 表格名称 |
table_values | array[array] | 二维数组:由单元格组成的行,每个单元格包含 field_name、field_key、field_values |
**区分方法:**字段对象包含 table_values → 表格字段;仅包含 field_values → 常规字段。
异步响应(wait=false)
{
"task_id": "fabd7f0a4e7211f1bbc4d85ed35661fd",
"status": "running"
}
任务状态码
| 状态码 | MCP 状态 | 描述 |
|---|---|---|
| 0 | running | 未知 |
| 1 | running | 就绪 / 已排队 |
| 2 | running | 处理中 |
| 4 | success | 成功 |
| 5 | failed | 失败 |
| 6 | failed | 已取消 |
支持的文件格式
| 格式 | 扩展名 | 备注 |
|---|---|---|
.pdf | 支持扫描件和电子文档 | |
| 图片 | .jpg .jpeg .png .bmp .tiff | 支持相机拍摄的照片 |
| Word | .doc .docx | - |
| Excel | .xls .xlsx | - |
| PPT | .ppt .pptx | - |
身份验证
ADP MCP Server 使用 API Key 身份验证,通过 ADP_API_KEY 环境变量传入:
"env": {
"ADP_API_KEY": "<YOUR-ADP-API-Key>",
"API_SOURCE": "npm-mcp"
}
- API Key 可在 ADP 控制台的 我的 MCP 页面获取
- 每个 API Key 都绑定到单个用户,且只能访问该用户的应用和数据
- API Key 仅作为环境变量传递给本地进程,不会出现在请求正文或响应中
API_SOURCE会作为X-Api-Source请求标头发送给 OpenAPI;省略时默认值为npm-mcp
常见问题
问:连接后,部分卡片/证书工具没有显示?
答:工具列表会根据已初始化的应用动态生成。首次连接时,系统会自动初始化所有开箱即用的应用。初始化完成后,刷新一次工具列表即可查看所有可用工具。
问:卡片工具返回“提取失败”?
答:请确保上传的文件与工具类型相符(例如,身份证图片请使用 extract_id_card,而不是 extract_vehicle_cert)。文件必须为受支持的图片或 PDF 格式。
问:如何处理超时?
答:默认超时时间为 300 秒(5 分钟)。你可以通过 timeout_seconds 参数调整(最长 900 秒)。对于大型文件或复杂文档,请使用 wait=false 启用异步模式,之后使用 task_id 查询结果。
问:MCP 与 ADP CLI / OpenAPI 有何区别?
答:三者功能相同,区别在于集成方式:
| 方式 | 最适合 |
|---|---|
| MCP 服务 | AI 客户端(Claude Desktop、Cursor 等)——无需编写代码 |
| ADP CLI | 终端、脚本、AI Skill 集成 |
| OpenAPI | 业务系统集成、后端服务调用 |
许可证
- MCP 服务:可免费连接,作为 ADP 平台的一部分提供
- ADP 服务:基于云的 AI 文档处理服务,按使用量计费
免费套餐:新用户注册后每月可获赠 100 个免费额度
支持与联系
- API 文档: Open API 指南
- 产品手册: 云端操作手册
- 电子邮件: [email protected]
- 网站: Laiye
用 ❤️ 共创 Agentic AI 的未来 版权所有 © 2026 [Laiye Technology (Beijing) Co., Ltd.]。保留所有权利。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。