open source · source-cited · Belgium first

Insurance products,
as open data.

market record · be · 2026-07-08
agent sessionget_coverage
get_coverage(country="be", insurer="axa", product="Confort Habitation Flex", topic="responsabilité civile immeuble")
{
"coverage": "La responsabilité civile immeuble",
"limit": "à maximum 30.935.930 EUR",
"page": 17,
"source_url": "cdn.website.axa.be/…"
}

La responsabilité civile immeuble

à maximum 30.935.930 EUR

AXA Belgium
Confort Habitation FlexAXA Belgiump. 17 → PDF

Cited to the page

Every extracted fact carries its page in the insurer's own PDF.

Open, machine-readable

One open knowledge base — browse it as a wiki, clone it as data.

Any agent plugs in

10 read-only MCP tools — keyless, offline, deterministic.

24insurers269documents17branches1,771verbatim quotes
Computed from the dataset at build · latest fetch 2026-07-08
Athora BelgiumBelfius Direct AssurancesDKV BelgiumEthiasACM BelgiumHiscox SAAXA BelgiumAMMA AssurancesKBC Bank & VerzekeringFédérale AssuranceTouringActelArgenta AssurancesD.A.S.ERGO Insurance SA/NVAG InsuranceBNP Paribas CardifBaloise BelgiumBelfius InsuranceDVV AssurancesNN Insurance BelgiumP&V AssurancesViviumYuzzu

How it works.From public PDF to cited answer.

01

The pipeline freezes the source.

the public PDF

discover.py

download.py

cdn.website.axa.be

50 p. · éd. 10.2024

sha256 44aacb29

extract.pystructure the document

the only step that calls an LLMSYSTEM_PROMPT.md v1.1

the recordclaude-code-subagent:scale

definitions64
coverages44
exclusions64
obligations8
key_quotes10
gaps4

gaps declared, not hidden

verify_grounding.py · build_wiki.py

build_index.py · validate.py

the wiki page

Confort Habitation Flexp. 5 → PDF
  • Seven committed scripts, one make all — resumable and idempotent.
  • extract.py is the only step that calls an LLM; the exact prompt is a file in the repo.
  • A rebuild is a zero diff: every output regenerable from committed inputs.

02

Every fact is cited to the page.

Confort Habitation Flex
AXA Belgium · CG · éd. 10.2024 · 50 p.
CoverageLimitSource
Le heurtà maximum 8.300 EUR par sinistrep. 11
Dépannage Cosy@homemaximum 200 EUR par anp. 10
cdn.website.axa.bep. 17 → PDF
  • Each page carries its source PDF, edition and page numbers.
  • 1,824 quotes verified character-for-character against the source PDFs.
  • Gaps are labeled, not hidden — a project rule, not a slogan.

03

Any agent plugs in.

$ git clone github.com/sluyasu/OpenInsurance
the record, local
data/be/269structured documents
wiki/be/321cited wiki pages
mcp/10read-only MCP tools
any agent reads it
  • The whole record travels as a git clone — the MCP server reads it straight from disk.
  • Claude, ChatGPT, Cursor or your own loop: same query, same cited answer.
  • No key, no account, no hosting — the data itself is the interface.

What an agent does with itonce the record is plugged in

Three real sessions, recorded against the MCP server and replayed here — not a live agent. Every tool call and every server response below is verbatim.

question

Quels assureurs belges du registre proposent une assurance vélo, et laquelle couvre le vol ? Réponse courte, avec les pages citées.

tool calls

Assureurs proposant une assurance vélo (registre BE, branche « velo »)

Cinq assureurs du registre proposent une assurance vélo — et tous couvrent le vol (garantie de base ou tous risques) :

AssureurProduitGarantie VolPage
ACM BelgiumACM Insurance Assurance Vélo (CG, éd. 04/2025)Vol + tentative de vol, monde entier ≤ 3 moisp. 10
EthiasAssurance Bike & More (CG, éd. 03/25)Garantie « Le Vol » (optionnelle), monde entierp. 6
Belfius DirectAssurance Vélo (CG, éd. 08/12/2025)Formule tous risques incluant le vol, monde entierp. 7 et 11
AXA BelgiumConfort vélo+ (CG, éd. 12.2023)Garantie « Le vol », Belgique + monde ≤ 2 moisp. 5
KBCPolice pour votre vélo (CG)Couverture tous risques incluant le vol, monde entierp. 2

Réponse courte : les cinq couvrent le vol. Ce n'est donc pas une exclusivité — la différence tient aux conditions (type de cadenas agréé exigé, déclaration à la police dans les 24 h, franchise, sort de la batterie/accessoires souvent exclus).

À noter : chez AXA, le vol de nuit (22 h–6 h) à Bruxelles ou Anvers est exclu si le vélo n'est pas dans un local fermé (p. 6). Franchise vol renforcée (200 €) pour les codes postaux 1000–1299 chez ACM et Ethias.

