OpenRater

OpenRater

Enables AI agents to transcribe insurance rate filings into executable rating engines with full citation tracking, supporting validation, review, and quote generation through MCP tools.

Category
Visit Server

README

OpenRater

Turn a rate filing into a working rating engine — with a citation for every number.

Insurance prices are defined by rating manuals: hundreds of pages of factor tables, classification rules, territory definitions, and a rating order, filed as PDFs. OpenRater makes them executable. An AI (Claude, or any MCP-capable agent) transcribes the document into a spec'd Excel workbook; OpenRater's deterministic compiler validates it and builds an executable plan; analytics let you walk any risk through the algorithm step by step; then serve it as a quote API or re-rate a whole book from CSV.

The AI is a transcriber, never a calculator. Nothing probabilistic executes at rating time. The platform itself never calls an AI — your agent calls the platform.

filing PDF ──(AI transcribes, following the spec)──▶ workbook (.xlsx, cited, reviewable in Excel)
            ──(deterministic check + build, zero AI)──▶ executable plan + build report
            ──(analytics: walk a risk, rate cards, gates)──▶ understanding
            ──(quote API / batch CSV re-rate)──▶ production use

Why trust it

  • Every number has a citation. The build report carries page-level provenance for every factor; re-ingesting a revised workbook shows a cell-grain diff before anything is applied.
  • The filing's own worked examples become acceptance tests. The workbook's test_cases sheet pins correctness against the source document, not against our opinion.
  • Refuse, never improvise. An input the plan can't rate is a structured, visible error — never a silent neutral factor, never a plausible-but-wrong premium. Unsupported constructs are recorded in a gaps_and_assumptions sheet, not approximated.
  • A human reviewer has a natural seat. The workbook in the middle of the pipeline is an ordinary Excel file an actuary can open, audit, and correct.

Three ways to use it

You are You use You get
An actuary (no terminal required) Claude Desktop + the OpenRater extension (a one-file .mcpb) The full loop in chat: transcribe → validate → build → review → quote → re-rate, with the review UI one click away
A technical actuary / engineer Claude Code (or any MCP client) + @openrater/mcp The same loop, scriptable — see AGENTS.md
An integrator This repo, self-hosted The REST API, the scoring engine, the integration-events ledger — headless

Build the Desktop extension locally with packaging/desktop/build-mcpb.sh. The release workflow produces platform-specific artifacts; macOS artifacts are signed and notarized before release. See the release test and signing runbook.

Quickstart (development)

Prerequisites: Node ≥ 20 + pnpm ≥ 9, Python ≥ 3.12 + uv.

pnpm install
uv sync --project server

pnpm dev   # server :8001 · scoring engine · web app (Vite)

The Desktop extension and the Docker deploy come pre-seeded with a fully synthetic demo program — Meridian Mutual Insurance, Shopfront BOP (see docs/fixtures/) — so you can quote a risk and walk its trace immediately. In the dev flow, load it with:

python3 scripts/plan_fixture.py load meridian-shopfront-bop-ne-2026 \
  docs/fixtures/meridian-shopfront-bop-ne-2026.plan.json \
  --db ~/.openrater/openrater.db

To drive the loop from an agent:

claude mcp add openrater -- npx tsx services/mcp/src/main.ts

Self-hosting: deploy/ has a Docker Compose kit (SQLite on a host volume, optional Litestream backup, optional Cloudflare tunnel) — copy deploy/.env.example and run docker compose -f deploy/docker-compose.yml --env-file deploy/.env up -d --build.

What's in the box

frontend/            the web app (Rate Lab authoring + analytics, Exhibits, Integrations)
server/              FastAPI service: plans, ingestion, quotes, integration events
services/scoring/    the ONE deterministic rating engine (TypeScript)
services/mcp/        @openrater/mcp — 16 tools exposing the loop to any MCP client
skills/              the transcription skill (the agent runbook for filings)
packaging/desktop/   the Claude Desktop extension (.mcpb) build
docs/specs/          the contracts: filing-transcription spec, plan format, engine
                     contract, integration contract, capability registry, conformance
docs/fixtures/       synthetic seed content + FIXTURE_PROVENANCE.md
deploy/              Docker Compose kit

The spec set is the heart of the project: the filing-transcription spec defines the workbook any AI transcribes into, and the capability registry declares — machine-readably — what the platform can and cannot express, so agents record gaps instead of approximating.

Status

The full loop — filing PDF → transcribed workbook → validated build → cited build report → quote with trace → book re-rate — runs today, in the browser, over MCP, and from the packaged Desktop extension. Transcription profiles cover Businessowners (BOP) and General Liability; see LIMITATIONS.md for the supported boundary. OpenRater is still in the 0.x series, so interfaces may change between releases.

Content policy (please read before contributing)

This repository ships only synthetic rating content. Every bundled fixture is invented and traceable to a committed generator — see docs/fixtures/FIXTURE_PROVENANCE.md. Bureau-derived material (ISO/Verisk, AAIS, NCCI) and carriers' filed rate content are not accepted, in any form — see CONTRIBUTING.md. You bring the documents you are entitled to use; OpenRater never fetches filings for you, and SERFF automation is out of scope by design.

Disclaimer. OpenRater outputs are reconstructions for analysis. The carrier's filed and approved rates govern; verify results against the source document (the test_cases sheet exists for exactly this). OpenRater is an independent project with no affiliation to NAIC, SERFF, ISO/Verisk, AAIS, NCCI, or any insurer.

Privacy Policy

OpenRater is local-first: your filings, workbooks, and rate plans stay on your machine, the engine binds to 127.0.0.1 only, and the app collects no telemetry. The full policy — data collection, usage and storage, third-party sharing, retention, and contact — is docs/PRIVACY.md.

License

Apache-2.0 — see LICENSE and NOTICE. Contributions are accepted under the Developer Certificate of Origin.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured