Foresee
offiziellForesee ermöglicht KI-Assistenten, Haus- und Kfz-Versicherungen über alle Anbieter und Deckungsoptionen hinweg zu vergleichen, indem es sofortige, genaue und detaillierte Angebotsschätzungen liefert.
Was kann man mit Foresee MCP machen?
-
Vergleichen Sie Angebote für Haus- und Autoversicherungen — Fordern Sie in einem einzigen Anruf über
quote_insurancesofortige, aufgeschlüsselte Kostenvoranschläge von mehreren Anbietern und Deckungsoptionen an. -
Erhalten Sie Live-Bestätigungen von Versicherern — Verlangen Sie mit Einwilligung eine Echtzeit-Angebotsprüfung direkt von den Websites der Versicherer über
live_carrier_quotes. -
Autoversicherung mit bestimmten Deckungssummen bepreisen — Geben Sie Personenschäden, Sachschäden und Selbstbeteiligungen an (z. B.
bi,coll_deductible), um aufgeschlüsselte monatliche Kosten pro Anbieter zu sehen. -
Hausrat- oder Mieterversicherungen schätzen — Geben Sie Immobiliendetails und Deckungssummen an (z. B.
coverage_a,deductible), um Preise für Gebäude, Haftpflicht und persönliches Eigentum zu erhalten. -
Fehlende Fakten identifizieren, die Preise beeinflussen — Fragen Sie, welche ausgelassenen Profilfelder (z. B.
annual_mileage,prior_insurance) die Angebote am stärksten beeinflussen, übertighten_byundassumptionsin den Antworten.
Gehosteter MCP-Server
npx add-mcp 'https://agents.go-foresee.com/mcp'Installiert in Claude Code, Codex, Cursor und mehr
Dokumentation
Docs
Für KI-Agenten: Das Seitenverzeichnis finden Sie unter /llms.txt und den vollständigen Text unter /llms-full.txt.
Foresee ermöglicht KI-Assistenten den Vergleich von Auto- und Hausratversicherungen über alle Anbieter und Deckungsoptionen hinweg, indem es sofortige, genaue und detaillierte Angebotsschätzungen liefert.
Verwendung von Foresee
Foresee hostet zwei MCP-Server:
Benutzer, die eine einfache, unkomplizierte Angebotsschätzung wünschen, ohne ihre persönlichen Daten preiszugeben, verwenden:
https://mcp.go-foresee.com/mcp
Benutzer, die Angebotsschätzungen auch direkt bei den Versicherern bestätigen möchten, können Foresees Computer-Use-Agenten über Folgendes einsetzen:
https://agents.go-foresee.com/mcp
Keiner der Server erfordert eine Authentifizierung.
Tools
Foresee veröffentlicht zwei Tools auf den MCP-Servern:
| Tool | Zweck | agents. | mcp. |
|---|---|---|---|
quote_insurance | Sofortige, genaue und detaillierte Angebotsschätzungen generieren | ✅ | ✅ |
live_carrier_quotes | Angebotsschätzungen bei Versicherern bestätigen | ✅ | ❌ |
Tool 1: quote_insurance
Zweck: Generieren Sie sofortige, aufgeschlüsselte Angebotsschätzungen von den von Foresee unterstützten Versicherern, über die Sparten und Bundesstaaten, die Foresee derzeit bedient, in einem einzigen Aufruf.
Eingabeparameter
| Parameter | Typ | Erforderlich | Details |
|---|---|---|---|
profile | Objekt | ja | siehe Profil |
lines | Objekt | ja | Schlüssel sind die zu bewertenden Sparten (auto, home, renters); Werte sind die Deckungsoptionen dieser Sparte (siehe Deckungsoptionen) |
carriers | string[] | nein | Standardmäßig "alle Versicherer" |
include_failures | boolean | nein | true |
Profil
Kernprofil
Es gibt eine Kern-Eingabe profile sowie zusätzliche Blöcke für Auto- und Hausrat-/Mieterversicherung.
Die einzigen Pflichtfelder sind Alter (oder dob), PLZ und (für die Kfz-Versicherung) Fahrzeugdetails.
Ausgelassene optionale Felder werden zu deklarierten Annahmen: Wir wählen einen konservativen Ersatzwert, der als assumptions zurückgemeldet wird – z. B. auto.vehicles[].annual_mileage = 12000, mit einem tighten_by-Eintrag, der die Annahmen auflistet, die den Preis am stärksten beeinflussen würden. prior_insurance bedeutet Versicherung für dieselbe Sparte; companion_policies bedeutet Versicherung für eine andere Sparte.
| Feld | Typ | Erforderlich |
|---|---|---|
zip_code | string | ja |
age | integer | ja |
dob | string, YYYY-MM-DD | akzeptierte Alternative zu age |
city | string | nein |
gender | string | nein |
marital_status | string | nein |
education | string | nein |
employment_status | string | nein |
occupation | string | nein |
credit_range | string | nein |
home_ownership_status | string | nein |
residence_type | string | nein |
military_affiliation | string | nein |
memberships | string[] | nein |
effective_date | string | nein |
prior_insurance | Objekt | nein |
companion_policies | Objekt[] — {line, carrier} | nein |
companion_policies listet Policen auf, die der Haushalt bereits besitzt, jeweils mit dem Versicherer, der sie ausstellt — {"line": "home", "carrier": "State Farm"}. Ein Mehrfachpolicen-Rabatt eines Versicherers gilt nur für eine Police, die er ausstellt. Eine bestehende Police ohne Versicherer erhält daher keinen Rabatt, und das Angebot fragt den Versicherer unter tighten_by ab.
Kfz-Versicherungsprofil
| Feld | Typ | Erforderlich |
|---|---|---|
auto.vehicles[].year | integer | ja |
auto.vehicles[].make | string | ja |
auto.vehicles[].model | string | ja |
auto.vehicles[].ownership | string | nein |
auto.vehicles[].annual_mileage | integer | nein |
auto.vehicles[].primary_use | string | nein |
auto.vehicles[].garaging_zip | string | nein |
auto.drivers[].relation | string | nein (self für den ersten) |
auto.drivers[].dob | string | nein |
auto.drivers[].years_licensed | integer | nein |
auto.drivers[].accidents | Objekt[] | nein |
auto.drivers[].violations | Objekt[] | nein |
auto.drivers[].sr22_required | boolean | nein |
accidents und violations sind Listen datierter Einträge — {"on": "2025-01", "kind": "speeding"}, {"on": "2023-06-15", "at_fault": true} — wobei eine leere Liste für eine saubere Akte steht. Ein Eintrag ohne on (oder ein Verstoß ohne kind) wird abgelehnt, wobei sein Pfad genannt wird.
Haus- und Mieterversicherungsprofil
| Feld | Typ | Erforderlich |
|---|---|---|
property.year_built | integer | nein |
property.construction_type | string | nein |
property.roof_type | string | nein |
property.square_feet | integer | nein |
property.protection_class | string | nein |
property.replacement_cost | integer | nein |
property.devices | string[] | nein |
property.losses | Objekt[] | nein |
Deckungsoptionen
Jeder Schlüssel in lines akzeptiert die Deckungsoptionen dieser Sparte. Es wird nichts zu einem Server-Standardwert bewertet: Die von Ihnen übergebenen Optionen sind diejenigen, die bewertet werden.
Auto
| Option | Typ | Erforderlich | Was sie abdeckt |
|---|---|---|---|
bi | string | ja | Personenschaden-Haftpflicht: Verletzungen, die Sie anderen Personen zufügen. Limit pro Person/pro Unfall in Tausend $, z. B. "100/300" |
pd | integer | ja | Sachschaden-Haftpflicht: Schäden, die Sie an Autos und Eigentum anderer verursachen. Limit in Tausend $, z. B. 100 |
coll_deductible | integer | ja | Kollision: Schäden an Ihrem eigenen Auto durch einen Unfall, unabhängig vom Verschulden. Der Selbstbehalt, den Sie pro Schadensfall zahlen, in Dollar |
comp_deductible | integer | ja | Vollkasko: Schäden an Ihrem eigenen Auto durch alles andere als einen Unfall – Diebstahl, Feuer, Hagel, Vandalismus, Tierkollision. Der Selbstbehalt, den Sie pro Schadensfall zahlen, in Dollar |
um | string | nein | Unter-/Nichtversicherter Unfallverursacher: Ihre Verletzungen, wenn der Unfallverursacher keine oder zu wenig Versicherung hat. Limit pro Person/pro Unfall in Tausend $, z. B. "100/300" |
medpay | integer | nein | Krankheitskosten: Arztrechnungen für Sie und Ihre Mitfahrer, unabhängig vom Verschulden. Limit in Dollar, z. B. 5000 |
Haus
| Option | Typ | Erforderlich | Was sie abdeckt |
|---|---|---|---|
coverage_a | integer | ja | Wohngebäude: Wiederaufbau des Hauses selbst. Limit in Dollar, in der Regel der Wiederbeschaffungswert |
coverage_e | integer | ja | Privathaftpflicht: Verletzungen oder Schäden, für die Sie rechtlich haften, auf oder außerhalb des Grundstücks. Limit in Dollar |
coverage_f | integer | ja | Krankheitskosten für andere: Arztrechnungen eines Gastes nach einer Verletzung auf Ihrem Grundstück, unabhängig vom Verschulden. Limit in Dollar |
aop_deductible | integer | ja | Selbstbehalt für alle anderen Gefahren: Was Sie pro Schadensfall für alles außer Gefahren mit eigenem Selbstbehalt (z. B. Erdbeben) zahlen. In Dollar |
Die Deckungen B (andere Gebäude, z. B. eine freistehende Garage oder ein Zaun), C (Hausrat – Ihr Besitz) und D (Nutzungsausfall – Lebenshaltungskosten, solange das Haus nicht bewohnbar ist) werden nicht in Dollar abgefragt – sie kommen in sel als Verhältnisse der Deckung A zurück, die bewertet wurden.
Mieter
| Option | Typ | Erforderlich | Was sie abdeckt |
|---|---|---|---|
coverage_c | integer | ja | Hausrat: Ihr Besitz. Limit in Dollar |
coverage_e | integer | ja | Privathaftpflicht: Verletzungen oder Schäden, für die Sie rechtlich haften. Limit in Dollar |
coverage_f | integer | ja | Krankheitskosten für andere: Arztrechnungen eines Gastes nach einer Verletzung in Ihrem Zuhause, unabhängig vom Verschulden. Limit in Dollar |
deductible | integer | ja | Was Sie pro Schadensfall zahlen, bevor der Versicherungsschutz beginnt. In Dollar |
coverage_d | integer | nein | Nutzungsausfall: Zusätzliche Lebenshaltungskosten, wenn Sie ausziehen müssen, während die Wohnung repariert wird. Limit in Dollar |
Antwortformat
Ein bewertetes Ergebnis kommt vollständig in structuredContent an; content ist leer. Das Bewertungsdetail ist das Feld dense: kompakter Maschinentext, ein Abschnitt pro Zeile, dargestellt in den response-Blöcken unten. Daneben liegen die Überschriftenfelder pro Sparte unter by_line (Versicherer mit monthly, confidence_interval, carrier_quote_url, warnings, rated_vs_asked; plus assumptions, tighten_by, failures) und presentation (wie die Preise dargestellt werden), bundle und skipped oben. Ablehnungen (profile_required, coverage_required) sind einfaches JSON ohne dense.
| Präfix | Häufigkeit | Bedeutung |
|---|---|---|
Q | einmal pro Sparte | Was bewertet wurde: Bundesstaat, Geschäftssparte, Deckungsauswahl |
assumptions: | einmal pro Sparte | Von Foresee getroffene Annahmen; high_impact: true bedeutet, dass dieses Feld die Angebotsschätzung wesentlich beeinflusst |
tighten_by: | einmal pro Sparte | Die Profilpfade der fehlenden Fakten, die den Preis am stärksten beeinflussen würden |
not_priced: | wenn zutreffend | Ausgeschlossene Versicherer, mit Begründung |
C | einmal pro Versicherer | Versicherer, zeichnende Einheit, monatliche Prämie (Punktschätzung und Konfidenzintervall) |
W | nach Bedarf | Ein Hinweis zum obigen Versicherer, z. B. keine Online-Angebotsseite |
L | einmal pro Versicherer | Monatliche Kosten pro Deckung, unter Codes, die bei jedem Versicherer dieselbe Deckung bedeuten (BI, PD, UMBI, MEDPAY, COMP, COLL…); A+B ist eine Prämie, die beide abdeckt, FEE eine Pauschalgebühr |
D | pro Versicherer | Preisleitern: Für jeden Deckungshebel jede angebotene Stufe als ±$/Monat gegenüber dem angebotenen Monatsbetrag, alles andere auf der Auswahl gehalten. +0.00 markiert die ausgewählte Stufe; (asked X) = X wird nicht angeboten und der Preis liegt auf der nächstgelegenen angebotenen Stufe. Neu bewerten ab D; nicht erneut aufrufen |
Beispiel: Auto
Ein 41-Jähriger in PLZ 90066 mit einem Honda Civic von 2021.
Mercury zeigt die einfache Versichererzelle; Travelers bewertet über zwei mögliche zeichnende Einheiten, daher trägt seine Zelle ein ci-Segment (die Platzierungsspanne). USAA landet in not_priced mit der eigenen Begründung des Versicherers.
{
"profile": {
"zip_code": "90066",
"age": 41,
"auto": {"vehicles": [{"year": 2021, "make": "Honda", "model": "Civic"}]}
},
"lines": {"auto": {"bi": "100/300", "pd": 100, "coll_deductible": 500, "comp_deductible": 500}},
"carriers": ["mercury", "travelers", "usaa"]
}
Jedes ausgelassene Profilfeld kommt als deklarierte Annahme zurück – der fette assumptions:-Block unten wird durch die dünne Anfrage oben verursacht, und tighten_by: listet die neun Antworten auf, die den Preis am stärksten beeinflussen würden. Mercury zeigt die einfache Versichererzelle; Travelers bewertet über zwei mögliche zeichnende Einheiten, daher trägt seine Zelle ein ci-Segment (die Platzierungsspanne). USAA landet in not_priced mit der eigenen Begründung des Versicherers.
Q CA auto sel={"bi":"100/300","coll_deductible":500,"comp_deductible":500,"pd":100}
assumptions: [{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":12000,"field":"auto.vehicles[].annual_mileage","high_impact":true},{"assumed":"Commute","field":"auto.vehicles[].primary_use","high_impact":true},{"assumed":15,"field":"auto.vehicles[].one_way_miles","high_impact":true},{"assumed":5,"field":"auto.vehicles[].commute_days","high_impact":false},{"assumed":16,"field":"auto.drivers[].age_first_licensed","high_impact":true,"note":"CA Good Driver discount (at least 20% off every CA price here, INS §1861.025) is granted on this assumption: it rates the applicant as licensed 3+ years. If they were first licensed less than 3 years ago, these prices are understated — send auto.drivers[].age_first_licensed (or date_first_licensed / years_licensed on the same driver) and re-quote."},{"assumed":[],"field":"auto.drivers[].accidents","high_impact":true},{"assumed":[],"field":"auto.drivers[].violations","high_impact":true},{"assumed":false,"field":"prior_insurance.insured","high_impact":true},{"assumed":null,"field":"home_ownership_status","high_impact":false},{"assumed":null,"field":"occupation","high_impact":true},{"assumed":null,"field":"memberships","high_impact":true}]
tighten_by: auto.vehicles[].annual_mileage,auto.vehicles[].primary_use,auto.vehicles[].one_way_miles,auto.drivers[].age_first_licensed,auto.drivers[].accidents,auto.drivers[].violations,prior_insurance.insured,occupation,memberships
not_priced: usaa:USAA: military families only — set military_affiliation to quote.
C mercury|Mercury Insurance Company|235.11
L BI:56.33,PD:44.10,UMBI:16.85,MEDPAY:0.97,COMP:17.49,COLL:99.38
D bi 100/300=30/60:-9.70,50/100:-6.72,100/300:+0.00,250/500:+12.31,300/300:+12.68,500/500:+23.13
D pd 100=15:-7.99,25:-6.39,50:-2.88,100:+0.00,250:+2.56,300:+3.83
D coll_deductible 500=100:+19.87,200:+14.91,250:+12.42,500:+0.00,1000:-9.94,2000:-29.81,2500:-39.75
D comp_deductible 500=25:+25.74,50:+17.88,100:+11.00,200:+6.09,250:+2.75,500:+0.00,1000:-2.75,2000:-5.70,2500:-8.06
C travelers|Travelers Commercial Insurance Company|368.50|ci 327.21-415.00
L BI:149.00,PD:70.17,COMP:15.50,COLL:114.33,UMBI:19.50
D bi 100/300=15/30:-61.67,25/50:-39.33,30/60:-32.83,50/100:-13.50,100/300:+0.00,250/500:+12.50,500/500:+16.67,1000/1000:+52.67
D pd 100=5:-21.50,10:-10.50,15:-6.67,25:-2.83,50:-0.67,100:+0.00,250:+0.50,300:+0.83,500:+1.17
D coll_deductible 500=100:+22.17,250:+13.17,500:+0.00,1000:-19.33,1500:-34.50,2500:-56.50,5000:-86.00
D comp_deductible 500=0:+11.17,50:+9.67,100:+8.00,250:+2.17,500:+0.00,1000:-1.67,1500:-3.67,2500:-6.50,5000:-10.50
Beispiel: Haus
Dieselbe 41-jährige Person wie oben, versichert ein Fachwerkhaus von 1998 mit einem Wiederbeschaffungswert von 450.000 $:
{
"profile": {
"zip_code": "90066",
"age": 41,
"property": {"year_built": 1998, "construction_type": "frame", "replacement_cost": 450000}
},
"lines": {"home": {"coverage_a": 450000, "coverage_e": 300000, "coverage_f": 1000, "aop_deductible": 1000}},
"carriers": ["mercury", "autoclub"]
}
sel spiegelt B/C/D als die Verhältnisse der Deckung A wider, die bewertet wurden. Die L jedes Versicherers ist seine Basisprämie (HO_BASE) plus Gebühren. Gebäudefakten stehen in assumptions:/tighten_by: – hier Dachtyp, Schutzklasse und eine saubere Schadenhistorie.
Q CA home sel={"aop_deductible":1000,"coverage_a":450000,"coverage_b_pct":0.1,"coverage_c_pct":0.5,"coverage_d_pct":0.2,"coverage_e":300000,"coverage_f":1000}
assumptions: [{"assumed":"Asphalt Shingle","field":"property.roof_type","high_impact":false},{"assumed":1,"field":"property.stories","high_impact":false},{"assumed":2,"field":"property.bathrooms","high_impact":false},{"assumed":1,"field":"property.units","high_impact":false},{"assumed":"owner occupied","field":"property.occupancy","high_impact":false},{"assumed":5,"field":"property.protection_class","high_impact":true},{"assumed":"Attached","field":"property.garage","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"property.losses","high_impact":true}]
tighten_by: property.protection_class,property.losses
C mercury|CALIFORNIA AUTOMOBILE INS CO|123.67
L HO_BASE:118.76,FEE:3.75,FEE:1.16,FEE:0.01
D aop_deductible 1000=500:+13.38,1000:+0.00,1500:-5.38,2500:-21.45,3500:-26.58,5000:-37.01,10000:-48.28,25000:-63.01,50000:-72.51
D coverage_a 450000=30000:-90.60,65000:-82.94,95000:-76.38,130000:-68.81,165000:-61.24,195000:-54.76,230000:-47.27,265000:-39.79,295000:-33.39,330000:-25.82,365000:-18.34,395000:-11.94,430000:-4.37,445000:-1.17,450000:+0.00,455000:+1.01,465000:+3.20,500000:+10.86,570000:+26.34,630000:+39.88,700000:+56.03,770000:+72.77,830000:+87.49,900000:+105.41,970000:+124.09,2500000:+523.01,6000000:+1464.79
D coverage_e 300000=100000:-1.34,200000:-0.58,300000:+0.00,500000:+0.68,1000000:+4.04
D coverage_f 1000=1000:+0.00,2000:+0.17,5000:+0.42
C autoclub|Interinsurance Exchange of the Automobile Club|146.10
L HO_BASE:144.50,FEE:1.60
D aop_deductible 1000=500:+20.98,750:+7.59,1000:+0.00,1500:-11.45,2000:-16.93,3000:-21.06,5000:-25.36,10000:-28.73,15000:-51.90,20000:-63.44,25000:-71.53,30000:-77.34,50000:-90.49
D coverage_a 450000=60000:-120.65,90000:-115.51,110000:-110.96,130000:-105.66,150000:-99.59,170000:-92.85,190000:-86.53,220000:-76.17,250000:-64.54,280000:-54.09,320000:-40.02,350000:-29.15,360000:-26.54,400000:-16.00,440000:-3.62,450000:+0.00,460000:+2.45,480000:+9.44,550000:+32.95,650000:+77.19,750000:+98.00,850000:+116.62,950000:+147.71,2000000:+475.47,4000000:+1099.41,10000000:+2982.24
Beispiel: Mieter
Ein anderer Haushalt an derselben PLZ: ein 27-jähriger Mieter:
{
"profile": {"zip_code": "90066", "dob": "1998-11-11"},
"lines": {"renters": {"coverage_c": 30000, "coverage_e": 100000, "coverage_f": 1000, "deductible": 500}},
"carriers": ["farmers", "usaa"]
}
Q CA renters sel={"coverage_c":30000,"coverage_e":100000,"coverage_f":1000,"deductible":500}
assumptions: [{"assumed":2000,"field":"property.year_built","high_impact":false},{"assumed":5,"field":"property.protection_class","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"property.losses","high_impact":true}]
tighten_by: property.losses
not_priced: usaa:USAA: military families only — set military_affiliation to quote.
C farmers|Fire Insurance Exchange|29.88
L RENTERS_BASE:29.17,FEE:0.42,FEE:0.30
D deductible 500=100:+5.89,250:+1.85,500:+0.00,1000:-2.61,1500:-4.29,2500:-6.73
D coverage_c 30000=4000:-16.33,10000:-11.95,17000:-7.15,23000:-3.87,29000:-0.59,30000:+0.00,31000:+0.51,37000:+3.79,43000:+7.07,49000:+10.36,55000:+13.64,62000:+17.43,68000:+20.71,74000:+23.99,81000:+27.78,87000:+31.06,93000:+34.35,100000:+38.14,106000:+41.42,112000:+44.70,118000:+47.99,125000:+51.77,131000:+55.06,137000:+58.34,144000:+62.13,150000:+65.41
D coverage_e 100000=100000:+0.00,300000:+3.28,500000:+5.56,1000000:+10.69
Beispiel: Auto + Mieter
Derselbe 27-jährige Mieter, jetzt mit einem Auto. Leere violations- und accidents-Listen bedeuten eine saubere Akte, sodass die Fragen zur Fahrerlaubnis assumptions: vollständig auslassen.
{
"profile": {
"zip_code": "90066",
"age": 27,
"prior_insurance": {"insured": true, "carrier": "GEICO", "since": "2019"},
"auto": {"drivers": [{"violations": [], "accidents": []}],
"vehicles": [{"year": 2021, "make": "Honda", "model": "Civic", "annual_mileage": 9000}]},
"property": {"year_built": 1978, "square_feet": 850}
},
"lines": {
"auto": {"bi": "100/300", "pd": 100, "coll_deductible": 500, "comp_deductible": 500},
"renters": {"coverage_c": 30000, "coverage_e": 100000, "coverage_f": 1000, "deductible": 500}
},
"carriers": ["farmers", "mercury"]
}
Da wir nun Fahrerlaubnis, Kilometerstand und Versicherungshistorie angeben, schrumpfen die Auto-assumptions: auf acht Einträge und ihre tighten_by: auf fünf.
Der Mieterabschnitt deklariert seine eigenen Gebäude-Ersatzwerte. Mercury bewertet nur Auto; Farmers bewertet beide Sparten.
Q CA auto sel={"bi":"100/300","coll_deductible":500,"comp_deductible":500,"pd":100}
assumptions: [{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":"Commute","field":"auto.vehicles[].primary_use","high_impact":true},{"assumed":15,"field":"auto.vehicles[].one_way_miles","high_impact":true},{"assumed":5,"field":"auto.vehicles[].commute_days","high_impact":false},{"assumed":16,"field":"auto.drivers[].age_first_licensed","high_impact":true,"note":"CA Good Driver discount (at least 20% off every CA price here, INS §1861.025) is granted on this assumption: it rates the applicant as licensed 3+ years. If they were first licensed less than 3 years ago, these prices are understated — send auto.drivers[].age_first_licensed (or date_first_licensed / years_licensed on the same driver) and re-quote."},{"assumed":null,"field":"home_ownership_status","high_impact":false},{"assumed":null,"field":"occupation","high_impact":true},{"assumed":null,"field":"memberships","high_impact":true}]
tighten_by: auto.vehicles[].primary_use,auto.vehicles[].one_way_miles,auto.drivers[].age_first_licensed,occupation,memberships
C mercury|Mercury Insurance Company|289.94
L BI:66.80,PD:52.55,UMBI:17.38,MEDPAY:1.05,COMP:23.50,COLL:128.67
D bi 100/300=30/60:-11.50,50/100:-7.96,100/300:+0.00,250/500:+14.60,300/300:+15.04,500/500:+27.43
D pd 100=15:-9.52,25:-7.61,50:-3.43,100:+0.00,250:+3.05,300:+4.57
D coll_deductible 500=100:+25.74,200:+19.30,250:+16.09,500:+0.00,1000:-12.87,2000:-38.60,2500:-51.47
D comp_deductible 500=25:+34.59,50:+24.03,100:+14.79,200:+8.19,250:+3.70,500:+0.00,1000:-3.70,2000:-7.66,2500:-10.83
C farmers|Farmers Insurance Exchange|398.00
L BI:111.83,PD:73.33,UMBI:28.33,UMPD:1.50,MEDPAY:13.33,COMP:34.00,COLL:133.17,FEE:2.50
D bi 100/300=30/60:-23.83,50/100:-14.67,100/300:+0.00,250/500:+9.83,500/500:+23.83,500/1000:+29.83
D pd 100=15:-8.83,25:-5.00,50:-1.50,100:+0.00,250:+1.33,500:+3.17
D coll_deductible 500=250:+30.67,500:+0.00,750:-13.67,1000:-23.50,1500:-37.50,2500:-56.33,5000:-87.00
D comp_deductible 500=100:+23.67,250:+9.17,500:+0.00,750:-7.17,1000:-10.67,1500:-13.50,2500:-18.83,5000:-21.17
Q CA renters sel={"coverage_c":30000,"coverage_e":100000,"coverage_f":1000,"deductible":500}
assumptions: [{"assumed":5,"field":"property.protection_class","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"property.losses","high_impact":true}]
tighten_by: property.losses
not_priced: mercury:no filed-rate renters program served in CA yet
C farmers|Fire Insurance Exchange|29.88
L RENTERS_BASE:29.17,FEE:0.42,FEE:0.30
D deductible 500=100:+5.89,250:+1.85,500:+0.00,1000:-2.61,1500:-4.29,2500:-6.73
D coverage_c 30000=4000:-16.33,10000:-11.95,17000:-7.15,23000:-3.87,29000:-0.59,30000:+0.00,31000:+0.51,37000:+3.79,43000:+7.07,49000:+10.36,55000:+13.64,62000:+17.43,68000:+20.71,74000:+23.99,81000:+27.78,87000:+31.06,93000:+34.35,100000:+38.14,106000:+41.42,112000:+44.70,118000:+47.99,125000:+51.77,131000:+55.06,137000:+58.34,144000:+62.13,150000:+65.41
D coverage_e 100000=100000:+0.00,300000:+3.28,500000:+5.56,1000000:+10.69
Tool 2: live_carrier_quotes
Zweck: Angebotsschätzungen auf den eigenen Angebotsseiten der Versicherer bestätigen.
Dieses Tool ist idempotent: Der erste Aufruf beauftragt die Computer-Use-Agenten; ein erneuter Aufruf mit denselben Argumenten sammelt Fortschritt und Ergebnisse vom ersten Aufruf.
Ein Live-Einsatz übermittelt die echten Daten des Benutzers an die Versicherer, die möglicherweise eine Soft-Credit-Prüfung durchführen. Die Zustimmung des Benutzers wird eingeholt, bevor das Tool aufgerufen wird.
Foresee sammelt nur Angebote; es nimmt keine Zahlungen entgegen und bindet keine Versicherung.
Eingabeparameter
| Parameter | Typ | Erforderlich | Details |
|---|---|---|---|
profile | Objekt | ja | Gleiche Felder wie quote_insurance – die Bewertungsfakten |
lines | Objekt | ja | Ein Schlüssel pro zu begehender Zeile, jeder Wert das jeweilige Ask (siehe unten); mehrere Schlüssel beauftragen gebündelte Begehungen |
user_authorization | Zeichenkette | ja | Die wörtliche Bestätigung des Nutzers im Chat (z. B. yes, go ahead) |
identity | Objekt | in der Regel | Die Details des Nutzers. |
carriers | Zeichenkette[] | nein | Den Anbieterkreis einschränken; Standardmäßig jeder Anbieter mit validierter Begehung für die Zeilen + den Bundesstaat |
lines
| Zeile | Ask | Warum |
|---|---|---|
auto | erforderlich – dieselben vier Achsen wie quote_insurance (bi, pd, coll_deductible, comp_deductible), als tatsächliche Zahlen | Die Limits und Selbstbehalte, die die Agenten in den Formularen der Anbieter erfragen |
home | keines – {"home": null} | Das eigene Formular des Anbieters bepreist dessen Paket (Wohngebäudebetrag aus dessen Wiederbeschaffungskostenschätzung); die Agenten berichten, was gewählt wurde. Ein übermitteltes Ask wird lautstark abgelehnt, nicht still ignoriert |
renters | erforderlich – coverage_c, coverage_e, coverage_f, deductible, als tatsächliche Dollar-Beträge | Die Agenten geben die Zahlen des Nutzers im Formular ein, statt dessen Standardwerte zu übernehmen; Foresee erfindet sie nie |
Mehrere Schlüssel gleichzeitig beauftragen gebündelte Begehungen: Jeder Anbieter, der alle genannten Zeilen schreibt, wird durch seinen eigenen Multi-Line-Angebotsablauf geführt und berichtet Prämien pro Zeile sowie seinen eigenen Bündel-Gesamtbetrag; ein Anbieter, der nur einige der Zeilen schreibt, wird nur für diese begegangen. Die Ask-Regeln pro Zeile bleiben durch die Bündelung unverändert.
identity
| Feld | Typ | Erforderlich | Details |
|---|---|---|---|
first_name | Zeichenkette | ja | Rechtlicher Vorname |
last_name | Zeichenkette | ja | Rechtlicher Nachname |
dob | Zeichenkette, YYYY-MM-DD | ja | |
street | Zeichenkette | ja | Straße und Hausnummer (Zeile 1) |
unit | Zeichenkette | nein | Wohnung/Einheit (Zeile 2) |
city | Zeichenkette | ja | |
zip_code | Zeichenkette | nein | Nur wenn sie von der im Profil abweicht |
email | Zeichenkette | ja | Anbieter senden das Angebot hierhin |
phone | Zeichenkette | nein |
Antwort
| Feld | Bedeutung |
|---|---|
status | in_progress / partial / complete – mit denselben Argumenten erneut aufrufen, um abzuholen |
agents | Ein Eintrag pro Anbieter (siehe unten) |
note | Was als Nächstes zu tun ist, z. B. Zeitpunkt des erneuten Aufrufs, oder dass Ergebnisse eines früheren Laufs zurückgegeben wurden |
authorization_recorded | Auf der Quittung: Der Einwilligungsdatensatz wurde gespeichert, bevor ein Anbieter das Risiko sah |
skipped | Nicht beauftragte Anbieter, jeweils mit Grund (no_deterministic_walk, missing_facts mit den genannten Fakten) |
not_dispatched | Motorisch bepreiste Anbieter, die dieser Einsatz nicht begehen wird, mit Begründung (held: …, no_walk, not_walked, offline, not_sold) – eine Empfehlung, die der Begehungskanal nicht bestätigen kann, verschwindet nie still |
needs | Bei einer missing_facts-Ablehnung: Pro-Anbieter-Fakten, die vom Nutzer zu erheben sind, mit exakten Schema-Pfaden – und bei Feldern mit geschlossenem Vokabular die akzeptierten values |
assumptions | Nicht bestätigte Nebenformularfakten, die die Begehungen zu erklärten „Keine-Angabe“-Antworten auflösten: der Profilpfad (field) und der übermittelte Wert (assumed) – jeden zusammen mit den Ergebnissen weiterleiten |
error / detail | Jede Ablehnung ist ein strukturiertes {"error", "detail"}-Wörterbuch |
Jeder agents-Eintrag:
| Feld | Wann | Bedeutung |
|---|---|---|
carrier_key, carrier | immer | Roster-Schlüssel + Anzeigename |
status | immer | in_progress / complete / failed |
lines | immer | Die Zeilen, die diese Begehung abdeckt – mehrere bei einer gebündelten Begehung |
stage, eta_seconds_remaining | in Bearbeitung | Wo sich die Begehung befindet; verbleibende Zeit gegenüber dem typischen Ablauf des Anbieters |
quote.premium | Angeboten | Wörtlich, wie die Seite des Anbieters es gedruckt hat ("$857.80") – nie geparst, gerundet oder abgeleitet |
quote.term_months | Angeboten | Der Zeitraum, den die gedruckte Prämie abdeckt |
quote.premium_by_line | Angeboten, gebündelte Begehung | Die Prämie jeder Zeile, wie die Seite sie gedruckt hat, neben dem Bündel-Gesamtbetrag in quote.premium |
quote.breakdown | Angeboten | Die eigenen Positionszeilen der Seite, deren eigene Bezeichnungen |
quote.bound | Angeboten, neuere Begehungen | Von der bepreisten Seite abgelesener Schutz – was das Formular tatsächlich band, gegenüber dem, was angefragt wurde |
quote.variants | Angeboten | Zusätzliche bepreiste Pakete, die die Seite anbot |
quote.quote_number | Angeboten | Die Abrufnummer des Anbieters, wenn die Seite eine zeigt |
quote.evidence_recorded | Angeboten | Screenshot-Belege existieren serverseitig (interne URIs reisen nie über die Leitung) |
declined: true + detail | Abgelehnt | Der Anbieter prüfte die Details und lehnte ein Angebot ab. Eine Antwort, kein Fehler – sie weiterleiten |
detail | Fehlgeschlagen | Die eigenen Worte der Begehung dafür, wo und warum sie stoppte |
Ablehnungen
Jede Ablehnung ist ein strukturiertes {"error", "detail"}-Objekt – nichts wurde
an einen Anbieter übermittelt, es sei denn, die Zeile unten sagt etwas anderes.
| Code | Wann | Was zu tun ist |
|---|---|---|
profile_required | Haushaltsfakten auf oberster Ebene gesendet, ohne profile-Umbüllung | Erneut aufrufen, mit den Fakten, wie im example_arguments der Ablehnung gezeigt, umhüllt |
authorization_required | Ohne die Zustimmung des Nutzers aufgerufen | Die Einwilligungsfakten erklären, ein Ja erhalten, es wörtlich in user_authorization übergeben |
bad_identity | Ein drivers_license_number in Form einer SSN | SSNs werden nie erhoben; die Führerscheinnummer senden, wie auf dem Führerschein gedruckt |
bad_profile | Ein Profilfeld besteht die Validierung nicht | detail benennt das Feld |
one_line_per_dispatch | Eine leere lines-Zuordnung | Mindestens eine zu begehende Zeile benennen |
unknown_line | Eine Zeile ohne Begehung (z. B. umbrella) | detail listet die Zeilen, die der Live-Einsatz kennt |
coverage_selection_required | Eine Auto- oder Mieterschutz-Begehung ohne vollständige Limits und Selbstbehalte | Mit den Zahlen erneut aufrufen – die Begehungen geben echte Werte ein, nie Standardwerte |
bad_ask | Eine Haus-Begehung mit einem Deckungs-Ask | {"home": null} senden – das eigene Formular des Anbieters bepreist dessen Paket |
missing_facts | Das Formular keines angefragten Anbieters kann aus dem Profil ausgefüllt werden | Den Nutzer um die needs[].fields[]-Fakten bitten (unter Verwendung seiner values, wo bereitgestellt) und erneut aufrufen – siehe unten |
no_carriers | Kein Anbieter hat eine validierte Begehung für diese Zeile + diesen Bundesstaat | Auf quote_insurance zurückgreifen |
launch_failed | Die Agenten konnten nicht starten | Nichts erreichte einen Anbieter – ein erneuter Versuch ist sicher |
Beispiel: Auto
Ein Haushalt in Fresno bestätigt GEICOs eigene Zahl. Das Profil enthält die Fakten,
auf denen GEICOs Formular besteht (Eigentum, Kaufzeitpunkt, Vorversicherung, Alter bei
Erstlizenzierung …); identity ist der tatsächliche Antragsteller; das Ask umfasst dieselben vier Achsen wie
quote_insurance.
{
"profile": {
"zip_code": "93722",
"dob": "1954-07-02",
"gender": "Male",
"marital_status": "Married",
"education": "Bachelors",
"employment_status": "Employed",
"occupation": "Accountant or CPA",
"home_ownership_status": "Own",
"prior_insurance": {"insured": true, "limits": "not sure"},
"auto": {
"vehicles": [{
"year": 2024, "make": "Ford", "model": "Maverick",
"ownership": "Financed", "annual_mileage": 11000,
"primary_use": "pleasure", "purchase_date": "2026-08"
}],
"drivers": [{
"relation": "self", "age_first_licensed": 16,
"years_licensed_outside_us": 0, "defensive_driving_course": true,
"accidents": [], "violations": []
}]
}
},
"identity": {
"first_name": "Cornelius", "last_name": "Beaumont", "dob": "1954-07-02",
"street": "4381 W Spruce Ave", "city": "Fresno", "zip_code": "93722",
"email": "cornelius.beaumont@example.com", "phone": "559-555-0164"
},
"lines": {"auto": {"bi": "100/300", "pd": 100, "coll_deductible": 500, "comp_deductible": 500}},
"carriers": ["geico"],
"user_authorization": "yes, go ahead and get me GEICO's real quote"
}
{
"status": "in_progress",
"authorization_recorded": true,
"agents": [
{
"carrier_key": "geico",
"carrier": "GEICO",
"method": "browser_agent",
"detail": "deterministic Foresee agent completing the carrier's own quote flow with the user's details",
"eta_seconds": 480
}
],
"skipped": [],
"note": "1 carrier(s) are being quoted live. Collect results by calling this tool again with the same arguments after a few minutes."
}
Ein erneuter Aufruf mit denselben Argumenten später holt die abgeschlossene Begehung ab.
Die Prämie ist die eigene Zeichenkette der Seite; breakdown sind die eigenen Bezeichnungen der Seite
(GEICO druckte zwei Pakete nebeneinander); term_months sagt, was die Zahl
abdeckt – 857,80 $ pro 6 Monate, nicht pro Monat.
{
"status": "complete",
"agents": [
{
"carrier_key": "geico",
"carrier": "GEICO",
"method": "browser_agent",
"status": "complete",
"quote": {
"premium": "$857.80",
"currency": "USD",
"term_months": 6,
"quote_number": null,
"breakdown": {
"Less Coverage": "$857.80",
"More Coverage": "$870.70"
},
"evidence_recorded": true
}
}
]
}