Sources (PDF officiels) : ACM 20250322_FR_CG_VELO_ACM_INSURANCE.pdf · Ethias cg-bikeandmore-fr.pdf · Belfius Direct cg-velo.pdf · AXA Confort Velo + - 20231211.pdf · KBC kbc-police-pour-votre-velo-conditions-generales.pdf. Extractions à vérifier contre les documents source.

8 calls · 36.4 s · 10 turns

Recorded 2026-07-29 · Claude Code (headless) · claude-opus-4-8 · server openinsurance-wiki-mcp

plug your own agent in

Real sessions recorded against the MCP server on the Belgian dataset. The calls and the responses are the server's own; only the client's internal tool-discovery steps are left out.

10 read-only tools.No key, no server, no quota.

One MCP server, many clients: Claude, ChatGPT, Cursor, your own agent — a few lines of config instead of a bespoke integration.

plug it in

mcp.json
{
  "mcpServers": {
    "insurance-wiki": {
      "command": "uvx",
      "args": ["openinsurance-wiki-mcp"],
      "env": {
        "INSURANCE_WIKI_REPO": "/path/to/OpenInsurance"
      }
    }
  }
}

measured 0.01–3.9 ms warm on the Belgian dataset

v0.2.0 on PyPI · MCP registry: io.github.sluyasu/openinsurance-wiki

the tools, as defined in the code

  • list_countries

    List countries covered: product/insurer/regulation counts, how many branches have at least one…

  • list_branches

    List insurance branches for a country with their labels, mandatory flag and product counts.

  • search

    Search wiki pages by title/branch/insurer and page content.

  • get_page

    Return the full text of one knowledge page by its repo-relative path (from search results).

  • get_product

    Return a product's structured data (coverages, exclusions, deductibles, etc.) as JSON, plus…

  • get_coverage

    Compact, question-oriented view of ONE product: only the coverages and exclusions relevant to…

  • verify_claim

    Verbatim evidence check for ONE factual claim about a product…

  • compare_products

    Compare 2+ products side by side on one dimension: coverages | exclusions | deductibles.

  • find_overlap

    Flag CANDIDATE duplicate cover when combining 2+ products…

  • get_branch_overview

    Return the hand-authored overview page for a branch (by slug or label).

Browse by branch.Every line of business on the belt.

The perils people actually insure — each card opens that branch in the wiki, real clause in hand.

Open the wiki
01

Auto

49 docs · 17 insurers

« Omnium – Tous risques »

NN Insurance Belgium

02

Habitation

38 docs · 17 insurers

« Les catastrophes naturelles »

P&V Assurances

03

Santé

36 docs · 7 insurers

« Garantie Hospitalisation »

AMMA Assurances

04

Vie privée

28 docs · 15 insurers

« Responsabilité civile vie privée »

KBC Bank & Verzekering

05

Épargne / Placement (Branche 21/23)

28 docs · 2 insurers

« Prestation en cas de vie au terme du contrat »

Athora Belgium

06

Voyage

21 docs · 6 insurers

« Retour anticipé »

Touring

07

RC professionnelle

15 docs · 2 insurers

« Responsabilité Civile Professionnelle »

Hiscox SA

08

Autres

13 docs · 6 insurers

« Dépannage (Formule Belgique) »

Touring

09

Protection juridique

12 docs · 3 insurers

« Prévention et information juridique »

AXA Belgium

10

Vélo

10 docs · 5 insurers

« Vol »

ACM Belgium

11

Accidents

7 docs · 5 insurers

« Garantie de base — Incapacité permanente »

AXA Belgium

12

Pension (Branche 21)

4 docs · 1 insurers

« Pension complémentaire (retraite et décès) »

Athora Belgium

13

Animaux

2 docs · 1 insurers

« Frais vétérinaires (garantie de base) »

Belfius Direct Assurances

14

Obsèques

2 docs · 1 insurers

« Rapatriement en cas de décès à l'étranger »

Belfius Direct Assurances

15

Cyber

2 docs · 1 insurers

« Violation de données personnelles (First Party) »

Hiscox SA

16

Navigation

1 docs · 1 insurers

« Protection du bateau - Pertes et avaries »

AXA Belgium

17

Chasse

1 docs · 1 insurers

« Responsabilité civile du chasseur – tireur »

AMMA Assurances

All 17 branches, on file.

Drag to scan · hover to hold

Straight from the fine print.

1,824 clauses quoted verbatim, checked character-for-character against the source PDFs — a few of them drift by below, each sealed to its page. Hover to hold one.

« La limite d'indemnisation pour les dommages matériels s'élève à 100 millions d'euros par sinistre. »

DVV Assurancesp. 12

« La compagnie indemnise le bris des fenêtres avant, latérales, arrière ou incorporées dans la toiture du véhicule assuré. »

Viviump. 33

« les dommages ayant atteint le délai de prescription de 3 ans fixé par la loi relative aux assurances ; »

Belfius Insurancep. 19

