Foresee
resmiForesee memungkinkan asisten AI untuk membandingkan asuransi rumah dan mobil di setiap penyedia serta opsi pertanggungan, dengan menyediakan perkiraan kutipan yang instan, akurat, dan terperinci.
Apa yang bisa Anda lakukan dengan Foresee MCP?
-
Bandingkan kutipan asuransi rumah dan mobil — Minta perkiraan kutipan instan dan terperinci dari berbagai penyedia serta opsi perlindungan dalam satu panggilan melalui
quote_insurance. -
Dapatkan konfirmasi langsung dari penyedia — Minta verifikasi kutipan waktu nyata langsung dari situs penyedia, dengan persetujuan, menggunakan
live_carrier_quotes. -
Hitung harga perlindungan mobil dengan batas spesifik — Tentukan cedera tubuh, kerusakan properti, dan deductible (mis.,
bi,coll_deductible) untuk melihat biaya bulanan terperinci per penyedia. -
Perkirakan polis rumah atau sewa — Berikan detail properti dan jumlah perlindungan (mis.,
coverage_a,deductible) untuk menerima harga bangunan, tanggung jawab, dan properti pribadi. -
Identifikasi fakta yang hilang yang memengaruhi harga — Tanyakan bidang profil mana yang dihilangkan (mis.,
annual_mileage,prior_insurance) paling memengaruhi kutipan, melaluitighten_bydanassumptionsdalam respons.
Server MCP Terhosting
npx add-mcp 'https://agents.go-foresee.com/mcp'Terpasang ke Claude Code, Codex, Cursor, dan lainnya
Dokumentasi
Dokumen
Untuk agen AI: indeks situs ada di /llms.txt dan teks lengkapnya di /llms-full.txt.
Foresee memungkinkan asisten AI membandingkan asuransi rumah dan mobil di setiap penyedia layanan dan opsi perlindungan, dengan menyediakan perkiraan kutipan yang instan, akurat, dan terperinci.
Menggunakan Foresee
Foresee menghosting dua server MCP:
Pengguna yang menginginkan perkiraan kutipan sederhana dan mudah tanpa menyerahkan PII mereka menggunakan:
https://mcp.go-foresee.com/mcp
Pengguna yang juga ingin mengonfirmasi perkiraan kutipan langsung dengan penyedia layanan dapat mengirim agen penggunaan komputer Foresee melalui:
https://agents.go-foresee.com/mcp
Tidak ada server yang memerlukan autentikasi.
Alat
Foresee menerbitkan dua alat di server MCP:
| Alat | Tujuan | agents. | mcp. |
|---|---|---|---|
quote_insurance | Menghasilkan perkiraan kutipan yang instan, akurat, dan terperinci | ✅ | ✅ |
live_carrier_quotes | Mengonfirmasi perkiraan kutipan dengan penyedia layanan | ✅ | ❌ |
Alat 1: quote_insurance
Tujuan: menghasilkan perkiraan kutipan terperinci secara instan dari penyedia layanan yang didukung Foresee, di seluruh lini dan negara bagian yang saat ini dilayani Foresee, dalam satu panggilan.
Parameter Masukan
| Parameter | Tipe | Wajib | Detail |
|---|---|---|---|
profile | objek | ya | lihat Profil |
lines | objek | ya | Kunci adalah lini yang akan dihargai (auto, home, renters); nilai adalah opsi perlindungan untuk lini tersebut (lihat Opsi perlindungan) |
carriers | string[] | tidak | Default ke "semua penyedia layanan" |
include_failures | boolean | tidak | true |
Profil
Profil Inti
Ada masukan inti profile, plus blok tambahan untuk asuransi mobil dan rumah/sewa.
Satu-satunya bidang yang wajib adalah usia (atau dob), kode pos, dan (untuk asuransi mobil) detail kendaraan.
Bidang opsional yang dihilangkan menjadi asumsi yang dinyatakan: kami memilih pengganti yang konservatif, dilaporkan kembali sebagai assumptions — misalnya auto.vehicles[].annual_mileage = 12000, dengan entri tighten_by yang mencantumkan asumsi yang paling memengaruhi harga. prior_insurance berarti asuransi untuk lini yang sama; companion_policies berarti asuransi untuk lini yang berbeda
| Bidang | Tipe | Wajib |
|---|---|---|
zip_code | string | ya |
age | integer | ya |
dob | string, YYYY-MM-DD | alternatif yang diterima untuk age |
city | string | tidak |
gender | string | tidak |
marital_status | string | tidak |
education | string | tidak |
employment_status | string | tidak |
occupation | string | tidak |
credit_range | string | tidak |
home_ownership_status | string | tidak |
residence_type | string | tidak |
military_affiliation | string | tidak |
memberships | string[] | tidak |
effective_date | string | tidak |
prior_insurance | objek | tidak |
companion_policies | objek[] — {line, carrier} | tidak |
companion_policies mencantumkan polis yang sudah dimiliki rumah tangga, masing-masing dengan penyedia layanan yang menerbitkannya — {"line": "home", "carrier": "State Farm"}. Diskon multi-polis penyedia layanan hanya berlaku untuk polis yang diterbitkannya, jadi polis yang dimiliki tanpa penyedia layanan tidak mendapatkan diskon, dan kutipan meminta penyedia layanan di bawah tighten_by.
Profil Asuransi Mobil
| Bidang | Tipe | Wajib |
|---|---|---|
auto.vehicles[].year | integer | ya |
auto.vehicles[].make | string | ya |
auto.vehicles[].model | string | ya |
auto.vehicles[].ownership | string | tidak |
auto.vehicles[].annual_mileage | integer | tidak |
auto.vehicles[].primary_use | string | tidak |
auto.vehicles[].garaging_zip | string | tidak |
auto.drivers[].relation | string | tidak (self untuk yang pertama) |
auto.drivers[].dob | string | tidak |
auto.drivers[].years_licensed | integer | tidak |
auto.drivers[].accidents | objek[] | tidak |
auto.drivers[].violations | objek[] | tidak |
auto.drivers[].sr22_required | boolean | tidak |
accidents dan violations adalah daftar entri ber tanggal — {"on": "2025-01", "kind": "speeding"}, {"on": "2023-06-15", "at_fault": true} — di mana daftar kosong berarti catatan bersih. Entri yang tidak memiliki on (atau pelanggaran yang tidak memiliki kind) ditolak, dengan menyebutkan jalurnya.
Profil Asuransi Rumah & Sewa
| Bidang | Tipe | Wajib |
|---|---|---|
property.year_built | integer | tidak |
property.construction_type | string | tidak |
property.roof_type | string | tidak |
property.square_feet | integer | tidak |
property.protection_class | string | tidak |
property.replacement_cost | integer | tidak |
property.devices | string[] | tidak |
property.losses | objek[] | tidak |
Opsi perlindungan
Setiap kunci di lines mengambil opsi perlindungan untuk lini tersebut. Tidak ada yang dihargai pada default server: opsi yang Anda berikan adalah yang dihargai.
Mobil
| Opsi | Tipe | Wajib | Apa yang dicakup |
|---|---|---|---|
bi | string | ya | Tanggung jawab cedera tubuh: cedera yang Anda sebabkan kepada orang lain. Batas per-orang/per-kejadian dalam ribuan dolar, misalnya "100/300" |
pd | integer | ya | Tanggung jawab kerusakan properti: kerusakan yang Anda sebabkan pada mobil dan properti orang lain. Batas dalam ribuan dolar, misalnya 100 |
coll_deductible | integer | ya | Tabrakan: kerusakan pada mobil Anda sendiri akibat kecelakaan, siapa pun yang bersalah. Deductible yang Anda bayar per klaim, dalam dolar |
comp_deductible | integer | ya | Komprehensif: kerusakan pada mobil Anda sendiri akibat hal lain selain kecelakaan — pencurian, kebakaran, hujan es, vandalisme, menabrak hewan. Deductible yang Anda bayar per klaim, dalam dolar |
um | string | tidak | Pengendara tanpa asuransi/kurang asuransi: cedera Anda ketika pengemudi yang bersalah tidak memiliki atau memiliki terlalu sedikit asuransi. Batas per-orang/per-kejadian dalam ribuan dolar, misalnya "100/300" |
medpay | integer | tidak | Pembayaran medis: tagihan medis untuk Anda dan penumpang Anda, siapa pun yang bersalah. Batas dalam dolar, misalnya 5000 |
Rumah
| Opsi | Tipe | Wajib | Apa yang dicakup |
|---|---|---|---|
coverage_a | integer | ya | Tempat tinggal: membangun kembali rumah itu sendiri. Batas dalam dolar, biasanya biaya penggantian |
coverage_e | integer | ya | Tanggung jawab pribadi: cedera atau kerusakan yang menjadi tanggung jawab hukum Anda, di dalam atau di luar properti. Batas dalam dolar |
coverage_f | integer | ya | Pembayaran medis kepada orang lain: tagihan medis tamu setelah cedera di properti Anda, siapa pun yang bersalah. Batas dalam dolar |
aop_deductible | integer | ya | Deductible semua risiko lain: yang Anda bayar per klaim untuk segala hal kecuali risiko dengan deductible sendiri (seperti gempa bumi). Dalam dolar |
Perlindungan B (struktur lain, seperti garasi terpisah atau pagar), C (properti pribadi — barang-barang Anda), dan D (kehilangan penggunaan — biaya hidup sementara rumah tidak dapat dihuni) tidak diminta dalam dolar — mereka kembali di sel sebagai rasio Perlindungan A yang dihargai.
Sewa
| Opsi | Tipe | Wajib | Apa yang dicakup |
|---|---|---|---|
coverage_c | integer | ya | Properti pribadi: barang-barang Anda. Batas dalam dolar |
coverage_e | integer | ya | Tanggung jawab pribadi: cedera atau kerusakan yang menjadi tanggung jawab hukum Anda. Batas dalam dolar |
coverage_f | integer | ya | Pembayaran medis kepada orang lain: tagihan medis tamu setelah cedera di rumah Anda, siapa pun yang bersalah. Batas dalam dolar |
deductible | integer | ya | Yang Anda bayar per klaim sebelum perlindungan dimulai. Dalam dolar |
coverage_d | integer | tidak | Kehilangan penggunaan: biaya hidup tambahan jika Anda harus pindah sementara tempat diperbaiki. Batas dalam dolar |
Format respons
Hasil yang dihargai tiba sepenuhnya di structuredContent; content kosong. Detail penilaian adalah bidang dense: teks mesin yang ringkas, satu bagian per baris, ditampilkan di blok response di bawah. Di sampingnya ada bidang utama per lini di bawah by_line (penyedia layanan dengan monthly, confidence_interval, carrier_quote_url, warnings, rated_vs_asked; plus assumptions, tighten_by, failures), dan presentation (cara menyajikan harga), bundle dan skipped di bagian atas. Penolakan (profile_required, coverage_required) adalah JSON biasa tanpa dense.
| Awalan | Frekuensi | Arti |
|---|---|---|
Q | sekali per lini | Apa yang dihargai: negara bagian, lini bisnis, pilihan perlindungan |
assumptions: | sekali per lini | Asumsi yang dibuat oleh Foresee; high_impact: true berarti bidang ini secara material mengubah perkiraan kutipan |
tighten_by: | sekali per lini | Jalur profil dari fakta yang hilang yang paling memengaruhi harga |
not_priced: | saat berlaku | Penyedia layanan yang dikecualikan, dengan alasannya |
C | sekali per penyedia layanan | Penyedia layanan, entitas penulis, premi bulanan (estimasi titik dan interval kepercayaan) |
W | sesuai kebutuhan | Catatan tentang penyedia layanan di atas, misalnya tidak ada halaman kutipan online |
L | sekali per penyedia layanan | Biaya bulanan per perlindungan, di bawah kode yang berarti perlindungan yang sama di setiap penyedia layanan (BI, PD, UMBI, MEDPAY, COMP, COLL…); A+B adalah satu premi yang mencakup keduanya, FEE biaya tetap |
D | per penyedia layanan | Tangga harga: untuk setiap tuas perlindungan, setiap tingkat yang ditawarkan sebagai ±$/bulan terhadap bulanan yang dikutip, semua hal lain dipertahankan pada pilihan. +0.00 menandai tingkat yang dipilih; (asked X) = X tidak ditawarkan dan harga berada di tingkat terdekat yang ditawarkan. Harga ulang dari D; jangan panggil ulang |
Contoh: mobil
Seorang berusia 41 tahun di kode pos 90066 dengan Honda Civic 2021.
Mercury menunjukkan sel penyedia layanan biasa; Travelers menilai melalui dua entitas penulis yang mungkin, jadi selnya membawa segmen ci (rentang penempatan). USAA masuk di not_priced dengan alasan penyedia layanan sendiri.
{
"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"]
}
Setiap bidang profil yang dihilangkan kembali sebagai asumsi yang dinyatakan — blok assumptions: tebal di bawah disebabkan oleh permintaan tipis di atas, dan tighten_by: mencantumkan sembilan jawaban yang paling memengaruhi harga. Mercury menunjukkan sel penyedia layanan biasa; Travelers menilai melalui dua entitas penulis yang mungkin, jadi selnya membawa segmen ci (rentang penempatan). USAA masuk di not_priced dengan alasan penyedia layanan sendiri.
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
Contoh: rumah
Orang yang sama berusia 41 tahun seperti di atas, mengasuransikan rumah rangka yang dibangun tahun 1998 dengan biaya penggantian $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 menggemakan B/C/D sebagai rasio Perlindungan A yang dihargai. L setiap penyedia layanan adalah premi dasarnya (HO_BASE) ditambah biaya. Fakta tempat tinggal ada di assumptions:/tighten_by: — di sini jenis atap, kelas perlindungan, dan riwayat kerugian yang bersih.
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
Contoh: sewa
Rumah tangga berbeda di kode pos yang sama: penyewa berusia 27 tahun:
{
"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
Contoh: mobil + sewa
Penyewa yang sama berusia 27 tahun, sekarang dengan mobil. Daftar violations dan accidents kosong berarti catatan bersih, jadi pertanyaan riwayat mengemudi meninggalkan assumptions: sepenuhnya.
{
"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"]
}
Karena sekarang kami menyediakan riwayat catatan, jarak tempuh, dan asuransi, assumptions: mobil menyusut menjadi delapan entri dan tighten_by: menjadi lima.
Bagian sewa menyatakan pengganti tempat tinggalnya sendiri. Mercury menghargai mobil saja; Farmers menghargai kedua lini.
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
Alat 2: live_carrier_quotes
Tujuan: mengonfirmasi perkiraan kutipan di situs kutipan penyedia layanan itu sendiri.
Alat ini idempoten: panggilan pertama menugaskan agen penggunaan komputer; memanggil lagi dengan argumen yang sama mengumpulkan kemajuan dan hasil dari panggilan pertama.
Pengiriman langsung mengirimkan detail nyata pengguna ke penyedia layanan, yang mungkin melakukan pemeriksaan kredit lunak. Persetujuan pengguna dikumpulkan sebelum alat dipanggil.
Foresee hanya mengumpulkan kutipan; tidak menerima pembayaran atau mengikat asuransi.
Parameter Masukan
| Parameter | Tipe | Wajib | Detail |
|---|---|---|---|
profile | objek | ya | Kolom yang sama dengan quote_insurance — fakta penilaian |
lines | objek | ya | Satu kunci per jalur yang akan dijalankan, setiap nilai adalah permintaan jalur tersebut (lihat di bawah); beberapa kunci memesan penelusuran gabungan |
user_authorization | string | ya | Penegasan pengguna dalam obrolan, kata demi kata (mis. yes, go ahead) |
identity | objek | biasanya | Detail pengguna. |
carriers | string[] | tidak | Batasi penyedia; default ke setiap penyedia dengan penelusuran tervalidasi untuk jalur + negara bagian |
lines
| Jalur | Permintaan | Alasan |
|---|---|---|
auto | wajib — empat sumbu yang sama seperti quote_insurance (bi, pd, coll_deductible, comp_deductible), sebagai angka aktual | Batas dan deduktibel yang diminta agen pada formulir penyedia |
home | tidak ada — {"home": null} | Formulir penyedia sendiri yang memberi harga paketnya (jumlah hunian dari estimasi biaya penggantian); agen melaporkan apa yang dipilihnya. Permintaan yang diberikan ditolak dengan lantang, bukan diabaikan diam-diam |
renters | wajib — coverage_c, coverage_e, coverage_f, deductible, sebagai dolar aktual | Agen mengetik angka pengguna pada formulir alih-alih menerima nilai bawaan; Foresee tidak pernah menciptakannya |
Beberapa kunci sekaligus memesan penelusuran gabungan: setiap penyedia yang menulis semua jalur yang disebutkan diarahkan melalui alur kutipan multi-jalur miliknya sendiri dan melaporkan premi per jalur plus total bundelnya sendiri; penyedia yang hanya menulis sebagian jalur diarahkan untuk jalur tersebut saja. Aturan permintaan per jalur tidak berubah dengan penggabungan.
identity
| Kolom | Tipe | Wajib | Detail |
|---|---|---|---|
first_name | string | ya | Nama depan resmi |
last_name | string | ya | Nama belakang resmi |
dob | string, YYYY-MM-DD | ya | |
street | string | ya | Alamat jalan (baris 1) |
unit | string | tidak | Apartemen/unit (baris 2) |
city | string | ya | |
zip_code | string | tidak | Hanya jika berbeda dari profil |
email | string | ya | Penyedia mengirim kutipan ke sini |
phone | string | tidak |
Respons
| Kolom | Makna |
|---|---|
status | in_progress / partial / complete — panggil ulang dengan argumen yang sama untuk mengumpulkan |
agents | Satu entri per penyedia (lihat di bawah) |
note | Apa yang harus dilakukan selanjutnya, mis. waktu panggil ulang, atau bahwa hasil dari proses sebelumnya telah dikembalikan |
authorization_recorded | Pada tanda terima: catatan persetujuan disimpan sebelum penyedia mana pun melihat risiko |
skipped | Penyedia yang TIDAK dikirim, masing-masing dengan alasannya (no_deterministic_walk, missing_facts dengan fakta yang disebutkan) |
not_dispatched | Penyedia dengan harga mesin yang tidak akan dijalankan oleh pengiriman ini, beserta alasannya (held: …, no_walk, not_walked, offline, not_sold) — rekomendasi yang tidak dapat dikonfirmasi oleh jalur penelusuran tidak pernah hilang diam-diam |
needs | Pada penolakan missing_facts: fakta per penyedia yang harus dikumpulkan dari pengguna, dengan jalur skema yang tepat — dan, untuk kolom dengan kosakata tertutup, values yang diterima |
assumptions | Fakta formulir kecil yang tidak ditegaskan yang diselesaikan penelusuran menjadi jawaban tanpa klaim yang dinyatakan: jalur profil (field) dan nilai yang dikirimkan (assumed) — sampaikan setiap satu dengan hasilnya |
error / detail | Setiap penolakan adalah dict {"error", "detail"} terstruktur |
Setiap entri agents:
| Kolom | Kapan | Makna |
|---|---|---|
carrier_key, carrier | selalu | Kunci daftar + nama tampilan |
status | selalu | in_progress / complete / failed |
lines | selalu | Jalur yang dicakup penelusuran ini — beberapa pada penelusuran gabungan |
stage, eta_seconds_remaining | sedang berlangsung | Di mana penelusuran berada; sisa waktu terhadap alur khas penyedia |
quote.premium | telah dikutip | Kata demi kata sebagaimana dicetak halaman penyedia ("$857.80") — tidak pernah diurai, dibulatkan, atau diturunkan |
quote.term_months | telah dikutip | Jangka waktu yang dicakup premi yang dicetak |
quote.premium_by_line | telah dikutip, penelusuran gabungan | Premi setiap jalur sebagaimana dicetak halaman, di samping total bundel di quote.premium |
quote.breakdown | telah dikutip | Baris item halaman itu sendiri, labelnya sendiri |
quote.bound | telah dikutip, penelusuran lebih baru | Cakupan yang dibaca dari halaman berharga — apa yang sebenarnya diikat formulir, vs apa yang diminta |
quote.variants | telah dikutip | Paket berharga tambahan yang ditawarkan halaman |
quote.quote_number | telah dikutip | Nomor pengambilan penyedia, saat halaman menampilkannya |
quote.evidence_recorded | telah dikutip | Bukti tangkapan layar ada di sisi server (URI internal tidak pernah melewati kabel) |
declined: true + detail | ditolak | Penyedia meninjau detail dan menolak memberi kutipan. Sebuah jawaban, bukan kesalahan — sampaikan |
detail | gagal | Kata-kata penelusuran sendiri untuk di mana dan mengapa berhenti |
Penolakan
Setiap penolakan adalah objek {"error", "detail"} terstruktur — tidak ada yang
dikirimkan ke penyedia mana pun kecuali baris di bawah menyatakan sebaliknya.
| Kode | Kapan | Apa yang harus dilakukan |
|---|---|---|
profile_required | Fakta rumah tangga dikirim di tingkat atas, tanpa pembungkus profile | Panggil ulang dengan fakta yang dibungkus seperti yang ditunjukkan pada example_arguments penolakan |
authorization_required | Dipanggil tanpa persetujuan pengguna | Jelaskan fakta persetujuan, dapatkan ya, teruskan kata demi kata di user_authorization |
bad_identity | drivers_license_number berbentuk SSN | SSN tidak pernah dikumpulkan; kirim nomor lisensi sebagaimana tercetak di lisensi |
bad_profile | Kolom profil gagal validasi | detail menyebutkan kolomnya |
one_line_per_dispatch | Peta lines kosong | Sebutkan setidaknya satu jalur untuk dijalankan |
unknown_line | Jalur tanpa penelusuran (mis. umbrella) | detail mencantumkan jalur yang diketahui pengiriman langsung |
coverage_selection_required | Penelusuran auto atau sewa tanpa batas dan deduktibel lengkap | Panggil ulang dengan angka — penelusuran mengetik nilai nyata, bukan nilai bawaan |
bad_ask | Penelusuran rumah diberi permintaan cakupan | Kirim {"home": null} — formulir penyedia sendiri yang memberi harga paketnya |
missing_facts | Tidak ada formulir penyedia yang diminta yang dapat diisi dari profil | Minta pengguna untuk fakta needs[].fields[] (menggunakan values mereka jika tersedia) dan panggil ulang — lihat di bawah |
no_carriers | Tidak ada penyedia yang memiliki penelusuran tervalidasi untuk jalur + negara bagian tersebut | Kembali ke quote_insurance |
launch_failed | Agen tidak dapat memulai | Tidak ada yang mencapai penyedia mana pun — mencoba ulang aman |
Contoh: auto
Sebuah rumah tangga di Fresno mengonfirmasi nomor GEICO sendiri. Profil membawa fakta
yang diminta formulir GEICO (kepemilikan, waktu pembelian, asuransi sebelumnya, usia
pertama kali berlisensi…); identity adalah pemohon sebenarnya; permintaannya adalah empat sumbu yang sama seperti
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."
}
Memanggil ulang dengan argumen yang sama nanti mengumpulkan penelusuran yang selesai.
Premi adalah string halaman itu sendiri; breakdown adalah label halaman itu sendiri
(GEICO mencetak dua paket berdampingan); term_months menyatakan apa yang dicakup angka
tersebut — $857,80 per 6 bulan, bukan per bulan.
{
"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
}
}
]
}