Check documents against rules taken from the law itself. Every finding cites the exact clause.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer vk_YOUR_KEY. Create a key at https://vera.ink/api-keys
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.
Check a durable pack-build job. Poll only while active=true. When stopped, use readiness_summary and present available_actions honestly; a usable budget pause offers use now or a separately approved finite continuation. Never restart merely because the AI client's execution window ended.
The job_id returned by start_pack_build
Check a durable pack-build job. Poll only while active=true. When stopped, use readiness_summary and present available_actions honestly; a usable budget pause offers use now or a separately approved finite continuation. Never restart merely because the AI client's execution window ended.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | The job_id returned by start_pack_build |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"format": "uuid",
"description": "The job_id returned by start_pack_build"
}
},
"additionalProperties": false
}Inspect readiness, source coverage and freshness before high-stakes use. Disclose incomplete or stale coverage. query_ready means usable, minimum_coverage_ready means every measured section has a rule, and fully_strengthened means every measured section is satisfied. fully_ready is legacy-compatible and is not a comprehensiveness claim.
| Argument | Type | Description |
|---|---|---|
| pack_id* | string | The Vera pack ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pack_id"
],
"properties": {
"pack_id": {
"type": "string",
"format": "uuid",
"description": "The Vera pack ID"
}
},
"additionalProperties": false
}Poll a run using poll_after_ms until terminal=true. Only call it clean when verdict=clean, coverage_complete=true, and result_consistent=true; otherwise follow next_action.
| Argument | Type | Description |
|---|---|---|
| run_id* | string | The run_id returned by verify_document |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"run_id"
],
"properties": {
"run_id": {
"type": "string",
"format": "uuid",
"description": "The run_id returned by verify_document"
}
},
"additionalProperties": false
}List owned and public packs. Select from available_packs and require readiness.query_ready=true. If none fits, do not guess a pack_id: propose a finite pack plan, ask the user to approve a credit ceiling, then use start_pack_build if approved.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Retrieve the best matching locked rules and exact evidence from a query-ready Vera pack. This costs credits. Preserve each verified quote and citation, distinguish them from your inference, and treat coverage=none as no answer.
| Argument | Type | Description |
|---|---|---|
| pack_id* | string | The Vera pack ID (from list_packs) |
| question* | string | The question to ask |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pack_id",
"question"
],
"properties": {
"pack_id": {
"type": "string",
"format": "uuid",
"description": "The Vera pack ID (from list_packs)"
},
"question": {
"type": "string",
"maxLength": 2000,
"minLength": 3,
"description": "The question to ask"
}
},
"additionalProperties": false
}Start a paid asynchronous pack build after the user explicitly approves max_credits. Supply exactly one of pack_id (an owned AI-buildable pack) or new_pack. The response returns immediately with job_id; poll get_pack_build_status only while active=true. max_credits is a hard ceiling, not a promised final charge. Reuse idempotency_key only for an exact retry.
| Argument | Type | Description |
|---|---|---|
| pack_id | string | An existing owned AI-buildable pack; mutually exclusive with new_pack |
| new_pack | object | A new Vera pack to create; mutually exclusive with pack_id |
| max_rounds | integer | Maximum strengthening rounds; normally 3 |
| max_credits* | integer | Hard credit ceiling explicitly approved by the user for this build job |
| idempotency_key* | string | Required retry key; reuse only for this exact build request |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"max_credits",
"idempotency_key"
],
"properties": {
"pack_id": {
"type": "string",
"format": "uuid",
"description": "An existing owned AI-buildable pack; mutually exclusive with new_pack"
},
"new_pack": {
"type": "object",
"required": [
"name",
"intention",
"mode"
],
"properties": {
"mode": {
"enum": [
"legal",
"procurement",
"compliance",
"financial",
"hr",
"academic",
"custom",
"code"
],
"type": "string"
},
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"intention": {
"type": "string",
"maxLength": 4000,
"minLength": 10,
"description": "The exact finite purpose and coverage the pack must provide"
},
"jurisdiction": {
"type": "string",
"maxLength": 120
}
},
"description": "A new Vera pack to create; mutually exclusive with pack_id",
"additionalProperties": false
},
"max_rounds": {
"type": "integer",
"default": 3,
"maximum": 5,
"minimum": 1,
"description": "Maximum strengthening rounds; normally 3"
},
"max_credits": {
"type": "integer",
"maximum": 5000,
"minimum": 3,
"description": "Hard credit ceiling explicitly approved by the user for this build job"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]+$",
"maxLength": 200,
"minLength": 8,
"description": "Required retry key; reuse only for this exact build request"
}
},
"additionalProperties": false
}Start a paid, asynchronous check against a query-ready pack. Use one unique idempotency_key and reuse it only for an exact retry. Omit mode to use the pack's mode. Poll get_verification_status until terminal=true.
| Argument | Type | Description |
|---|---|---|
| mode | string | Optional mode override; normally omit this |
| pack_id* | string | The Vera pack ID to verify against |
| document_text* | string | The full document text; whitespace does not count toward the minimum |
| idempotency_key* | string | Required retry key. Reuse only for this exact pack, document, and mode. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pack_id",
"document_text",
"idempotency_key"
],
"properties": {
"mode": {
"enum": [
"legal",
"procurement",
"compliance",
"financial",
"hr",
"academic",
"custom",
"code"
],
"type": "string",
"description": "Optional mode override; normally omit this"
},
"pack_id": {
"type": "string",
"format": "uuid",
"description": "The Vera pack ID to verify against"
},
"document_text": {
"type": "string",
"maxLength": 500000,
"description": "The full document text; whitespace does not count toward the minimum"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]+$",
"maxLength": 200,
"minLength": 8,
"description": "Required retry key. Reuse only for this exact pack, document, and mode."
}
},
"additionalProperties": false
}