Document extraction against a JSON Schema with a calibrated confidence per field; async job status.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <Velrim API key> (create one at velrim.com/dashboard)
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
The JSON Schema (draft 2020-12) the extracted object must conform to (required).
Discriminator hints for union schemas.
Opaque tag (<=128 chars) echoed back in meta.doc_class.
The upload_key of a staged Velrim upload. Mutually exclusive with document_base64.
The document bytes, base64-encoded. Provide exactly one of document_base64 or upload_key.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| hints | object | Discriminator hints for union schemas. |
| schema* | object | The JSON Schema (draft 2020-12) the extracted object must conform to (required). |
| doc_class | string | Opaque tag (<=128 chars) echoed back in meta.doc_class. |
| upload_key | string | The upload_key of a staged Velrim upload. Mutually exclusive with document_base64. |
| document_base64 | string | The document bytes, base64-encoded. Provide exactly one of document_base64 or upload_key. |
{
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | 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#",
"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)."
}
}
}