MCP Server

vera.ink

ink.vera/vera
Legal & Compliance Public & reachable MCP 2025-11-25

What this MCP does

Checks documents against rule packs derived from legal or other authoritative sources and returns cited findings and verification results.

get_pack_build_status
Check a Vera 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.
Read only Open world Idempotent
Input schema
{'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}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': True}
get_pack_coverage
Get a Vera pack's coverage
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.
Read only Open world Idempotent
Input schema
{'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}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': True}
get_verification_status
Check a Vera verification run
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.
Read only Open world Idempotent
Input schema
{'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}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': True}
list_packs
List available Vera packs
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': True}
query_pack
Query a Vera pack
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.
Open world
Input schema
{'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}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': True}
start_pack_build
Start or continue a Vera pack build
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.
Open world Idempotent
Input schema
{'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}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': True}
verify_document
Verify a document against a Vera pack
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.
Open world Idempotent
Input schema
{'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}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': True}
Added
get_pack_build_status
Sept. 30, 2026, 2:40 a.m.
Added
start_pack_build
Sept. 30, 2026, 2:40 a.m.
Added
get_pack_coverage
Sept. 30, 2026, 2:40 a.m.
Added
list_packs
Sept. 30, 2026, 2:40 a.m.
Added
get_verification_status
Sept. 30, 2026, 2:40 a.m.
Added
verify_document
Sept. 30, 2026, 2:40 a.m.
Added
query_pack
Sept. 30, 2026, 2:40 a.m.