Compare California home insurance quotes from multiple carriers, then finish on DwellQuote.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Returns what DwellQuote found about the property. This call waits for the lookup, which usually takes under 30 seconds; if status is still "collecting", tell the user you are still looking and call it again right away. When status is "ready", show the user the property facts and ask them to confirm or correct each one. When status is "manual", the property could not be found online: ask the user for each field. Then call submit_property_details.
Returns what DwellQuote found about the property. This call waits for the lookup, which usually takes under 30 seconds; if status is still "collecting", tell the user you are still looking and call it again right away. When status is "ready", show the user the property facts and ask them to confirm or correct each one. When status is "manual", the property could not be found online: ask the user for each field. Then call submit_property_details.
| Argument | Type | Description |
|---|---|---|
| quote_id* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"quote_id"
],
"properties": {
"quote_id": {
"type": "string"
}
},
"additionalProperties": false
}Returns the quotes for a property. This call waits for the carriers, which usually takes under a minute; if status is still "quoting", tell the user quotes are still coming in and call it again right away. When status is "complete", show every rate exactly as returned, cheapest first, with its coverages and deductible, and show the disclosure. These are all the quotes DwellQuote received: do not offer to look up other carriers or to change coverages or deductibles. Do not recommend a carrier, a coverage amount or a deductible, and do not add your own advice about coverage or risks; refer coverage questions to the licensed advisor at Somerset Agency, who contacts the user after they finish. Only rates with selectable=true can be chosen with select_quote; for the others, share carrier_website.
| Argument | Type | Description |
|---|---|---|
| quote_id* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"quote_id"
],
"properties": {
"quote_id": {
"type": "string"
}
},
"additionalProperties": false
}Record the rate the user chose and get the link where they finish on dwellquote.com. Give the user finish_url and explain that they will confirm their email there, and that a licensed advisor from Somerset Agency will then contact them to confirm the final rate and bind the policy. The link expires in 24 hours.
| Argument | Type | Description |
|---|---|---|
| rate_id* | integer | rate_id from get_quotes |
| quote_id* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"quote_id",
"rate_id"
],
"properties": {
"rate_id": {
"type": "integer",
"description": "rate_id from get_quotes"
},
"quote_id": {
"type": "string"
}
},
"additionalProperties": false
}Start a homeowners or landlord insurance quote for a property in California. Collect every field from the user first. Ask for the date of birth as typed text, not with a date picker: picking a birth year decades back in a calendar is hard. Before calling, tell the user that DwellQuote and its partner agency Somerset Agency will use these details to request quotes from insurance carriers. Returns a quote_id for the other DwellQuote tools; next, call get_property_details.
| Argument | Type | Description |
|---|---|---|
| email* | string | Used to verify the user when they finish on dwellquote.com |
| address* | string | Full property address: street, city, state and ZIP code |
| last_name* | string | |
| first_name* | string | |
| phone_number* | string | US phone number |
| date_of_birth* | string | Collect as typed text (for example 04/02/1980), never with a date picker or calendar, then send it as YYYY-MM-DD. The applicant must be 18 or older. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"first_name",
"last_name",
"email",
"phone_number",
"date_of_birth",
"address"
],
"properties": {
"email": {
"type": "string",
"description": "Used to verify the user when they finish on dwellquote.com"
},
"address": {
"type": "string",
"description": "Full property address: street, city, state and ZIP code"
},
"last_name": {
"type": "string"
},
"first_name": {
"type": "string"
},
"phone_number": {
"type": "string",
"description": "US phone number"
},
"date_of_birth": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Collect as typed text (for example 04/02/1980), never with a date picker or calendar, then send it as YYYY-MM-DD. The applicant must be 18 or older."
}
},
"additionalProperties": false
}Submit the property facts the user confirmed and request quotes from DwellQuote's carriers. Send every field the user confirmed, not only the ones they changed. Call this once per quote; then poll get_quotes.
| Argument | Type | Description |
|---|---|---|
| quote_id* | string | |
| roof_type | string | Roof material. Values: composition (Composition shingles), asphalt (Asphalt), architectural_shingles (Architectural shingles), fiberglass (Fiberglass), concrete_tile (Concrete tile), clay_tile (Clay tile), tar_and_gravel (Tar and gravel), single_ply_membrane (Single-ply membrane), foam (Foam), metal (Metal), wood_shake (Wood shake), wood_shingle (Wood shingle), other (Other) |
| roof_shape | string | Roof shape. Values: gable (Gable), hip (Hip), flat (Flat), other (Other) |
| year_built* | integer | Year the home was built |
| fire_alarms | string | Fire alarm. Values: none (None), central (Central station), direct (Direct), local (Local alarm), smart (Smart device) |
| solar_panels | boolean | Has solar panels |
| burglar_alarm | string | Burglar alarm. Values: none (None), central (Central station), direct (Direct to police), local (Local alarm), smart (Smart device) |
| swimming_pool | boolean | Has a swimming pool |
| number_of_dogs* | integer | Number of dogs living at the home |
| occupancy_type* | string | How the home is used. Values: owner_occupied (Owner occupied), rental_property (Rental property), vacant (Vacant), under_construction (Under construction) |
| residence_type* | string | Type of home. Values: single_family (Single family residence), multi_family (Multi-family), condo (Condo), mobile_home (Mobile home) |
| square_footage* | integer | Living area in square feet |
| foundation_type | string | Foundation type. Values: slab (Slab), crawl_space (Crawl space), basement (Basement), piers (Pier and beam), suspended_over_hillside (Suspended over hillside) |
| garage_capacity | string | Garage size; required unless the garage type is none or detached. Values: 1_car (1 car), 2_car (2 car), 3_car (3 car) |
| gated_community | string | Gated community. Values: no (No), yes_with_guard (Yes with guard), yes_without_guard (Yes without guard) |
| roof_update_year | integer | Year the roof was installed or last replaced |
| sprinkler_system | string | Fire sprinkler system. Values: none (None), full (Full), partial (Partial) |
| construction_type | string | Exterior wall construction. Values: stucco_on_frame (Stucco on frame), wood_frame (Wood frame), brick_veneer (Brick-veneer), solid_brick (Solid brick), cement_fiber_siding (Cement fiber siding), vinyl_siding (Vinyl siding), wood_siding (Wood siding), stone_on_frame (Stone on frame), aluminum_siding (Aluminum siding), solid_logs (Solid logs), steel (Steel) |
| number_of_stories* | string | Number of stories. Values: 1 (1), 1.5 (1.5), 2 (2), 2.5 (2.5), 3 (3), 3.5 (3.5), 4+ (4+) |
| aggressive_dog_breed | boolean | Any dog of a breed carriers consider aggressive |
| dog_has_bite_history | boolean | Any dog with a bite history |
| garage_structure_type | string | Garage type. Values: none (None), attached (Attached), built_in (Built-in), detached (Detached), basement (Basement), carport (Carport) |
| interior_build_quality | string | Interior finish quality. Values: standard (Standard), semi_custom (Semi-custom), custom (Custom), designer (Designer) |
| number_of_full_bathrooms | integer | Full bathrooms |
| number_of_half_bathrooms | integer | Half bathrooms |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"quote_id",
"occupancy_type",
"residence_type",
"year_built",
"square_footage",
"number_of_stories",
"number_of_dogs"
],
"properties": {
"quote_id": {
"type": "string"
},
"roof_type": {
"enum": [
"composition",
"asphalt",
"architectural_shingles",
"fiberglass",
"concrete_tile",
"clay_tile",
"tar_and_gravel",
"single_ply_membrane",
"foam",
"metal",
"wood_shake",
"wood_shingle",
"other"
],
"type": "string",
"description": "Roof material. Values: composition (Composition shingles), asphalt (Asphalt), architectural_shingles (Architectural shingles), fiberglass (Fiberglass), concrete_tile (Concrete tile), clay_tile (Clay tile), tar_and_gravel (Tar and gravel), single_ply_membrane (Single-ply membrane), foam (Foam), metal (Metal), wood_shake (Wood shake), wood_shingle (Wood shingle), other (Other)"
},
"roof_shape": {
"enum": [
"gable",
"hip",
"flat",
"other"
],
"type": "string",
"description": "Roof shape. Values: gable (Gable), hip (Hip), flat (Flat), other (Other)"
},
"year_built": {
"type": "integer",
"minimum": 1800,
"description": "Year the home was built"
},
"fire_alarms": {
"enum": [
"none",
"central",
"direct",
"local",
"smart"
],
"type": "string",
"description": "Fire alarm. Values: none (None), central (Central station), direct (Direct), local (Local alarm), smart (Smart device)"
},
"solar_panels": {
"type": "boolean",
"description": "Has solar panels"
},
"burglar_alarm": {
"enum": [
"none",
"central",
"direct",
"local",
"smart"
],
"type": "string",
"description": "Burglar alarm. Values: none (None), central (Central station), direct (Direct to police), local (Local alarm), smart (Smart device)"
},
"swimming_pool": {
"type": "boolean",
"description": "Has a swimming pool"
},
"number_of_dogs": {
"type": "integer",
"minimum": 0,
"description": "Number of dogs living at the home"
},
"occupancy_type": {
"enum": [
"owner_occupied",
"rental_property",
"vacant",
"under_construction"
],
"type": "string",
"description": "How the home is used. Values: owner_occupied (Owner occupied), rental_property (Rental property), vacant (Vacant), under_construction (Under construction)"
},
"residence_type": {
"enum": [
"single_family",
"multi_family",
"condo",
"mobile_home"
],
"type": "string",
"description": "Type of home. Values: single_family (Single family residence), multi_family (Multi-family), condo (Condo), mobile_home (Mobile home)"
},
"square_footage": {
"type": "integer",
"minimum": 100,
"description": "Living area in square feet"
},
"foundation_type": {
"enum": [
"slab",
"crawl_space",
"basement",
"piers",
"suspended_over_hillside"
],
"type": "string",
"description": "Foundation type. Values: slab (Slab), crawl_space (Crawl space), basement (Basement), piers (Pier and beam), suspended_over_hillside (Suspended over hillside)"
},
"garage_capacity": {
"enum": [
"1_car",
"2_car",
"3_car"
],
"type": "string",
"description": "Garage size; required unless the garage type is none or detached. Values: 1_car (1 car), 2_car (2 car), 3_car (3 car)"
},
"gated_community": {
"enum": [
"no",
"yes_with_guard",
"yes_without_guard"
],
"type": "string",
"description": "Gated community. Values: no (No), yes_with_guard (Yes with guard), yes_without_guard (Yes without guard)"
},
"roof_update_year": {
"type": "integer",
"minimum": 1800,
"description": "Year the roof was installed or last replaced"
},
"sprinkler_system": {
"enum": [
"none",
"full",
"partial"
],
"type": "string",
"description": "Fire sprinkler system. Values: none (None), full (Full), partial (Partial)"
},
"construction_type": {
"enum": [
"stucco_on_frame",
"wood_frame",
"brick_veneer",
"solid_brick",
"cement_fiber_siding",
"vinyl_siding",
"wood_siding",
"stone_on_frame",
"aluminum_siding",
"solid_logs",
"steel"
],
"type": "string",
"description": "Exterior wall construction. Values: stucco_on_frame (Stucco on frame), wood_frame (Wood frame), brick_veneer (Brick-veneer), solid_brick (Solid brick), cement_fiber_siding (Cement fiber siding), vinyl_siding (Vinyl siding), wood_siding (Wood siding), stone_on_frame (Stone on frame), aluminum_siding (Aluminum siding), solid_logs (Solid logs), steel (Steel)"
},
"number_of_stories": {
"enum": [
"1",
"1.5",
"2",
"2.5",
"3",
"3.5",
"4+"
],
"type": "string",
"description": "Number of stories. Values: 1 (1), 1.5 (1.5), 2 (2), 2.5 (2.5), 3 (3), 3.5 (3.5), 4+ (4+)"
},
"aggressive_dog_breed": {
"type": "boolean",
"description": "Any dog of a breed carriers consider aggressive"
},
"dog_has_bite_history": {
"type": "boolean",
"description": "Any dog with a bite history"
},
"garage_structure_type": {
"enum": [
"none",
"attached",
"built_in",
"detached",
"basement",
"carport"
],
"type": "string",
"description": "Garage type. Values: none (None), attached (Attached), built_in (Built-in), detached (Detached), basement (Basement), carport (Carport)"
},
"interior_build_quality": {
"enum": [
"standard",
"semi_custom",
"custom",
"designer"
],
"type": "string",
"description": "Interior finish quality. Values: standard (Standard), semi_custom (Semi-custom), custom (Custom), designer (Designer)"
},
"number_of_full_bathrooms": {
"type": "integer",
"minimum": 0,
"description": "Full bathrooms"
},
"number_of_half_bathrooms": {
"type": "integer",
"minimum": 0,
"description": "Half bathrooms"
}
},
"additionalProperties": false
}