DwellQuote

Compare California home insurance quotes from multiple carriers, then finish on DwellQuote.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
89%
命名质量
96%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,268token 数(工具定义)
~3.8 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.77%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "home-insurance-quotes": {
      "url": "https://www.dwellquote.com/mcp"
    }
  }
}

远程端点

https://www.dwellquote.com/mcpstreamable-http

它能做什么

工具清单

工具(5)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢start_quote(first_name, last_name, email, phone_number, date_of_birth, ...)

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",
  "properties": {
    "first_name": {
      "type": "string"
    },
    "last_name": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "description": "Used to verify the user when they finish on dwellquote.com"
    },
    "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."
    },
    "address": {
      "type": "string",
      "description": "Full property address: street, city, state and ZIP code"
    }
  },
  "required": [
    "first_name",
    "last_name",
    "email",
    "phone_number",
    "date_of_birth",
    "address"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_property_details(quote_id)

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",
  "properties": {
    "quote_id": {
      "type": "string"
    }
  },
  "required": [
    "quote_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡submit_property_details(quote_id, occupancy_type, residence_type, year_built, square_footage, ...)

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",
  "properties": {
    "quote_id": {
      "type": "string"
    },
    "occupancy_type": {
      "type": "string",
      "enum": [
        "owner_occupied",
        "rental_property",
        "vacant",
        "under_construction"
      ],
      "description": "How the home is used. Values: owner_occupied (Owner occupied), rental_property (Rental property), vacant (Vacant), under_construction (Under construction)"
    },
    "residence_type": {
      "type": "string",
      "enum": [
        "single_family",
        "multi_family",
        "condo",
        "mobile_home"
      ],
      "description": "Type of home. Values: single_family (Single family residence), multi_family (Multi-family), condo (Condo), mobile_home (Mobile home)"
    },
    "year_built": {
      "type": "integer",
      "minimum": 1800,
      "description": "Year the home was built"
    },
    "square_footage": {
      "type": "integer",
      "minimum": 100,
      "description": "Living area in square feet"
    },
    "number_of_stories": {
      "type": "string",
      "enum": [
        "1",
        "1.5",
        "2",
        "2.5",
        "3",
        "3.5",
        "4+"
      ],
      "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+)"
    },
    "construction_type": {
      "type": "string",
      "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"
      ],
      "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)"
    },
    "roof_type": {
      "type": "string",
      "enum": [
        "composition",
        "asphalt",
        "architectural_shingles",
        "fiberglass",
        "concrete_tile",
        "clay_tile",
        "tar_and_gravel",
        "single_ply_membrane",
        "foam",
        "metal",
        "wood_shake",
        "wood_shingle",
        "other"
      ],
      "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": {
      "type": "string",
      "enum": [
        "gable",
        "hip",
        "flat",
        "other"
      ],
      "description": "Roof shape. Values: gable (Gable), hip (Hip), flat (Flat), other (Other)"
    },
    "roof_update_year": {
      "type": "integer",
      "minimum": 1800,
      "description": "Year the roof was installed or last replaced"
    },
    "foundation_type": {
      "type": "string",
      "enum": [
        "slab",
        "crawl_space",
        "basement",
        "piers",
        "suspended_over_hillside"
      ],
      "description": "Foundation type. Values: slab (Slab), crawl_space (Crawl space), basement (Basement), piers (Pier and beam), suspended_over_hillside (Suspended over hillside)"
    },
    "number_of_full_bathrooms": {
      "type": "integer",
      "minimum": 0,
      "description": "Full bathrooms"
    },
    "number_of_half_bathrooms": {
      "type": "integer",
      "minimum": 0,
      "description": "Half bathrooms"
    },
    "interior_build_quality": {
      "type": "string",
      "enum": [
        "standard",
        "semi_custom",
        "custom",
        "designer"
      ],
      "description": "Interior finish quality. Values: standard (Standard), semi_custom (Semi-custom), custom (Custom), designer (Designer)"
    },
    "garage_structure_type": {
      "type": "string",
      "enum": [
        "none",
        "attached",
        "built_in",
        "detached",
        "basement",
        "carport"
      ],
      "description": "Garage type. Values: none (None), attached (Attached), built_in (Built-in), detached (Detached), basement (Basement), carport (Carport)"
    },
    "garage_capacity": {
      "type": "string",
      "enum": [
        "1_car",
        "2_car",
        "3_car"
      ],
      "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)"
    },
    "burglar_alarm": {
      "type": "string",
      "enum": [
        "none",
        "central",
        "direct",
        "local",
        "smart"
      ],
      "description": "Burglar alarm. Values: none (None), central (Central station), direct (Direct to police), local (Local alarm), smart (Smart device)"
    },
    "fire_alarms": {
      "type": "string",
      "enum": [
        "none",
        "central",
        "direct",
        "local",
        "smart"
      ],
      "description": "Fire alarm. Values: none (None), central (Central station), direct (Direct), local (Local alarm), smart (Smart device)"
    },
    "sprinkler_system": {
      "type": "string",
      "enum": [
        "none",
        "full",
        "partial"
      ],
      "description": "Fire sprinkler system. Values: none (None), full (Full), partial (Partial)"
    },
    "gated_community": {
      "type": "string",
      "enum": [
        "no",
        "yes_with_guard",
        "yes_without_guard"
      ],
      "description": "Gated community. Values: no (No), yes_with_guard (Yes with guard), yes_without_guard (Yes without guard)"
    },
    "swimming_pool": {
      "type": "boolean",
      "description": "Has a swimming pool"
    },
    "solar_panels": {
      "type": "boolean",
      "description": "Has solar panels"
    },
    "number_of_dogs": {
      "type": "integer",
      "minimum": 0,
      "description": "Number of dogs living at the home"
    },
    "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"
    }
  },
  "required": [
    "quote_id",
    "occupancy_type",
    "residence_type",
    "year_built",
    "square_footage",
    "number_of_stories",
    "number_of_dogs"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_quotes(quote_id)

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",
  "properties": {
    "quote_id": {
      "type": "string"
    }
  },
  "required": [
    "quote_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢select_quote(quote_id, rate_id)

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",
  "properties": {
    "quote_id": {
      "type": "string"
    },
    "rate_id": {
      "type": "integer",
      "description": "rate_id from get_quotes"
    }
  },
  "required": [
    "quote_id",
    "rate_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本5 个工具