CoverBureau

Pay-per-call compliance checking for US Certificates of Insurance. Send a certificate, get back a signed verdict you can verify yourself. Built for agents: it speaks MCP, charges per request in USDC, and needs no account.

CoverBureau reads an ACORD 25 certificate, checks it against the requirements you supply, and returns the result inside a cryptographically signed envelope. It is a compliance-checking service: it reports what a certificate says and whether it meets your requirements. It does not make, file, advise on, or publish insurance rates.

Calling it

The service is a remote MCP server. Send JSON-RPC 2.0 over HTTP POST to https://coverbureau.com/mcp. An unpaid call returns 402 with a payment challenge; pay it and retry the same request. This is the standard x402 flow, so any x402-capable client handles it for you.

POST https://coverbureau.com/mcp

{"jsonrpc":"2.0","id":1,"method":"tools/call",
 "params":{
   "name":"check_carrier",
   "arguments":{
     "carrierName":"Federal Insurance Company",
     "state":"NY"
   }
 }}

Without payment that returns 402 and a challenge naming the price, the asset, and the recipient:

{"x402Version":2,
 "accepts":[{
   "scheme":"exact",
   "network":"eip155:8453",
   "amount":"10000",
   "asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
   "extra":{"name":"USD Coin","version":"2"}
 }]}

Settlement is USDC on Base mainnet. There is no signup, no API key, and no minimum: an agent that can pay can call.

Tools

Which one to call. extract_coi gives you the fields and no judgment — use it when you will apply your own rules. validate_coi reads the certificate and judges it against requirements you supply; it extracts as part of its work, so calling both on one document pays for the same read twice. check_carrier needs no document at all — use it when you have a carrier but no certificate, since validate_coi already checks the carrier when you do. A fourth tool, screen_coi_plausibility, is specced but not built: validate_coi judges a certificate against your requirements, while that one would screen it against market reality — neither subsumes the other.

extract_coi $0.02 / call

Reads a certificate into structured data. Extraction only, no validation — for callers that just want the fields: insured, producer, carriers, policy numbers, coverage limits, effective and expiration dates, and the description of operations. Use it when you will apply your own rules; for a verdict against requirements you supply, use validate_coi instead.

validate_coi $0.075 / call

Reads a certificate and judges it against your requirement profile, check by check. Every failure states what was required, what the certificate showed, and why it fails: enough to write the request for a corrected certificate without opening the PDF.

  • Every required coverage present and in force on the date you specify (default today), with policies expiring inside your notice window flagged before they lapse
  • Limits at or above your minimums: each occurrence, general aggregate, products and completed operations, combined single limit, employers liability
  • General liability written on an occurrence basis rather than claims-made
  • Additional insured and waiver of subrogation, with the evidence source recorded: the ADDL INSR / SUBR WVD column, or endorsement wording in the Description of Operations (CG 20 10, CG 20 37, CG 24 04)
  • Named insured matches the entity you contracted with; certificate holder matches yours
  • Each carrier looked up by NAIC number or name against a curated dataset, with its financial-strength rating compared to your threshold. Carriers outside the dataset come back as review rather than a guessed pass, and every response reports the dataset's status.
  • ACORD edition checked, older editions flagged

Anything the service cannot read cleanly comes back as review rather than a guessed pass: a blank limit, an illegible scan, a coverage row pointing at an insurer letter the certificate never lists. Review is a verdict, not an error. The overall result carries a risk score computed from fixed weights, not a model's opinion, and the whole verdict is signed. The verdict also records the evaluation date it used, so an as-of result cannot be mistaken for “valid today”.

Use extract_coi instead if you only want the fields without a verdict. Use check_carrier only when you have no certificate — as the carrier bullet above shows, this tool already checks the carrier when your profile sets a carrier requirement.

check_carrier $0.01 / call

Given an NAIC number or carrier name plus a US state, returns recognition status, financial-strength rating, and whether the carrier meets a minimum rating threshold. It needs no document. Use it when you have a carrier but no certificate — vetting an insurer named in an email, or before requesting a COI. If you do have a certificate, validate_coi already checks the carrier, so calling both pays twice for the same lookup.

Verifying a response signature

Every response comes back inside a signed envelope: the payload, an Ed25519 signature over the canonical JSON of that payload, the key id, and an issued-at timestamp. Fetch the public key and check the signature yourself — verification needs neither trust in CoverBureau nor a second call.

A signed verdict is a durable artifact. If a compliance decision is ever questioned, the envelope shows exactly what was returned, for which document, and when — verifiable by anyone holding the public key, including someone who does not trust us.

What to know before relying on it

For agents

A machine-readable summary of this service is published at /llms.txt.