DwellQuote MCP
An MCP server that allows AI agents to compare homeowners and landlord insurance quotes from multiple carriers for California properties. The agent can start a quote, retrieve and submit property details, and select a quote, though the final purchase verification must be completed by the consumer on the website.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://www.dwellquote.com/mcpWhat you can do with it
- Compare homeowners insurance quotes from multiple carriers
- Retrieve property details for insurance estimation
- Submit property details to generate quotes
- Select a preferred insurance quote
Source and maintenance
Protocol and capabilities
- Server
- dwellquote 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 5 advertised
- Resources
- 0 advertised
- Resource templates
- 0 advertised
- Prompts
- 0 advertised
{
"tools": {
"listChanged": true
},
"logging": {},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
5 advertised
start_quote — Start a home insurance quote
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.
{
"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
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}get_property_details — Get 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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"quote_id"
],
"properties": {
"quote_id": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}submit_property_details — Submit property details and request quotes
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.
{
"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
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}get_quotes — Get insurance quotes
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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"quote_id"
],
"properties": {
"quote_id": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}select_quote — Choose a quote
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.
{
"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
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
0 advertised
Resources
0 advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 397 ms
- 95th percentile latency
- 397 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 397 ms · metadata changed · 5 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http dwellquote-mcp https://www.dwellquote.com/mcpCodex
codex mcp add dwellquote-mcp --url https://www.dwellquote.com/mcpCursor
{
"mcpServers": {
"dwellquote-mcp": {
"url": "https://www.dwellquote.com/mcp"
}
}
}Cline
{
"mcpServers": {
"dwellquote-mcp": {
"type": "streamableHttp",
"url": "https://www.dwellquote.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"dwellquote-mcp": {
"type": "http",
"url": "https://www.dwellquote.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http dwellquote-mcp https://www.dwellquote.com/mcpClaude Desktop
{
"mcpServers": {
"dwellquote-mcp": {
"url": "https://www.dwellquote.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"dwellquote-mcp": {
"serverUrl": "https://www.dwellquote.com/mcp"
}
}
}Let your agent find its tools
Find servers like DwellQuote MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other payments servers
Do you run DwellQuote MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.