« Sont garantis, sans franchise, les dommages au véhicule assuré résultant d'un incendie, quelle qu'en soit la cause. »

Fédérale Assurancep. 32

« Self Life est un contrat d’assurance vie à versements planifiés souscrit entre le preneur d’assurance et la compagnie. »

Athora Belgiump. 2

« Nous ne payons pas le capital décès quand l’assuré décède dans les conditions suivantes : »

BNP Paribas Cardifp. 8

« Une fois cette période de garantie écoulée, nous appliquons un amortissement contractuel de 1% par mois entamé. »

KBC Bank & Verzekeringp. 3

« Tout événement connu lors de la souscription du contrat d’assurance ou au moment de la réservation du voyage ; »

Touringp. 18

« Le délai de prescription légal de toute action judiciaire résultant d'un contrat d'assurance est de trois ans. »

Argenta Assurancesp. 20

« Nous couvrons, après déduction de la franchise de 2 % de la valeur assurée, les pertes et avaries subies par le »

AXA Belgiump. 5

« L'intervention de l'assureur au titre de la garantie « accident » est plafonnée à € 10.000 par cas d'assurance. »

DKV Belgiump. 5

« L’assuré bénéficie de toutes les garanties de base, sauf stipulations contraires aux conditions particulières. »

AMMA Assurancesp. 9

« survenant lors d’événements de guerre, de violations de neutralité, de révolutions, de rébellions et de révoltes »

Vaudoise Assurancesp. 18

« Le délai de prescription de toute action dérivant du contrat d’assurance est de trois ans. »

D.A.S.p. 3

« Nous garantissons la responsabilité civile extra-contractuelle des assurés dans le cadre de leur vie privée. »

Ethiasp. 6

« Hiscox SA distribue ses produits par l’intermédiaire d’un groupe sélectionné d’intermédiaires en assurance. »

Hiscox SAp. 1

« Il s’agit d’une assurance optionnelle qui ne s’applique que lorsque indiqué dans les conditions particulières. »

NN Insurance Belgiump. 8

« Aucune indemnité n'est versée pour les 30 premiers jours d'incapacité temporaire à compter du jour de l'accident. »

P&V Assurancesp. 41

A public good,not a product pitch.

OpenInsurance turns the public documents of an insurance market — general conditions, IPID sheets — into a cited, cross-linked knowledge base: products, insurers, branches, regulations, concepts.

The whole chain lives in one open repo: sources, prompts, pipeline, data, wiki. Every input is committed, every output is regenerable. No hidden datasets.

It exists because there was no neutral, machine-readable map of what actually exists in a national insurance market. This one is built as a public good.

What it refuses to be

Not a comparator.

It never ranks, scores, or recommends. Neutral, factual, side by side at most.

Not advice.

Information only. Personalised insurance advice is a licensed activity — this project deliberately stays out of it.

Not a chatbot.

A knowledge layer built to serve many interfaces, not one conversation box.

Not a RAG black box.

Retrieval is deterministic matching over reviewed, committed files. Same query, same documents — you can diff it in a PR.

Not the official documents.

Faithful extractions that may contain errors — always verify against the cited source PDF.

Questions, answered plainly

01Is this insurance advice?

No. OpenInsurance provides information, not personalised insurance advice — advising is a licensed activity (FSMA in Belgium). The project never recommends, ranks or scores insurers, by design.

02Can I trust what a page says?

Every fact traces to its source PDF, page numbers included, and 1,824 quoted pieces of evidence are verified character-for-character against those PDFs at build. Pages remain faithful extractions, not the insurers' official documents — the cited source is always one click away.

03How complete is the dataset?

Belgium is the reference dataset — 24 insurers and 269 documents ingested, out of ~630 enumerated in the public backlog. Switzerland is started. Gaps are labeled, not hidden: that's a project rule.

04Why an MCP server, not a chatbot, a RAG stack or a REST API?

A chatbot is a single interface; a knowledge base should serve many. RAG adds an embedding index you cannot diff or review; retrieval here is deterministic matching over committed files. And a REST API means a server running 24/7 for a dataset that changes a few times a year — MCP gives the same programmatic access at the cost of a local process.

05Can I point it at my own country?

Yes — the taxonomy is data, not code. Adding a country is a documented recipe (_meta/BOOTSTRAP-COUNTRY.md): census from the regulator's registers, per-insurer discovery, then the same pipeline end to end.

What a cited fact looks like — straight from the dataset:

« Nous limitons notre intervention aux montants assurés et en tout état de cause à maximum 2.049.863,02 EUR. »

Confort Habitation Flex — AXA Belgium · CG 4185784-20241001 · éd. 10.2024 · p. 16
OpenInsurance

An open, source-cited, machine-readable knowledge base of a country's insurance products.

Every number on this page is computed from the dataset at build time.

Project

Licences

  • Code — MIT
  • Content — CC-BY-4.0
  • Quoted excerpts from insurers' documents remain the property of their publishers.

Information, not personalised insurance advice.