MCP 服务器

Velrim

com.velrim/extract
数据与分析 公开且可连接 MCP 2025-11-25

此 MCP 可以做什么

Extracts structured fields from PDFs or images using a supplied JSON Schema, with confidence scores and source anchors.

velrim_extract
Extract structured data from a document (PDF or image, passed as document_base64 or as the upload_key of a staged upload) against a JSON Schema you supply. Returns a typed object and, for every field, a state (present, null, or missing), a calibrated confidence score, and an anchor (the source page and bounding box). The confidence is calibrated against published reliability curves (https://velrim.com/reliability), so a 0.9 means the field is right about 90% of the time on that document class — branch on it directly: act on a field at or above your accept threshold, escalate the fields below it and any that are missing. Use each field's anchor to check it against the source page.
可访问外部资源
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schema'], 'properties': {'hints': {'type': 'object', 'description': 'Discriminator hints for union schemas.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'schema': {'type': 'object', 'description': 'The JSON Schema (draft 2020-12) the extracted object must conform to (required).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'doc_class': {'type': 'string', 'maxLength': 128, 'description': 'Opaque tag (<=128 chars) echoed back in meta.doc_class.'}, 'upload_key': {'type': 'string', 'description': 'The upload_key of a staged Velrim upload. Mutually exclusive with document_base64.'}, 'document_base64': {'type': 'string', 'description': 'The document bytes, base64-encoded. Provide exactly one of document_base64 or upload_key.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'meta': {'type': 'object', 'required': ['model', 'tier', 'batched', 'calibrator_version', 'routing_policy_version', 'pages', 'billed_pages', 'request_id', 'warnings'], 'properties': {'tier': {'type': 'string', 'description': 'Routing tier, e.g. "default" | "resampled" | "verify".'}, 'model': {'type': 'string'}, 'pages': {'type': 'number'}, 'batched': {'type': 'boolean'}, 'warnings': {'type': 'array', 'items': {}}, 'doc_class': {'type': 'string'}, 'request_id': {'type': 'string'}, 'billed_pages': {'type': 'number'}, 'calibrator_version': {'type': 'string'}, 'routing_policy_version': {'type': 'string'}}, 'additionalProperties': {}}, 'error': {'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'request_id': {'type': 'string'}, 'top_up_url': {'type': 'string'}, 'retry_after': {'type': 'number'}}, 'additionalProperties': {}}, 'fields': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'object', 'required': ['state', 'reason'], 'properties': {'state': {'enum': ['present', 'null', 'missing'], 'type': 'string'}, 'value': {}, 'anchor': {'type': 'object', 'required': ['page', 'bbox', 'snippet', 'page_dims'], 'properties': {'bbox': {'type': 'array', 'items': [{'type': 'number'}, {'type': 'number'}, {'type': 'number'}, {'type': 'number'}], 'description': 'Corner rectangle [x0,y0,x1,y1] â\x80\x94 NOT [x,y,w,h].'}, 'page': {'type': 'number'}, 'snippet': {'type': 'string'}, 'page_dims': {'type': 'object', 'required': ['width', 'height'], 'properties': {'width': {'type': 'number'}, 'height': {'type': 'number'}}, 'additionalProperties': {}}}, 'additionalProperties': {}}, 'reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'conflict': {'type': 'boolean'}, 'confidence': {'type': 'number'}}, 'additionalProperties': {}}}}, 'additionalProperties': {}}
velrim_job_status
Poll an asynchronous extraction job by its job_id (from POST /v1/jobs on the Velrim API; velrim_extract itself is synchronous and never creates jobs). Returns the job status and, once complete, the same typed result as velrim_extract: per field a state (present, null, or missing), a calibrated confidence score, and an anchor (source page and bounding box). Confidence is calibrated against published reliability curves (https://velrim.com/reliability) — branch the same way: act on a field at or above your accept threshold, escalate the rest, and use each anchor to check a field against its source page.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'minLength': 1, 'description': 'The job_id returned by an asynchronous Velrim extraction job (created via the Velrim API or an SDK).'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'request_id': {'type': 'string'}, 'top_up_url': {'type': 'string'}, 'retry_after': {'type': 'number'}}, 'additionalProperties': {}}, 'job_id': {'type': 'string'}, 'result': {'type': 'object', 'required': ['data', 'fields', 'meta'], 'properties': {'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'meta': {'type': 'object', 'required': ['model', 'tier', 'batched', 'calibrator_version', 'routing_policy_version', 'pages', 'billed_pages', 'request_id', 'warnings'], 'properties': {'tier': {'type': 'string', 'description': 'Routing tier, e.g. "default" | "resampled" | "verify".'}, 'model': {'type': 'string'}, 'pages': {'type': 'number'}, 'batched': {'type': 'boolean'}, 'warnings': {'type': 'array', 'items': {}}, 'doc_class': {'type': 'string'}, 'request_id': {'type': 'string'}, 'billed_pages': {'type': 'number'}, 'calibrator_version': {'type': 'string'}, 'routing_policy_version': {'type': 'string'}}, 'additionalProperties': {}}, 'fields': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'object', 'required': ['state', 'reason'], 'properties': {'state': {'enum': ['present', 'null', 'missing'], 'type': 'string'}, 'value': {}, 'anchor': {'type': 'object', 'required': ['page', 'bbox', 'snippet', 'page_dims'], 'properties': {'bbox': {'type': 'array', 'items': [{'type': 'number'}, {'type': 'number'}, {'type': 'number'}, {'type': 'number'}], 'description': 'Corner rectangle [x0,y0,x1,y1] â\x80\x94 NOT [x,y,w,h].'}, 'page': {'type': 'number'}, 'snippet': {'type': 'string'}, 'page_dims': {'type': 'object', 'required': ['width', 'height'], 'properties': {'width': {'type': 'number'}, 'height': {'type': 'number'}}, 'additionalProperties': {}}}, 'additionalProperties': {}}, 'reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'conflict': {'type': 'boolean'}, 'confidence': {'type': 'number'}}, 'additionalProperties': {}}}}, 'additionalProperties': {}}, 'status': {'type': 'string', 'description': '"running" | "succeeded" | "failed" (additive-tolerant).'}}, 'additionalProperties': {}}
已添加
velrim_job_status
2026年9月17日 12:38
已添加
velrim_extract
2026年9月17日 12:38