Foresee
공식Foresee는 AI 어시스턴트가 모든 보험사와 보장 옵션에 걸쳐 주택 및 자동차 보험을 비교할 수 있도록, 즉각적이고 정확하며 상세한 견적 추정치를 제공합니다.
Foresee MCP(으)로 무엇을 할 수 있나요?
- 자동차 보험 견적 비교 —
quote_insurance를 사용하여 차량 및 보장 세부 정보를 바탕으로 여러 보험사에 걸친 즉시, 항목별 견적을 요청하세요. - 주택 또는 임차인 보장 가격 책정 —
coverage_a또는coverage_c같은 보장 한도를 포함한 재산 세부 정보를 지정하여 상세한 주택 또는 임차인 견적을 받아보세요. - 보장 트레이드오프 탐색 — 응답의 가격 사다리를 통해 공제액이나 한도를 변경할 때 월 보험료가 어떻게 달라지는지 확인하세요.
- 누락된 요소 식별 —
annual_mileage또는 운전 기록 같은 누락된 세부 정보 중 어떤 것이 견적에 가장 큰 영향을 미칠지tighten_by제안을 기반으로 질문하세요. - 보험사와 견적 확인 — 에이전트 서버의
live_carrier_quotes를 사용하여 보험사와 직접 견적 추정치를 검증하세요.
호스팅형 MCP 서버
npx add-mcp 'https://agents.go-foresee.com/mcp'Claude Code, Codex, Cursor 등에 설치됩니다
문서
문서
Foresee는 AI 어시스턴트가 모든 보험사와 보장 옵션에 걸쳐 자동차 및 주택 보험을 비교할 수 있도록, 즉각적이고 정확하며 상세한 견적 추정치를 제공합니다.
Foresee 사용하기
Foresee는 두 개의 MCP 서버를 호스팅합니다:
개인 식별 정보(PII)를 제공하지 않고 간단하고 부담 없는 견적 추정치를 원하는 사용자는 다음을 사용합니다:
https://mcp.go-foresee.com/mcp
견적 추정치를 보험사와 직접 확인하려는 사용자는 Foresee의 컴퓨터 사용 에이전트를 다음을 통해 파견할 수 있습니다:
https://agents.go-foresee.com/mcp
두 서버 모두 인증이 필요하지 않습니다.
도구
Foresee는 MCP 서버에 두 가지 도구를 게시합니다:
| 도구 | 목적 | agents. | mcp. |
|---|---|---|---|
quote_insurance | 즉각적이고 정확하며 상세한 견적 추정치 생성 | ✅ | ✅ |
live_carrier_quotes | 보험사와 견적 추정치 확인 | ✅ | ❌ |
도구 1: quote_insurance
목적: Foresee가 지원하는 보험사, 현재 서비스 중인 라인 및 주에 대해 한 번의 호출로 즉각적이고 항목별 견적 추정치를 생성합니다.
입력 매개변수
| 매개변수 | 유형 | 필수 | 세부사항 |
|---|---|---|---|
profile | object | 예 | 프로필 참조 |
lines | object | 예 | 키는 가격을 책정할 라인(auto, home, renters)이고, 값은 해당 라인의 보장 옵션입니다(보장 옵션 참조) |
carriers | string[] | 아니요 | 기본값은 "모든 보험사" |
include_partial | boolean | 아니요 | false |
include_failures | boolean | 아니요 | true |
프로필
핵심 프로필
핵심 입력 profile이 있으며, 자동차 및 주택/임차인 보험에 대한 추가 블록이 있습니다.
필수 필드는 나이(또는 dob), 우편번호, 그리고 (자동차 보험의 경우) 차량 세부정보뿐입니다.
생략된 선택 필드는 선언된 가정이 됩니다: 보수적인 대체 값을 선택하며, assumptions으로 보고됩니다 — 예: annual_mileage = 12000, 가격을 가장 크게 움직일 가정을 나열하는 tighten_by 항목이 포함됩니다. prior_insurance는 동일한 라인에 대한 보험을 의미하고, companion_policies는 다른 라인에 대한 보험을 의미합니다.
| 필드 | 유형 | 필수 |
|---|---|---|
zip_code | string | 예 |
age | integer | 예 |
dob | string, YYYY-MM-DD | age의 허용된 대안 |
city | string | 아니요 |
gender | string | 아니요 |
marital_status | string | 아니요 |
education | string | 아니요 |
employment_status | string | 아니요 |
occupation | string | 아니요 |
credit_range | string | 아니요 |
home_ownership_status | string | 아니요 |
residence_type | string | 아니요 |
military_affiliation | string | 아니요 |
memberships | string[] | 아니요 |
effective_date | string | 아니요 |
prior_insurance | object | 아니요 |
companion_policies | string[] | 아니요 |
자동차 보험 프로필
| 필드 | 유형 | 필수 |
|---|---|---|
auto.vehicles[].year | integer | 예 |
auto.vehicles[].make | string | 예 |
auto.vehicles[].model | string | 예 |
auto.vehicles[].ownership | string | 아니요 |
auto.vehicles[].annual_mileage | integer | 아니요 |
auto.vehicles[].primary_use | string | 아니요 |
auto.vehicles[].garaging_zip | string | 아니요 |
auto.drivers[].relation | string | 아니요 (첫 번째는 self) |
auto.drivers[].dob | string | 아니요 |
auto.drivers[].years_licensed | integer | 아니요 |
auto.drivers[].accidents | object[] | 아니요 |
auto.drivers[].violations | object[] | 아니요 |
auto.drivers[].sr22_required | boolean | 아니요 |
accidents 및 violations는 구조화된 객체 목록이며, 빈 목록은 깨끗한 기록입니다.
주택 및 임차인 보험 프로필
| 필드 | 유형 | 필수 |
|---|---|---|
property.year_built | integer | 아니요 |
property.construction_type | string | 아니요 |
property.roof_type | string | 아니요 |
property.square_feet | integer | 아니요 |
property.protection_class | string | 아니요 |
property.replacement_cost | integer | 아니요 |
property.devices | string[] | 아니요 |
property.losses | object[] | 아니요 |
보장 옵션
lines의 각 키는 해당 라인의 보장 옵션을 사용합니다. 서버 기본값으로 가격이 책정되는 것은 없습니다: 전달하는 옵션이 가격이 책정되는 옵션입니다.
자동차
| 옵션 | 유형 | 필수 | 보장 내용 |
|---|---|---|---|
bi | string | 예 | 신체 상해 책임: 다른 사람에게 입힌 부상. 1인당/사고당 한도(천 달러 단위), 예: "100/300" |
pd | integer | 예 | 재산 피해 책임: 다른 사람의 차량 및 재산에 입힌 손해. 한도(천 달러 단위), 예: 100 |
coll_deductible | integer | 예 | 충돌: 과실 여부와 관계없이 사고로 인한 자신의 차량 손해. 청구 건당 지불하는 자기부담금(달러) |
comp_deductible | integer | 예 | 종합: 사고 이외의 원인(도난, 화재, 우박, 기물 파손, 동물 충돌)으로 인한 자신의 차량 손해. 청구 건당 지불하는 자기부담금(달러) |
um | string | 아니요 | 무보험/저보험 운전자: 과실 운전자가 보험이 없거나 너무 적은 경우의 부상. 1인당/사고당 한도(천 달러 단위), 예: "100/300" |
medpay | integer | 아니요 | 의료비: 과실 여부와 관계없이 본인 및 동승자의 의료비. 한도(달러), 예: 5000 |
주택
| 옵션 | 유형 | 필수 | 보장 내용 |
|---|---|---|---|
coverage_a | integer | 예 | 주거 구조: 집 자체의 재건축. 한도(달러), 일반적으로 재건축 비용 |
coverage_e | integer | 예 | 개인 책임: 부지 안팎에서 법적으로 책임이 있는 부상 또는 손해. 한도(달러) |
coverage_f | integer | 예 | 타인 의료비: 부지 내 부상 후 손님의 의료비, 과실 여부와 관계없음. 한도(달러) |
aop_deductible | integer | 예 | 기타 위험 자기부담금: 지진 등 별도 자기부담금이 있는 위험을 제외한 모든 위험에 대해 청구 건당 지불하는 금액(달러) |
보장 B(기타 구조물 — 분리형 차고, 울타리 등), C(개인 재산 — 소지품), D(사용 손실 — 집에 거주할 수 없는 동안의 생활비)는 달러로 요청되지 않으며, 가격이 책정된 보장 A 대비 비율로 sel에 반환됩니다.
임차인
| 옵션 | 유형 | 필수 | 보장 내용 |
|---|---|---|---|
coverage_c | integer | 예 | 개인 재산: 소지품. 한도(달러) |
coverage_e | integer | 예 | 개인 책임: 법적으로 책임이 있는 부상 또는 손해. 한도(달러) |
coverage_f | integer | 예 | 타인 의료비: 주거지 내 부상 후 손님의 의료비, 과실 여부와 관계없음. 한도(달러) |
deductible | integer | 예 | 보장이 시작되기 전에 청구 건당 지불하는 금액(달러) |
coverage_d | integer | 아니요 | 사용 손실: 수리 기간 동안 이사해야 하는 경우의 추가 생활비. 한도(달러) |
응답 형식
| 접두사 | 빈도 | 의미 |
|---|---|---|
Q | 라인당 1회 | 가격이 책정된 내용: 주, 업종, 보장 선택 |
format: factors: | 라인당 1회 | 아래 모든 내용에 대한 자체 설명 범례 |
assumptions: | 라인당 1회 | Foresee가 만든 가정; high_impact: true는 이 필드가 견적 추정치를 실질적으로 움직인다는 의미 |
tighten_by: | 라인당 1회 | 가격을 가장 크게 움직일 가정/누락된 사실 |
not_priced: | 해당 시 | 제외된 보험사 및 사유 |
C | 보험사당 1회 | 보험사, 계약 법인, 월 보험료(점 추정치 및 신뢰 구간) |
W | 필요 시 | 위 보험사에 첨부된 경고 — 예: "주 최소 BI/PD 미판매" |
L | 보험사당 1회 | 보장 또는 위험별 월 비용 |
F | 보험사당 다수 | 라인당 하나의 요율 요소, factors: 범례에 명명됨. 값은 L 코드와 일대일로 정렬됨: 공백 = 해당 보장에 적용되지 않음, 단일 값 = 모든 보장에 적용. 괄호 안은 프로필이 도달한 행(예: 100/300 같은 단계, 90066 같은 사실, 또는 applied / not applied). 값 접미사: 없음 = 정확, ~ = 파생, ? = 추정 |
D | 보험사당 | 가격 사다리: 각 보장 레버에 대해, 제공된 모든 단계를 견적 월 보험료 대비 ±$/월로 표시, 나머지는 선택 항목으로 유지. +0.00는 선택된 단계를 표시; (asked X) = X가 제공되지 않으며 가격은 가장 가까운 제공 단계에 위치. D에서 재가격 책정; 재호출하지 마세요 |
예: 자동차
ZIP 90066에 거주하는 41세, 2021년형 Honda Civic 보유.
Mercury는 일반 보험사 셀을 표시하고, Travelers는 두 개의 가능한 계약 법인을 통해 요율을 산정하므로 해당 셀에는 ci 세그먼트(배치 범위)가 포함됩니다. USAA는 보험사 자체 사유와 함께 not_priced에 위치합니다.
{
"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"]
}
생략된 모든 프로필 필드는 선언된 가정으로 반환됩니다 — 위의 얇은 요청이 아래의 두꺼운 assumptions:
블록을 유발하며, tighten_by:은 가격을 가장 크게 움직일 일곱 가지 답변을 나열합니다. Mercury는 일반 보험사 셀을 표시하고, Travelers는
두 개의 가능한 계약 법인을 통해 요율을 산정하므로 해당 셀에는 ci 세그먼트(배치 범위)가 포함됩니다. USAA는 not_priced
보험사 자체 사유와 함께 위치합니다.
Q CA auto sel={"bi":"100/300","coll_deductible":500,"comp_deductible":500,"pd":100}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead
factors: f0=BI Limit f1=Good Driver f2=Group Placement (Rule G) f3=PD Limit f4=UMBI Limit f5=Medical Payments Limit f6=Comprehensive Deductible f7=Collision Deductible f8=Vehicle Symbol f9=ca_good_driver_pri f10=group f11=UM Limit
assumptions: [{"assumed":"Male","field":"gender","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":12000,"field":"annual_mileage","high_impact":true},{"assumed":0,"field":"accidents_3yr","high_impact":true},{"assumed":0,"field":"violations_3yr","high_impact":true},{"assumed":false,"field":"dui","high_impact":true},{"assumed":false,"field":"currently_insured","high_impact":true},{"assumed":null,"field":"homeowner","high_impact":false},{"assumed":null,"field":"occupation","high_impact":true},{"assumed":null,"field":"memberships","high_impact":true}]
tighten_by: annual_mileage,accidents_3yr,violations_3yr,dui,currently_insured,occupation,memberships
not_priced: usaa:USAA sells only to military members, veterans, and their fam
C mercury|Mercury Insurance Company|235.11
L BI:56.33,PD:44.10,UMBI:16.85,MP:0.97,COMP:17.49,COLL:99.38
F f0(100/300)=1.51,,,,,
F f1(applied)=0.8
F f2(not applied)=1.0
F f3(100)=,1.38,,,,
F f4(30/60)=,,1.65,,,
F f5(1000)=,,,1.0,,
F f6(500)=,,,,0.89,
F f7(500)=,,,,,1.0
D bi 100/300=15/30 *available through December 31, 2024:-19.03,25/50 *available through December 31, 2024:-14.18,30/60 *available on or after January 1, 2025:-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=5:-15.34,10:-12.14,15:-9.27,25:-7.99,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,CP:15.50,CL:114.33,UMBI:19.50
F f0(100000/300000)=1.649,,,,
F f8(symbol AA)=1.009?,1.003?,,,
F f9(applied)=0.8
F f10(not applied)=1.0
F f3(100000)=,1.443,,,
F f6(500)=,,0.627,,
F f8(symbol 12)=,,0.941?,,
F f7(500)=,,,0.801,
F f8(symbol 17)=,,,1.013?,
F f11(30000/60000)=,,,,1.5
F f8(symbol 1)=,,,,1.0?
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
present: Lead with the best option for this user — its price and a one-line reason — then a comparison sorted cheapest-first (Carrier · Monthly · 6-month total; a markdown table when your surface renders it) and the annual dollar spread between cheapest and priciest — that spread is the reason to compare. These are Foresee's estimates of what each carrier will charge; the assumptions and tighten_by blocks say how they were made and how to sharpen them. Foresee never takes payment: when the user settles on a carrier (or asks to buy), give that carrier's carrier_quote_url as a clickable link — the purchase completes on the carrier's own quoting portal.
자동차 L 코드는 보험사가 가격을 책정하는 보장입니다(결합 BIPD, 또는 분리 BI/PD, 충돌, 종합, UM, 수수료 포함). 패널 전체에 걸쳐 정규화되지 않습니다.
예: 주택
위와 동일한 41세, 1998년에 지어진 목조 주택, 재건축 비용 $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은 가격이 책정된 보장 A 대비 B/C/D 비율을 반영합니다. Mercury의 L는
위험 분해(화재, 물, 산불, 수수료)이고, AAA는 패키지 보험료를 제출합니다. 주거 구조 사실은 assumptions:/tighten_by:에 있습니다 — 여기서는 지붕 유형, 방호 등급, 깨끗한 손해 이력입니다.
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}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead
factors: f0=Deductible f1=Coverage A f2=Multiple Policy Discount (Automobile) f3=Personal Property Replacement Cost f4=Additional Replacement Cost f5=Ordinance or Law f6=Reduced Coverage Endorsement f7=Coverage E f8=Coverage F f9=Enhanced Home Package f10=Water Backup Limit f11=Other Perils Deductible (Table 5 relativity, additive) f12=Water Deductible (Table 5 relativity, additive) f13=Coverage A / Amount of Insurance Relativity (Table 5) f14=Package Discount (Exchange auto policy)
assumptions: [{"assumed":"Asphalt Shingle","field":"roof_type","high_impact":false},{"assumed":1,"field":"stories","high_impact":false},{"assumed":2,"field":"bathrooms","high_impact":false},{"assumed":1,"field":"families","high_impact":false},{"assumed":"Primary","field":"residency_type","high_impact":false},{"assumed":5,"field":"protection_class","high_impact":true},{"assumed":"Attached","field":"garage_type","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"home_losses","high_impact":true}]
tighten_by: protection_class,home_losses
C mercury|CALIFORNIA AUTOMOBILE INS CO|123.67
L P1_FIRE:34.69,P2_LIABILITY:6.39,P3_THEFT:6.40,P4_WIND:2.68,P5_WATER:61.56,P6_OTHER:3.57,P7_CAT_WIND:0.97,P10_CAT_WATER:0.04,P12_WILDFIRE:0.43,P13_FFEQ:1.36,WC_RESIDENCE_EMPLOYEES_910:0.67,FEE:3.75,FEE:1.16,FEE:0.01
F f0(1000)=0.95,,0.887,0.963,1.0,0.909,0.963,1.0,0.95,0.95,,,,
F f1(450000)=1.895,1.206,1.142,0.901,2.519,1.176,0.901,2.519,1.518,2.313,,,,
F f2(No)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f3(No)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f4(No)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f5(0.1)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f6(No)=1.0,,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f7(300000)=,1.5,,,,1.0,,,,,,,,
F f8(1000)=,1.5,,,,,,,,,,,,
F f9(No)=,,1.0,1.0,1.0,1.0,1.0,1.0,,,,,,
F f10(No)=,,,,1.0,,,1.0,,,,,,
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 Package:139.00,MedPayIL:0.00,LiabilityIL:2.08,BrushFire:0.00,FireFollowingEQ:3.42,FEE:1.60
F f11(1000)=0.393,,,,,
F f12(1000)=1.092,,,,,
F f13(450000)=1.485,,,,,
F f14(No)=1.0,,,,,
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
present: Lead with the best option for this user — its price and a one-line reason — then a comparison sorted cheapest-first (Carrier · Monthly · 6-month total; a markdown table when your surface renders it) and the annual dollar spread between cheapest and priciest — that spread is the reason to compare. These are Foresee's estimates of what each carrier will charge; the assumptions and tighten_by blocks say how they were made and how to sharpen them. Foresee never takes payment: when the user settles on a carrier (or asks to buy), give that carrier's carrier_quote_url as a clickable link — the purchase completes on the carrier's own quoting portal.
예: 임차인
같은 ZIP의 다른 가구: 27세 임차인:
{
"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}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead
factors: f0=Coverage C - Personal Property f1=Deductible f2=Coverage D - Loss of Use (% of C) f3=Additional Living Expense Term (months) f4=Contents Loss Settlement (ACV) f5=Enhanced Personal Property Coverage f6=Claims Free Discount f7=Multi-Policy Discount - Renter/auto f8=Multi-Policy Discount - Renter/life f9=Multi-Policy Discount - Renter/umbrella f10=Multi-Policy Discount - Renter/business f11=Multi-Policy Discount - Renter/boat f12=Multi-Policy Discount - Renter/motorhome f13=Multi-Policy Discount - Renter/recreational_vehicle f14=Multi-Policy Discount - Renter/cea f15=ZIP Code f16=Fireline Score f17=Experience Rating (points) f18=Coverage E - Personal Liability f19=Premises Rented to Others Solely Used as a Private Residence
assumptions: [{"assumed":2000,"field":"year_built","high_impact":false},{"assumed":5,"field":"protection_class","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"home_losses","high_impact":true}]
tighten_by: home_losses
not_priced: usaa:USAA sells only to military members, veterans, and their fam
C farmers|Fire Insurance Exchange|29.88
L PC1_PROPERTY:21.00,PC2_LIABILITY:8.17,FEE:0.42,FEE:0.30
F f0(30000)=1.087,,,
F f1(500)=1.0,,,
F f2(20)=1.0,,,
F f3(12)=1.0,,,
F f4(N)=1.0,,,
F f5(N)=1.0,,,
F f6(Y)=0.9,,,
F f7(N)=1.0,1.0,,
F f8(N)=1.0,1.0,,
F f9(N)=1.0,1.0,,
F f10(N)=1.0,1.0,,
F f11(N)=1.0,1.0,,
F f12(N)=1.0,1.0,,
F f13(N)=1.0,1.0,,
F f14(N)=1.0,1.0,,
F f15(90066)=1.423,,,
F f16(0)=1.0,,,
F f17(0)=1.0,,,
F f18(100000)=,1.0,,
F f19({})=,1.0,,
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
present: Lead with the best option for this user — its price and a one-line reason — then a comparison sorted cheapest-first (Carrier · Monthly · 6-month total; a markdown table when your surface renders it) and the annual dollar spread between cheapest and priciest — that spread is the reason to compare. These are Foresee's estimates of what each carrier will charge; the assumptions and tighten_by blocks say how they were made and how to sharpen them. Foresee never takes payment: when the user settles on a carrier (or asks to buy), give that carrier's carrier_quote_url as a clickable link — the purchase completes on the carrier's own quoting portal.
예: 자동차 + 임차인 번들
같은 27세 임차인, 이제 차량 보유. "incidents": []는 깨끗한 기록을 의미하므로 운전 기록 질문은 assumptions:을 완전히 건너뜁니다.
{
"profile": {
"zip_code": "90066",
"age": 27,
"incidents": [],
"prior_insurance": {"insured": true, "carrier": "GEICO", "since": "2019"},
"auto": {"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"]
}
이제 기록, 주행 거리, 보험 이력을 제공하므로 자동차 assumptions:는 5개 항목으로 줄어들고 tighten_by:는 2개로 줄어듭니다.
그러나 임차인 섹션은 자체 주거 구조 대체 값을 선언합니다; Mercury는 자동차만 가격을 책정합니다 — 단독, 번들
없음. Farmers는 둘 다 가격을 책정하며 20% 할인을 제공하고, 이는 B에 문서화됩니다.
동일한 요약이 structuredContent로 bundle: {farmers: {lines, bundle_total, standalone_total, savings}}으로 제공됩니다.
Q CA auto sel={"bi":"100/300","coll_deductible":500,"comp_deductible":500,"pd":100}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead ; B carrier|bundled $/mo|standalone $/mo|saves $/mo = this carrier priced the asked lines together; the per-line C prices ARE the bundled prices
factors: f0=BI Limit f1=Good Driver f2=Group Placement (Rule G) f3=PD Limit f4=UMBI Limit f5=Medical Payments Limit f6=Comprehensive Deductible f7=Collision Deductible f8=Business & Professional Group f9=UM Limit
assumptions: [{"assumed":"Male","field":"gender","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":null,"field":"homeowner","high_impact":false},{"assumed":null,"field":"occupation","high_impact":true},{"assumed":null,"field":"memberships","high_impact":true}]
tighten_by: occupation,memberships
C mercury|Mercury Insurance Company|289.94
L BI:66.80,PD:52.55,UMBI:17.38,MP:1.05,COMP:23.50,COLL:128.67
F f0(100/300)=1.51,,,,,
F f1(applied)=0.8
F f2(not applied)=1.0
F f3(100)=,1.38,,,,
F f4(30/60)=,,1.65,,,
F f5(1000)=,,,1.0,,
F f6(500)=,,,,0.89,
F f7(500)=,,,,,1.0
D bi 100/300=15/30 *available through December 31, 2024:-22.56,25/50 *available through December 31, 2024:-16.81,30/60 *available on or after January 1, 2025:-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=5:-18.28,10:-14.47,15:-11.04,25:-9.52,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,MED:13.33,COMP:34.00,COLL:133.17,FEE:2.50
F f0(100000/300000)=1.46,,,,,,,
F f1(applied)=0.8,0.8,0.8,0.8,0.8,0.8,0.8,
F f8(not applied)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,
F f3(100000)=,1.2674,,,,,,
F f9(30000/60000)=,,1.2788,,,,,
F f6(500)=,,,,,1.0009,,
F f7(500)=,,,,,,1.1986,
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}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead ; B carrier|bundled $/mo|standalone $/mo|saves $/mo = this carrier priced the asked lines together; the per-line C prices ARE the bundled prices
factors: f0=Coverage C - Personal Property f1=Deductible f2=Coverage D - Loss of Use (% of C) f3=Additional Living Expense Term (months) f4=Contents Loss Settlement (ACV) f5=Enhanced Personal Property Coverage f6=Claims Free Discount f7=Multi-Policy Discount - Renter/auto f8=Multi-Policy Discount - Renter/life f9=Multi-Policy Discount - Renter/umbrella f10=Multi-Policy Discount - Renter/business f11=Multi-Policy Discount - Renter/boat f12=Multi-Policy Discount - Renter/motorhome f13=Multi-Policy Discount - Renter/recreational_vehicle f14=Multi-Policy Discount - Renter/cea f15=ZIP Code f16=Fireline Score f17=Experience Rating (points) f18=Coverage E - Personal Liability f19=Premises Rented to Others Solely Used as a Private Residence
assumptions: [{"assumed":5,"field":"protection_class","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"home_losses","high_impact":true}]
tighten_by: home_losses
C farmers|Fire Insurance Exchange|24.06
L PC1_PROPERTY:16.80,PC2_LIABILITY:6.54,FEE:0.42,FEE:0.30
F f0(30000)=1.087,,,
F f1(500)=1.0,,,
F f2(20)=1.0,,,
F f3(12)=1.0,,,
F f4(N)=1.0,,,
F f5(N)=1.0,,,
F f6(Y)=0.9,,,
F f7(Y - Farmers)=0.8,0.8,,
F f8(N)=1.0,1.0,,
F f9(N)=1.0,1.0,,
F f10(N)=1.0,1.0,,
F f11(N)=1.0,1.0,,
F f12(N)=1.0,1.0,,
F f13(N)=1.0,1.0,,
F f14(N)=1.0,1.0,,
F f15(90066)=1.423,,,
F f16(0)=1.0,,,
F f17(0)=1.0,,,
F f18(100000)=,1.0,,
F f19({})=,1.0,,
D deductible 500=100:+4.71,250:+1.48,500:+0.00,1000:-2.09,1500:-3.43,2500:-5.38
D coverage_c 30000=4000:-13.06,10000:-9.56,17000:-5.72,23000:-3.10,29000:-0.47,30000:+0.00,31000:+0.41,37000:+3.03,43000:+5.66,49000:+8.29,55000:+10.91,62000:+13.94,68000:+16.57,74000:+19.19,81000:+22.22,87000:+24.85,93000:+27.48,100000:+30.51,106000:+33.14,112000:+35.76,118000:+38.39,125000:+41.42,131000:+44.05,137000:+46.67,144000:+49.70,150000:+52.33
D coverage_e 100000=100000:+0.00,300000:+2.62,500000:+4.45,1000000:+8.55
B farmers|422.06|427.88|5.82
present: Lead with the best option for this user — its price and a one-line reason — then a comparison sorted cheapest-first (Carrier · Monthly · 6-month total; a markdown table when your surface renders it) and the annual dollar spread between cheapest and priciest — that spread is the reason to compare. A B row's per-line prices assume every bundled line is placed with that carrier; for a cross-carrier mix, compare standalone totals. These are Foresee's estimates of what each carrier will charge; the assumptions and tighten_by blocks say how they were made and how to sharpen them. Foresee never takes payment: when the user settles on a carrier (or asks to buy), give that carrier's carrier_quote_url as a clickable link — the purchase completes on the carrier's own quoting portal.
도구 2: live_carrier_quotes
목적: 보험사 자체 견적 사이트에서 견적 추정치를 확인합니다.
이 도구는 멱등적입니다: 첫 번째 호출이 컴퓨터 사용 에이전트를 위임하고, 동일한 인수로 다시 호출하면 첫 번째 호출의 진행 상황과 결과를 수집합니다.
실시간 파견은 사용자의 실제 정보를 보험사에 제출하며, 보험사는 소프트 신용 조회를 수행할 수 있습니다. 도구가 호출되기 전에 사용자의 동의를 받습니다.
Foresee는 견적만 수집하며, 결제를 받거나 보험을 구속하지 않습니다.
입력 매개변수
| 매개변수 | 유형 | 필수 | 세부사항 |
|---|---|---|---|
profile | object | 예 | quote_insurance과 동일한 필드 — 요율 산정 사실 |
lines | object | 예 | 진행할 라인당 하나의 키, 각 값은 해당 라인의 요청 사항(아래 참조); 여러 키는 번들 진행을 위임 |
user_authorization | string | 예 | 사용자의 채팅 내 확인 문구, 그대로 (예: yes, go ahead) |
identity | object | 일반적으로 | 사용자의 세부정보. |
carriers | string[] | 아니요 | 범위를 제한; 기본값은 라인 + 주에 대해 검증된 진행이 있는 모든 보험사 |
lines
| 라인 | 요청(Ask) | 이유 |
|---|---|---|
auto | 필수 — quote_insurance과 동일한 4개 축 (bi, pd, coll_deductible, comp_deductible), 실제 숫자로 | 에이전트가 보험사 양식에 요청하는 한도 및 공제액 |
home | 없음 — {"home": null} | 보험사 자체 양식이 패키지 가격을 책정하며(재조달 비용 추정치의 주택 금액), 에이전트는 선택된 결과를 보고합니다. 제공된 요청은 조용히 무시되지 않고 명시적으로 거부됩니다 |
renters | 필수 — coverage_c, coverage_e, coverage_f, deductible, 실제 달러로 | 에이전트는 기본값을 수락하는 대신 사용자의 숫자를 양식에 입력합니다. Foresee는 이를 임의로 만들지 않습니다 |
여러 키를 동시에 커미션하면 번들 워크가 실행됩니다: 명명된 모든 라인을 인수하는 각 보험사는 자체 멀티라인 견적 흐름을 통해 진행되며 라인별 보험료와 자체 번들 합계를 보고합니다. 일부 라인만 인수하는 보험사는 해당 라인만으로 진행됩니다. 라인별 요청 규칙은 번들링에 의해 변경되지 않습니다.
identity
| 필드 | 유형 | 필수 | 세부 사항 |
|---|---|---|---|
first_name | string | 예 | 법적 이름 |
last_name | string | 예 | 법적 성 |
dob | string, YYYY-MM-DD | 예 | |
street | string | 예 | 도로명 주소(1행) |
unit | string | 아니요 | 아파트/호수(2행) |
city | string | 예 | |
zip_code | string | 아니요 | 프로필과 다를 때만 |
email | string | 예 | 보험사가 견적을 여기로 보냅니다 |
phone | string | 아니요 |
응답
| 필드 | 의미 |
|---|---|
status | in_progress / partial / complete — 동일한 인수로 다시 호출하여 수집 |
agents | 보험사별 항목 하나(아래 참조) |
note | 다음에 할 일(예: 재호출 시점 또는 이전 실행 결과가 반환되었는지 여부) |
authorization_recorded | 영수증 기준: 동의 기록은 보험사가 위험을 보기 전에 저장되었습니다 |
skipped | 파견되지 않은 보험사, 각각 이유 포함(no_deterministic_walk, missing_facts 및 명명된 사실) |
not_dispatched | 이번 파견에서 워크하지 않을 엔진 가격 책정 보험사, 이유 포함(held: …, no_walk, not_walked, offline, not_sold) — 워크 경로가 확인할 수 없는 권장 사항은 조용히 사라지지 않습니다 |
needs | missing_facts 거부 시: 사용자로부터 수집할 보험사별 사실, 정확한 스키마 경로 포함 — 그리고 폐쇄형 어휘 필드의 경우 허용된 values |
assumptions | 워크가 무신고 답변으로 해결한 주장되지 않은 사소한 양식 사실: 프로필 경로(field) 및 제출된 값(assumed) — 결과와 함께 모든 항목을 전달 |
confirmation | 보험사별: 즉시 엔진 추정치와 페이지에 인쇄된 보험료 비교 — 여러 라인이 워크된 경우 번들 추정치 |
error / detail | 모든 거부는 구조화된 {"error", "detail"} 사전입니다 |
각 agents 항목:
| 필드 | 시점 | 의미 |
|---|---|---|
carrier_key, carrier | 항상 | 명단 키 + 표시 이름 |
status | 항상 | in_progress / complete / failed |
lines | 항상 | 이 워크가 다루는 라인 — 번들 워크에서는 여러 개 |
stage, eta_seconds_remaining | 진행 중 | 워크 위치, 보험사의 일반적인 흐름 대비 남은 시간 |
quote.premium | 견적됨 | 보험사 페이지가 인쇄한 그대로("$857.80") — 구문 분석, 반올림 또는 파생되지 않음 |
quote.term_months | 견적됨 | 인쇄된 보험료가 적용되는 기간 |
quote.premium_by_line | 견적됨, 번들 워크 | 페이지가 인쇄한 각 라인의 보험료, quote.premium의 번들 합계 옆 |
quote.breakdown | 견적됨 | 페이지 자체의 라인 항목, 자체 라벨 |
quote.bound | 견적됨, 최신 워크 | 가격이 책정된 페이지에서 읽은 보장 — 양식이 실제로 바인딩한 것 vs 요청된 것 |
quote.variants | 견적됨 | 페이지가 제공한 추가 가격 책정 패키지 |
quote.quote_number | 견적됨 | 페이지에 표시될 때 보험사의 조회 번호 |
quote.evidence_recorded | 견적됨 | 스크린샷 증거가 서버 측에 존재함(내부 URI는 전선을 타지 않음) |
declined: true + detail | 거부됨 | 보험사가 세부 사항을 검토하고 견적을 거부했습니다. 오류가 아닌 답변 — 이를 전달하세요 |
detail | 실패 | 워크가 중지된 위치와 이유에 대한 자체 설명 |
거부
모든 거부는 구조화된 {"error", "detail"} 객체입니다. 아래 행이 달리 명시하지 않는 한
어떤 보험사에도 아무것도 제출되지 않았습니다.
| 코드 | 시점 | 조치 |
|---|---|---|
profile_required | 가구 사실이 최상위 수준에서 전송됨, profile 래퍼 없음 | 거부의 example_arguments에 표시된 대로 사실을 래핑하여 다시 호출 |
authorization_required | 사용자의 사전 동의 없이 호출됨 | 동의 사실을 설명하고, 예를 받아 user_authorization에 그대로 전달 |
bad_identity | drivers_license_number이 SSN 형태 | SSN은 절대 수집되지 않습니다. 면허증에 인쇄된 면허 번호를 보내세요 |
bad_profile | 프로필 필드가 검증 실패 | detail이 필드를 명명합니다 |
one_line_per_dispatch | 빈 lines 맵 | 워크할 라인을 하나 이상 지정하세요 |
unknown_line | 워크가 없는 라인(예: umbrella) | detail이 라이브 파견이 아는 라인을 나열합니다 |
coverage_selection_required | 전체 한도 및 공제액 없는 자동차 또는 임차인 워크 | 숫자로 다시 호출 — 워크는 실제 값을 입력하며 기본값을 사용하지 않습니다 |
bad_ask | 보장 요청이 주어진 주택 워크 | {"home": null}을 보내세요 — 보험사 자체 양식이 패키지 가격을 책정합니다 |
missing_facts | 요청된 보험사의 양식을 프로필에서 채울 수 없음 | 사용자에게 needs[].fields[] 사실을 요청하고(제공되는 경우 values 사용) 다시 호출 — 아래 참조 |
no_carriers | 해당 라인 + 주에 대해 검증된 워크가 있는 보험사 없음 | quote_insurance로 대체 |
launch_failed | 에이전트가 시작할 수 없음 | 어떤 보험사에도 도달하지 않음 — 재시도는 안전합니다 |
예: 자동차
GEICO 자체 번호를 확인하는 프레즈노 가구. 프로필에는 GEICO 양식이 요구하는
사실(소유권, 구매 시기, 이전 보험, 첫 면허 연령 등)이 포함되어 있습니다.
identity은 실제 신청자이며, 요청은 quote_insurance과 동일한 4개 축입니다.
{
"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."
}
동일한 인수로 나중에 다시 호출하면 완료된 워크를 수집합니다.
보험료는 페이지 자체 문자열입니다. breakdown은 페이지 자체 라벨입니다
(GEICO는 두 패키지를 나란히 인쇄했습니다). term_months은 숫자가
무엇을 다루는지 설명합니다 — $857.80 6개월당, 월이 아닙니다.
{
"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
}
}
]
}