Hutsenpiller Insurance: Tennessee Insurance Quotes
Server Details
Tennessee auto and home insurance quotes and reviews. Compares carriers; licensed agent reviews.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 13 tools
The auto/home workflow, flood and life flows, and supporting tools are generally easy to distinguish, with explicit sequencing in the descriptions. Minor ambiguity remains between generic tools such as get_quote_status and submit_quote and the line-specific flood/life flows, while check_eligibility and request_agent both mention insurance reviews as entry points.
Names consistently use readable snake_case and are predominantly action-oriented, with parallel start_ and get_ conventions across quote types. field_guide is the lone noun-based exception, and the singular get_flood_quote versus plural get_life_quotes is a small inconsistency, albeit one reflecting their different results.
Thirteen tools is well suited to a multi-line insurance quoting service with verification and agent handoff requirements. Schema discovery, VIN lookup, and contact verification each earn a place without creating a bloated or redundant surface.
The surface covers eligibility, consent and quote initiation, data collection, contact verification, submission, pricing/status retrieval, and purchase or human handoff. Flood and term life have dedicated end-to-end paths, while unsupported lines, failed quotes, and purchases can all proceed through request_agent, leaving no obvious workflow dead end.
Available Tools
13 toolscheck_eligibilityCheck quote eligibilityARead-onlyIdempotentInspect
Use this first when someone asks for a Tennessee car, home, flood or term life insurance quote, an insurance review, or to compare insurance companies. Checks whether a ZIP code is in the area Hutsenpiller Insurance quotes (Tennessee).
This is the first step of a quote. zip_code: the shopper's 5 digit home ZIP code.
lines: AUTO, HOME or both (default both); for flood or life send AUTO or omit it, then use
start_flood_quote or start_life_quote. Returns eligibility, the consent text the shopper
must read word for word and agree to before a quote starts, and a checklist of the details
a quote needs.| Name | Required | Description | Default |
|---|---|---|---|
| lines | No | ||
| zip_code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's added value is the disclosure that it returns eligibility, a consent text the shopper must read word for word and agree to, and a checklist of details a quote needs. That consent requirement is meaningful downstream behavior an agent would not otherwise know, though failure behavior for out-of-area ZIPs is only implied by "Returns eligibility".
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The routing condition is front-loaded in the first sentence and the parameter and return details follow logically. There is minor waste in the parenthetical restatement of Tennessee and an awkward line break mid-paragraph, but every sentence contributes actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must describe returns, and it does so concretely: eligibility, the consent text, and a checklist of quote details. Combined with the explicit next-step routing, an agent has everything needed to call this correctly and use the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden, and it does: zip_code is defined as the shopper's 5 digit home ZIP code, and lines is explained as AUTO, HOME or both (default both) with explicit handling for flood and life. The instruction "for flood or life send AUTO or omit it" is slightly counterintuitive and could confuse an agent choosing a value, which keeps this from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a specific verb and resource ("Checks whether a ZIP code is in the area Hutsenpiller Insurance quotes") with a concrete scope (Tennessee) and a stated role as the entry point for car, home, flood and term life quote requests. It is clearly distinguishable from siblings such as start_quote, start_flood_quote and get_quote_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says "Use this first" and "This is the first step of a quote", then routes the agent onward: for flood or life, send AUTO or omit it and use start_flood_quote or start_life_quote. That is explicit when-to-use plus named alternatives, leaving little to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
field_guideQuote field guideARead-onlyIdempotentInspect
Lists the fields and allowed values update_quote accepts for one section.
driver_history_codes maps accidents and tickets to codes: claims go in driverDetails.claims
(code, date, amountPaid) and tickets in driverDetails.violations (code, date).| Name | Required | Description | Default |
|---|---|---|---|
| section | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: it explains that driver_history_codes must be split into driverDetails.claims (code, date, amountPaid) and driverDetails.violations (code, date), which is real invocation guidance the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core purpose. The second paragraph is dense but each clause (which arrays, which subfields) earns its place as non-obvious mapping detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, single-parameter, read-only introspection tool with no output schema, the definition covers purpose, section semantics, and the trickiest mapping. It does not describe the shape of the returned field list, but that is a minor gap for this tool class.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter whose enum already enumerates the valid sections, and schema description coverage is 0%, so the description must carry meaning. It does: it clarifies that section selects the field set for update_quote and gives particular meaning to the most opaque enum value (driver_history_codes), though a few others (intake, address) stay undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Lists the fields and allowed values update_quote accepts") and scopes it to "one section", which distinguishes it from the sibling update_quote that it serves. An agent immediately knows this is a schema-introspection helper, not a mutation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description ties the tool to update_quote by name, which gives clear implied timing: consult this to learn field names and legal values before updating a quote. It stops short of explicit when-to-use/when-not phrasing or naming any alternative path, so it lands just under the top mark.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_flood_quoteGet the flood insurance estimateAInspect
Prices a verified flood estimate (first call) and returns it (later calls).
Returns the estimated annual premium, flood zone and what it means, whether lenders usually
require flood insurance there, and a notice that must be shown with the price: the estimate
comes from the flood carrier's test environment, is not an offer and cannot be bound online.
To buy, call request_agent with the quote_id.| Name | Required | Description | Default |
|---|---|---|---|
| quote_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, idempotentHint=false, and openWorldHint=true; the description adds important detail: the first call creates the price and later calls only return it, and the result comes from the flood carrier's test environment. It also states explicitly that the estimate is not an offer and cannot be bound online, and that it carries a mandatory disclosure notice. The non-idempotent, side-effecting behavior is disclosed rather than contradicted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The two paragraphs front-load the core behavior, and the later sentences list return contents, legal caveats, and the next step without filler. The phrase 'Prices a verified flood estimate (first call) and returns it (later calls)' is slightly awkward, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description fills that gap by naming the returned premium, flood zone interpretation, lender requirement, and disclosure notice. It also covers the compliance caveat and the next-step tool. The missing piece is the prerequisite chain: it does not say where quote_id originates or what errors occur on a first call against an unverified quote.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter is quote_id, and schema coverage is 0%, so the schema documents nothing beyond a bare string named 'Quote Id'. The description gives it meaning only indirectly, through the purchase handoff to request_agent with the quote_id, implying it is a stable quote identifier. It never states where the quote_id comes from, such as start_flood_quote or verify_contact, so it only partly compensates for the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: it prices a verified flood estimate and returns the premium, flood zone, lender requirement, and disclosure notice. That makes its job in the flood-quote flow far clearer than the sibling names alone. It never names start_flood_quote or get_quote_status, so the agent must infer the boundary with them, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Prices a verified flood estimate (first call) and returns it (later calls)' gives clear context: the call requires an already-verified quote. It also routes the agent explicitly for the purchase path with 'To buy, call request_agent with the quote_id.' It does not say when to choose this over start_flood_quote or get_quote_status, so the alternatives guidance is only partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_life_quotesGet term life insurance estimatesAInspect
Prices a verified term life estimate (first call) and returns it (later calls).
Returns the best monthly premium, how many carriers were compared, and up to 5 options with
monthly premium, AM Best rating and whether an exam is needed. Carrier names are shared by the
agent. Show the notice with the prices: estimates, not offers; final rates depend on underwriting.
To apply, call request_agent with the quote_id.| Name | Required | Description | Default |
|---|---|---|---|
| quote_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, and destructiveHint=false. The description adds context beyond that: the pricing call is cached, repeat calls return the stored estimate, a mandatory disclosure notice must accompany the prices, and carrier names come from the agent rather than the response. The phrase "Carrier names are shared by the agent" is ambiguous (does the tool omit them or does the agent supply them?), which is the main gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short front-loaded paragraphs: capability, return payload, then compliance and next step. Almost every sentence earns its place. The one low-value/ambiguous sentence is the carrier-name note, which adds confusion rather than clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of describing the response shape in detail, and it flags the legal notice requirement for a pricing tool. Given non-readonly, non-idempotent annotations, it would be stronger if it named the upstream tool that yields a valid quote_id and said what happens when the quote is not yet verified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter at 0% schema description coverage, so the description must carry the meaning. It tells the agent the quote_id refers to a verified estimate and that the same id is passed to request_agent to apply, which is genuinely useful. It never says where the quote_id originates (start_life_quote or verify_contact), leaving the parameter's provenance unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: "Prices a verified term life estimate" and enumerates exactly what comes back (best monthly premium, carrier count, up to 5 options with premium, AM Best rating, exam flag). The first-call/later-call distinction is a useful behavioral nuance. It stops short of naming the sibling that produces the verified quote (start_life_quote/verify_contact), so differentiation from get_quote_status and start_life_quote is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit next step and the sibling to use for it: "To apply, call request_agent with the quote_id." The prerequisite is implied by "verified" but not spelled out, and there is no guidance on when to use this versus get_quote_status or start_life_quote, so the agent must infer the entry point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quote_statusGet quote status and pricesARead-onlyIdempotentInspect
Returns a quote's status, what is missing, and the prices once ready: prices from multiple carriers cheapest first. Use it to answer "what would my insurance cost" or "am I overpaying".
Status values: collecting, queued, rating, needs_info, in_review, done, failed.
When done, results lists carriers cheapest first per line, a results_url for the shopper,
a disclaimer and, for home, a flood notice that belong with the prices.| Name | Required | Description | Default |
|---|---|---|---|
| quote_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the description is free to add the things annotations cannot: the full status lifecycle (collecting through failed), the fact that results only exist once done, and that home quotes include a flood notice. It omits what happens on an unknown quote_id, whether results persist or expire, and any rate/polling expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the return contract, then the status vocabulary, then result contents — a sensible order for a polling tool. The closing clause "that belong with the prices" is grammatically awkward and slightly obscures whether the flood notice is separate or bundled.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so reasonably: results ordering, results_url, disclaimer, and the conditional flood notice are all named. It is nearly complete for a simple one-parameter read tool, missing only terminal-state behavior (failed/needs_info payloads) and error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single quote_id parameter is never described — no format, no provenance (where the caller obtains it), no statement that an invalid id fails. The description only implies a quote is identified, leaving the one input's semantics entirely to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (returns a quote's status and prices) plus the extra payloads it carries (missing fields, per-carrier prices sorted cheapest first). Read-versus-write is unambiguous against siblings like start_quote, submit_quote, and update_quote, so an agent can route to it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete user-intent triggers ("what would my insurance cost", "am I overpaying"), which is stronger than most polling tools. It never states when not to call it (e.g., that it only works on an existing quote_id from start_quote/submit_quote) or that it should be polled while status is in a non-terminal state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_vehicleLook up a vehicleARead-onlyIdempotentInspect
Decodes a VIN, or walks the vehicle catalog for exact year, make, model and subModel values.
A VIN gives the most exact result. Without one, year lists makes, year+make lists models (model names include the trim, for example CR-V EXL), and year+make+model lists subModels.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | No | ||
| make | No | ||
| year | No | ||
| model | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this a read-only, idempotent, non-destructive, closed-world operation, so the safety profile needs no restating. The description adds genuinely useful behavior beyond that: the fallback mode is a progressive narrowing walk, and each step returns a different kind of value (model names carry the trim, for example CR-V EXL). It still does not say how an invalid VIN fails or what a successful VIN decode contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus a compact enumeration, with the strongest recommendation (use a VIN) front-loaded. Every clause conveys a distinct rule, and nothing is repeated from the annotations or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four optional parameters, no required fields, and no output schema, the definition covers enough for an agent to pick the right calling mode. The remaining hole is the empty-argument case and invalid-input behavior, which an agent might plausibly run into given that all parameters default to null.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden, and it does explain the meaning of vin, year, make, and model and how they combine incrementally. It leaves a few gaps, such as VIN format expectations or case handling for make and model, and it never mentions that subModel is a returned value rather than an input, which could momentarily confuse an agent reading the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it decodes a VIN or walks the vehicle catalog by year/make/model. That is concrete enough to distinguish it from the sibling tools, which are all quote- or eligibility-oriented, and an agent can tell at a glance that this tool resolves vehicles rather than pricing them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly recommends the VIN path as the most exact, then gives a clear rule for the fallback path (year lists makes, year+make lists models, year+make+model lists subModels). That is strong when-to-use guidance, but it doesn't say what happens when both a VIN and catalog fields are supplied, and it gives no explicit exclusion or error case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_agentRequest a licensed agentAInspect
Asks a licensed Hutsenpiller Insurance agent to contact the shopper. Use this when the user wants an insurance review of their current policies, to buy a quoted policy, or to talk to a person.
Covers buying a quoted policy, talking to a person, lines not quoted here (renters, condo,
commercial, umbrella), buying a flood policy, applying for term life, and quotes that could not
finish. Takes a quote_id when there is
one, otherwise a phone or email. Contact details must be ones the shopper agreed to share.| Name | Required | Description | Default |
|---|---|---|---|
| No | |||
| phone | No | ||
| message | No | ||
| quote_id | No | ||
| last_name | No | ||
| first_name | No | ||
| preferred_time | No | ||
| preferred_contact | No | call |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, open-world, non-idempotent but non-destructive action, so the safety profile is covered. The description adds a real constraint — contact details must be ones the shopper agreed to share — but says nothing about whether a lead/CRM record is created, whether repeated calls create duplicates (despite idempotentHint=false), or what happens after the request is filed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and easy to scan, with the purpose in the first clause. However the second sentence largely repeats the first ("buying a quoted policy, talking to a person" appear in both), and the awkward line break before "Covers buying a quoted policy" costs space without adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter, no-output-schema lead-capture tool, the description covers the routing decision well but leaves half the input surface unexplained and never says what a successful call produces. An agent could invoke it, but would be guessing on preferred_contact/preferred_time and on whether to pass names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description must carry the meaning and it only does so for three: quote_id, phone, and email, plus the vague rule 'takes a quote_id when there is one, otherwise a phone or email.' It never explains message, first_name, last_name, preferred_time format, or the preferred_contact enum (call/text/email).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Asks a licensed Hutsenpiller Insurance agent to contact the shopper") and enumerates the concrete scenarios it serves, including lines not quotable through the sibling quote tools. An agent can distinguish this from start_quote/submit_quote/get_quote_status without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use list (insurance review, buy a quoted policy, talk to a person, unquoted lines, flood, term life, abandoned quotes), which is unusually rich routing guidance. It stops short of naming alternatives or stating when not to use it (e.g. 'use verify_contact first', 'do not use for new quotes').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_flood_quoteStart a flood insurance estimateAInspect
Use this when someone asks about flood insurance or a flood quote for a Tennessee home. Starts a flood estimate and sends the shopper a 6 digit verification code.
Requires that check_eligibility returned eligible and that the shopper read the consent text
and agreed (consent_version from check_eligibility). building_coverage: dollars of coverage for
the structure, 20000 to 5000000 (the rebuild cost is a good guide; 250000 is the federal program
maximum many lenders ask for). contents_coverage: 0 to 1000000. The flood zone comes from the
address. After verify_contact, call get_flood_quote. Prices are estimates from a test environment
for now and cannot be bound online.| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | ||
| Yes | |||
| street | Yes | ||
| zip_code | Yes | ||
| last_name | Yes | ||
| verify_by | No | sms | |
| first_name | Yes | ||
| mobile_phone | Yes | ||
| assistant_name | No | ||
| consent_version | Yes | ||
| consent_accepted | Yes | ||
| building_coverage | Yes | ||
| contents_coverage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses two important behavioral facts: a verification code is dispatched to the shopper as a side effect, and prices come from a test environment and cannot be bound online. It also notes the flood zone is derived from the address rather than supplied. It stops short of saying what a repeat invocation does (annotations mark it non-idempotent), which would be the last piece of context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the trigger condition and the action, then moves to prerequisites and parameter detail in a logical order with no filler sentences. It is dense but every clause carries information; the only cost is that the parameter guidance is packed into one long paragraph that is slightly harder to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-step, 13-parameter mutation with no output schema, the description covers the prerequisites, the side effect, the coverage ranges, and the downstream tool to call. The remaining gaps are the verify_by channel choice and repeat-call behavior, which are moderate rather than blocking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 13 parameters, so the description has to carry the load, and it does for the non-obvious ones: building_coverage bounds (20000–5000000) with guidance on using rebuild cost and the 250000 federal maximum, contents_coverage bounds (0–1000000), and the origin of consent_version. Names, address, and contact fields are self-evident, but verify_by (sms/email) and assistant_name are never mentioned despite being agent-selectable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ('Starts a flood estimate') and adds a concrete effect ('sends the shopper a 6 digit verification code'). The opening line scopes it to Tennessee flood quotes, which cleanly separates it from start_life_quote, start_quote, and get_flood_quote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the triggering user intent and both hard prerequisites: check_eligibility must have returned eligible, and the shopper must have read the consent text and agreed with the consent_version from that call. It also gives forward sequencing ('After verify_contact, call get_flood_quote'), so the agent knows where this sits in the flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_life_quoteStart a term life insurance estimateAInspect
Use this when someone in Tennessee asks about term life insurance or a life insurance quote. Starts a term life estimate across many carriers and sends the shopper a 6 digit code.
Term life only (ages 18 to 85). Requires the consent text from check_eligibility, read and
agreed. date_of_birth is YYYY-MM-DD. death_benefit: 25000 to 10000000 dollars. health_class is
the shopper's own estimate: 1 excellent health (preferred plus), 2 very good (preferred),
3 good (standard plus), 4 average (standard). After verify_contact, call get_life_quotes.
Prices are estimates, not offers. To apply, use request_agent.| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| gender | Yes | ||
| tobacco | Yes | ||
| last_name | Yes | ||
| verify_by | No | sms | |
| first_name | Yes | ||
| term_years | Yes | ||
| health_class | Yes | ||
| mobile_phone | Yes | ||
| date_of_birth | Yes | ||
| death_benefit | Yes | ||
| assistant_name | No | ||
| consent_version | Yes | ||
| consent_accepted | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, open-world, non-idempotent but non-destructive write, so the description's job is to add context — and it does: it discloses the outbound SMS/email code side effect and that returned prices are estimates, not offers. It stops short of saying whether repeat calls create duplicate shoppers or what the response body contains, which is the remaining behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the trigger sentence, then constraints, then the workflow, so an agent can stop reading early and still call correctly. It is dense — three constraints are packed into one run-on line about term life/consent/DOB format — but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-required-parameter mutation with no output schema, the description supplies the eligibility prerequisite, the consent requirement, value ranges and the next-step chain, which is most of what an agent needs. It does not describe what the call returns (e.g., whether the code, a shopper id, or a status comes back) or how verify_by affects delivery, leaving a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the load and does real work: YYYY-MM-DD for date_of_birth, the $25,000–$10,000,000 death_benefit range, and especially the 1–4 health_class meaning mapping that the bare enum cannot convey. It leaves verify_by (sms vs email) and assistant_name unexplained, so coverage is strong but not complete across 14 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('starts a term life quote / estimate'), scopes it to term life only, and distinguishes it from siblings by noting it is for life insurance rather than the flood/other flows. The 6-digit verification-code side effect further pins down what the call actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('when someone in Tennessee asks about term life insurance'), hard exclusions ('Term life only, ages 18 to 85'), a prerequisite (consent text from check_eligibility), and the follow-on sequence ('After verify_contact, call get_life_quotes'; 'To apply, use request_agent'). Alternatives are named rather than left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_quoteStart a quoteAInspect
Starts a Tennessee auto and/or home insurance quote that compares multiple carriers, and sends the shopper a 6 digit verification code.
Requires that check_eligibility returned eligible and that the shopper read the consent text
and agreed: consent_accepted must be true and consent_version must be the version
check_eligibility returned. Dates are YYYY-MM-DD. desired_start_date is when the new policy
should begin (default about 18 days out; carriers quote up to 45 days ahead). verify_by is how
the code is sent. assistant_name is the name of the calling assistant, used for attribution only.
Returns a quote_id for every later call and the list of details still missing.| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | ||
| unit | No | ||
| Yes | |||
| lines | Yes | ||
| street | Yes | ||
| zip_code | Yes | ||
| last_name | Yes | ||
| verify_by | No | sms | |
| first_name | Yes | ||
| mobile_phone | Yes | ||
| date_of_birth | No | ||
| assistant_name | No | ||
| consent_version | Yes | ||
| consent_accepted | Yes | ||
| years_at_address | No | ||
| desired_start_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (which already flag non-read-only and open-world), the description discloses the verification-code send, the attribution-only nature of assistant_name, the 18-day default and 45-day carrier horizon for desired_start_date, and the return of a quote_id plus remaining missing details. It doesn't mention whether a repeat call creates a duplicate quote despite idempotentHint=false, which is the main remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and effect, then preconditions, then per-parameter notes. Every sentence carries information, though the second paragraph is a dense run of field notes that could be broken out slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter, 10-required mutation with no output schema, the description covers the return contract and the consent prerequisites well, but leaves multiple rating-relevant fields (date_of_birth, years_at_address, unit) unexplained, so an agent can't confidently populate the full payload from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It adds real meaning for consent_accepted, consent_version, desired_start_date, verify_by, and assistant_name, but says nothing about lines (AUTO/HOME enum), date_of_birth, years_at_address, unit, or the address/contact fields — roughly half the parameters remain semantically bare.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource — 'Starts a Tennessee auto and/or home insurance quote that compares multiple carriers' — and adds a concrete side effect (sending a 6-digit verification code). It is clearly distinguishable from siblings like start_flood_quote, start_life_quote, and check_eligibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Preconditions are explicit: check_eligibility must have returned eligible, the shopper must have read and agreed to the consent text, and consent_accepted/consent_version must reflect that version. However, it never explicitly says to use start_flood_quote/start_life_quote for other lines, leaving the sibling routing to be inferred from 'Tennessee auto and/or home'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_quoteSubmit a quote for pricingAInspect
Sends a complete, verified quote to the carriers for pricing.
Accepted only when nothing is missing and the contact is verified. Pricing usually takes
1 to 3 minutes; get_quote_status reports progress. When the agency is busy the quote waits
in line and the status says so.| Name | Required | Description | Default |
|---|---|---|---|
| quote_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=false and openWorldHint=true already supplied, the description adds real operational context: gating preconditions, a 1-3 minute processing window, and queueing behavior when the agency is busy. It does not warn against duplicate submissions, which matters given idempotentHint=false and would be the one missing behavioral fact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The gating condition is front-loaded in the first sentence, and the remaining sentences handle latency and queueing without filler. Four short sentences, each carrying information, though the queueing note is arguably a minor detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, non-destructive submission tool with no output schema, the description covers the gating rules, expected duration, and status-tracking path. The notable gap is the unaddressed quote_id origin and what a successful submission returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter, quote_id, has 0% schema description coverage and the description never mentions it. Since coverage is below 50%, the description should explain what a quote_id is and where the agent obtains one (presumably from start_quote), but it provides no parameter meaning at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a concrete verb and object ('Sends a complete, verified quote to the carriers for pricing'), placing the tool at the final submission stage of the quote flow. This implicitly separates it from start_quote (creation) and update_quote (modification), and it explicitly names get_quote_status as the follow-up tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The precondition for use is stated explicitly: 'Accepted only when nothing is missing and the contact is verified.' The alternative for tracking progress is named directly ('get_quote_status reports progress'), so the agent knows both when to call this and where to go afterward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_quoteUpdate quote detailsAInspect
Adds or changes details on a quote. Objects merge; lists replace whole.
data uses these keys (field_guide lists every accepted field and value):
- applicants: list of every person in the household. Exactly one has relationToInsured INSURED.
Each needs firstName, lastName, dateOfBirth, sex, maritalStatus; drivers also need isDriver true
and driverDetails.licenseState. Lists replace whole, so always resend everyone.
- auto: residenceType, priorInsurance, vehicles (list; each needs a vin, or year+make+model+subModel
from lookup_vehicle, plus ownershipStatus, primaryUse, annualMileage).
- home: coverage.dwellingCoverage (estimated rebuild cost in dollars), property (yearBuilt,
squareFootage, constructionType, roofMaterial, roofUpdateYear, ...), utilities, underwriting, claims.
- Top level: dateOfBirth, lengthAtCurrentAddress, email, phone, primaryAddress.
Coverage limits are set by the agency and cannot be sent here.
Returns a short summary of what is on file and the remaining missing items.| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| quote_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare that this tool mutates state (readOnlyHint=false) and is not idempotent, and the description adds the operational detail an agent actually needs: objects merge while lists replace whole, so the entire applicants list must be resent or data will be lost. It also states that coverage limits cannot be set through this call and describes the return value, which is context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the most consequential rule (merge-versus-replace semantics) and then organized into scannable bullets by domain. It is dense but nearly every clause carries operational weight; the '...,' ellipses in the home property list are the only slightly loose element.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a complex nested free-form payload, no schema descriptions, and no output schema, the definition covers the critical structures, destructive merge behavior, and the shape of the response. It stops short of a full field enumeration, but it delegates that to field_guide by name, which is a reasonable completeness strategy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage and uses a bare free-form 'data' object, so the description must carry the entire burden, and it does. It enumerates the applicant, auto, home, and top-level key structures, including required sub-fields such as relationToInsured INSURED, driverDetails.licenseState, and the vehicle identification rules, and it points to field_guide and lookup_vehicle for lookups.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Adds or changes details on a quote.' An agent can distinguish this from write-type siblings like submit_quote or start_quote because the scope of 'details' is clear. However, the description never names a sibling or explicitly states how it differs from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives per-field guidance, such as 'always resend everyone', and one exclusion: 'Coverage limits are set by the agency and cannot be sent here.' It does not say when to call this tool instead of start_quote, submit_quote, or get_quote_status, so the agent must infer the workflow position from the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_contactVerify the shopper's contactAInspect
Checks the 6 digit code the shopper received, or sends a new one.
code verifies the contact. resend=true (with an optional channel) sends a fresh code. A quote cannot be submitted until the contact is verified.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | ||
| resend | No | ||
| channel | No | sms | |
| quote_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare mutation (readOnlyHint=false), non-idempotence, and open-world external delivery; the description adds the meaningful business rule that submission is blocked until verification. It says nothing about what happens on an incorrect or expired code, error responses, or rate limits on resends, which matter for a non-idempotent send operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the two modes, then the mode-selection detail, then the gating constraint — no wasted framing. The sentence 'code verifies the contact' mildly restates the opening clause rather than adding new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter mutation tool with no output schema, the description covers modes, the key precondition, and the code format. Gaps remain on failure behavior and on `quote_id` semantics, but an agent can call this correctly in the common path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load; it partly does, explaining the expected shape of `code` (6 digit) and the behavior triggered by `resend` plus `channel`. It never mentions `quote_id`, and it omits the channel default of sms and what channel applies when verifying a code.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Checks the 6 digit code', 'sends a fresh one') and clearly covers both modes of the tool. It is distinguishable from siblings like submit_quote by the verification gate, though it doesn't name any sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains how to select each mode ('code verifies the contact', 'resend=true ... sends a fresh code') and gives the precondition that a quote cannot be submitted until verification. Missing an explicit statement of when not to call it or which quote states require it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
13 tool updates
- First observed
check_eligibility - First observed
field_guide - First observed
get_flood_quote - First observed
get_life_quotes - First observed
get_quote_status - First observed
lookup_vehicle - First observed
request_agent - First observed
start_flood_quote - First observed
start_life_quote - First observed
start_quote - First observed
submit_quote - First observed
update_quote - First observed
verify_contact
Related MCP Connectors
Compare car insurance quotes from top carriers and buy online with The Zebra, the comparison site.
Let AI assistants shop for home and auto insurance: compare quote estimates across every carrier.
Georgia's published auto insurance averages. Not a quote; we are not licensed here yet.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to get real home & auto insurance quotes and start binding through a network of licensed independent agencies.2Apache 2.0
- FlicenseNot gradedqualityNot gradedmaintenanceProvides tools for motor insurance quoting, including vehicle lookups, postcode risk assessments, and premium calculations. It enables users to generate and compare car insurance quotes through natural language interactions.-
- AlicenseNot gradedqualityBmaintenanceEnables querying Tennessee DMV driver service center locations with per-location service capabilities and impaired driving crash data for 2022.139 npmMIT
- AlicenseAqualityDmaintenanceEnables insurance policy analysis, risk assessment, and policy comparison with support for multiple editions (Lite free, Solo and Pro paid).41MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.