RegBench MCP server

A stateless Model Context Protocol endpoint over Streamable HTTP at https://demo.regbench.ai/mcp. Deterministic read tools first; two write tools append to the ledger and say so in their annotations. No tool description instructs the model.

Connect

Claude Code

claude mcp add --transport http regbench https://demo.regbench.ai/mcp --header "X-RegBench-Key: rb_demo_bluebonnet"

Claude Desktop / claude.ai: Settings → Connectors → Add custom connector → URL https://demo.regbench.ai/mcp (needs a public URL, for example the Railway deployment).

curl

curl -s https://demo.regbench.ai/mcp -H "Content-Type: application/json" -H "X-RegBench-Key: rb_demo_bluebonnet" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Credentials (prototype): one API key per demo carrier: rb_demo_bluebonnet, rb_demo_summitrange, rb_demo_harborline. Without one, calls run as the Bluebonnet demo tenant. Production: OAuth 2.1 resource server with resource indicators and enterprise-managed authorization, so the carrier's identity provider decides which agents may call which tools.

Tools

ToolAccessWhat it does
regbench_check_transactionreadCheck a proposed AI-influenced decision (no record kept). Evaluates a proposed insurance decision against the rules in force in its state on its date and returns PASS, FLAG or HOLD with cited findings. Nothing is recorded; use it to test an action before taking it.
regbench_assess_transactionwriteAssess and record an AI-influenced decision. Evaluates a recorded insurance decision, stores the Regulatory Assessment, appends it to the carrier's hash-chained ledger and opens a review item when the disposition is FLAG or HOLD. Returns the assessment with its ledger position.
regbench_applicable_rulesreadList rules in force for a state, line and stage. Returns the deterministic rules that apply to a state, line of business and lifecycle stage on a date, with their authority layer, predicate, citations and effective dates.
regbench_get_provisionreadGet a provision from the corpus. Returns one legal provision by identifier: label, jurisdiction, effective window, excerpt, source URL, legal basis and verification status.
regbench_get_case_filereadGet the case file for a decision. Returns the Exhibit C style case file for a transaction: recorded facts, the latest assessment with cited findings, point-in-time stamps, review status and ledger position.
regbench_build_exam_packwriteBuild an exam pack for a period. Assembles an exam pack aligned to the NAIC AI Risk Evaluation Supplement exhibits for the caller's carrier over a period, records its hash on the ledger and returns a summary with the pack identifier.
regbench_verify_ledgerreadVerify the carrier's ledger. Recomputes the carrier's hash chain and reports whether every link holds, the number of entries and the head hash.
regbench_benchmarkreadCross-carrier benchmark. Returns hold and flag rates per thousand assessments by state and line across all carriers, publishing only cells with at least three contributing carriers and no dominant contributor.
regbench_resolve_insurerread externalLook up a licensed insurer. Searches the open insurers.global register for a licensed insurer by name and returns matching records with NAIC code, domicile and class, or an explanation if the register is unreachable.

Example messages

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-06-18",
    "capabilities": {},
    "clientInfo": {
      "name": "claims-agent",
      "version": "1.0"
    }
  }
}
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list"
}
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "regbench_applicable_rules",
    "arguments": {
      "state": "TX",
      "line_of_business": "auto",
      "stage": "claims",
      "as_of": "2026-10-30"
    }
  }
}
{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "regbench_check_transaction",
    "arguments": {
      "transaction": {
        "txn_id": "AGENT-CLM-0001",
        "tenant_id": "bluebonnet",
        "occurred_at": "2026-10-30T16:28:19.135938+00:00",
        "stage": "claims",
        "line_of_business": "auto",
        "jurisdiction": {
          "state": "TX"
        },
        "ai_system": {
          "system_id": "fnol-fraud",
          "model_version": "3.1",
          "vendor": "third_party",
          "vendor_name": "Sentinel Analytics (fictional)",
          "high_risk_class": "fraud"
        },
        "inputs": {
          "feature_classes": [
            "claims_history",
            "geography"
          ],
          "pii_token": "tok_agent_0001",
          "data_source_refs": [
            "vendor://sentinel/fnol"
          ]
        },
        "output": {
          "decision": "deny",
          "score": 0.91
        },
        "human_involvement": {
          "reviewed": false
        },
        "adverse_action": {
          "is_adverse": true,
          "reasons_provided": false
        }
      }
    }
  }
}

Why this is safe for a model-risk team